From 9c209fe6e4ae35c374c3e0b1d97b0a71c8f1160b Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 3 Apr 2023 11:19:05 +0200
Subject: [PATCH] [chore]: Bump modernc.org/sqlite from 1.21.0 to 1.21.1
 (#1669)

Bumps [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) from 1.21.0 to 1.21.1.
- [Release notes](https://gitlab.com/cznic/sqlite/tags)
- [Commits](https://gitlab.com/cznic/sqlite/compare/v1.21.0...v1.21.1)

---
updated-dependencies:
- dependency-name: modernc.org/sqlite
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
 go.mod                                        |    2 +-
 go.sum                                        |    4 +-
 vendor/modernc.org/sqlite/doc.go              |   24 +-
 vendor/modernc.org/sqlite/generator.go        |    8 +-
 .../sqlite/lib/capi_darwin_amd64.go           |    2 +-
 .../sqlite/lib/capi_darwin_arm64.go           |    2 +-
 .../sqlite/lib/capi_freebsd_386.go            |    2 +-
 .../sqlite/lib/capi_freebsd_amd64.go          |    2 +-
 .../sqlite/lib/capi_freebsd_arm.go            |    2 +-
 .../sqlite/lib/capi_freebsd_arm64.go          |    2 +-
 .../modernc.org/sqlite/lib/capi_linux_386.go  |    2 +-
 .../sqlite/lib/capi_linux_amd64.go            |    2 +-
 .../modernc.org/sqlite/lib/capi_linux_arm.go  |    2 +-
 .../sqlite/lib/capi_linux_arm64.go            |    2 +-
 .../sqlite/lib/capi_linux_ppc64le.go          |    2 +-
 .../sqlite/lib/capi_linux_riscv64.go          |    2 +-
 .../sqlite/lib/capi_linux_s390x.go            |    2 +-
 .../sqlite/lib/capi_openbsd_amd64.go          |    2 +-
 .../sqlite/lib/capi_openbsd_arm64.go          |    2 +-
 .../sqlite/lib/capi_windows_amd64.go          |    2 +-
 .../sqlite/lib/capi_windows_arm64.go          |    2 +-
 .../sqlite/lib/sqlite_darwin_amd64.go         | 2884 ++++++++--------
 .../sqlite/lib/sqlite_darwin_arm64.go         | 2884 ++++++++--------
 .../sqlite/lib/sqlite_freebsd_386.go          | 2868 ++++++++--------
 .../sqlite/lib/sqlite_freebsd_amd64.go        | 2870 ++++++++--------
 .../sqlite/lib/sqlite_freebsd_arm.go          | 2871 ++++++++--------
 .../sqlite/lib/sqlite_freebsd_arm64.go        | 2870 ++++++++--------
 .../sqlite/lib/sqlite_linux_386.go            | 2868 ++++++++--------
 .../sqlite/lib/sqlite_linux_amd64.go          | 2870 ++++++++--------
 .../sqlite/lib/sqlite_linux_arm.go            | 2871 ++++++++--------
 .../sqlite/lib/sqlite_linux_arm64.go          | 2870 ++++++++--------
 .../sqlite/lib/sqlite_linux_ppc64le.go        | 2870 ++++++++--------
 .../sqlite/lib/sqlite_linux_riscv64.go        | 2870 ++++++++--------
 .../sqlite/lib/sqlite_linux_s390x.go          | 2870 ++++++++--------
 .../sqlite/lib/sqlite_openbsd_amd64.go        | 2860 ++++++++--------
 .../sqlite/lib/sqlite_openbsd_arm64.go        | 2860 ++++++++--------
 .../sqlite/lib/sqlite_windows_amd64.go        | 2900 +++++++++--------
 .../sqlite/lib/sqlite_windows_arm64.go        | 2900 +++++++++--------
 vendor/modules.txt                            |    2 +-
 39 files changed, 24959 insertions(+), 23971 deletions(-)

diff --git a/go.mod b/go.mod
index 33013e10..b6d1269a 100644
--- a/go.mod
+++ b/go.mod
@@ -61,7 +61,7 @@ require (
 	golang.org/x/text v0.8.0
 	gopkg.in/mcuadros/go-syslog.v2 v2.3.0
 	gopkg.in/yaml.v3 v3.0.1
-	modernc.org/sqlite v1.21.0
+	modernc.org/sqlite v1.21.1
 	mvdan.cc/xurls/v2 v2.4.0
 )
 
diff --git a/go.sum b/go.sum
index 5063ce68..eebac066 100644
--- a/go.sum
+++ b/go.sum
@@ -1062,8 +1062,8 @@ modernc.org/memory v1.5.0 h1:N+/8c5rE6EqugZwHii4IFsaJ7MUhoWX07J5tC/iI5Ds=
 modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
 modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4=
 modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
-modernc.org/sqlite v1.21.0 h1:4aP4MdUf15i3R3M2mx6Q90WHKz3nZLoz96zlB6tNdow=
-modernc.org/sqlite v1.21.0/go.mod h1:XwQ0wZPIh1iKb5mkvCJ3szzbhk+tykC8ZWqTRTgYRwI=
+modernc.org/sqlite v1.21.1 h1:GyDFqNnESLOhwwDRaHGdp2jKLDzpyT/rNLglX3ZkMSU=
+modernc.org/sqlite v1.21.1/go.mod h1:XwQ0wZPIh1iKb5mkvCJ3szzbhk+tykC8ZWqTRTgYRwI=
 modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY=
 modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw=
 modernc.org/tcl v1.15.1 h1:mOQwiEK4p7HruMZcwKTZPw/aqtGM4aY00uzWhlKKYws=
diff --git a/vendor/modernc.org/sqlite/doc.go b/vendor/modernc.org/sqlite/doc.go
index 121810ce..61a9ce53 100644
--- a/vendor/modernc.org/sqlite/doc.go
+++ b/vendor/modernc.org/sqlite/doc.go
@@ -19,18 +19,18 @@
 //
 //	OS      Arch    SQLite version
 //	------------------------------
-//	darwin	amd64   3.41.0
-//	darwin	arm64   3.41.0
-//	freebsd	amd64   3.41.0
-//	freebsd	arm64   3.41.0
-//	linux	386     3.41.0
-//	linux	amd64   3.41.0
-//	linux	arm     3.41.0
-//	linux	arm64   3.41.0
-//	linux	ppc64le 3.41.0
-//	linux	riscv64 3.41.0
-//	windows	amd64   3.41.0
-//	windows	arm64   3.41.0
+//	darwin	amd64   3.41.2
+//	darwin	arm64   3.41.2
+//	freebsd	amd64   3.41.2
+//	freebsd	arm64   3.41.2
+//	linux	386     3.41.2
+//	linux	amd64   3.41.2
+//	linux	arm     3.41.2
+//	linux	arm64   3.41.2
+//	linux	ppc64le 3.41.2
+//	linux	riscv64 3.41.2
+//	windows	amd64   3.41.2
+//	windows	arm64   3.41.2
 //
 // Builders
 //
diff --git a/vendor/modernc.org/sqlite/generator.go b/vendor/modernc.org/sqlite/generator.go
index cd6437ca..5646cd08 100644
--- a/vendor/modernc.org/sqlite/generator.go
+++ b/vendor/modernc.org/sqlite/generator.go
@@ -269,12 +269,12 @@ var (
 		sz       int
 		dev      bool
 	}{
-		{sqliteDir, "https://www.sqlite.org/2023/sqlite-amalgamation-3410000.zip", 2457, false},
-		{sqliteSrcDir, "https://www.sqlite.org/2023/sqlite-src-3410000.zip", 12814, false},
+		{sqliteDir, "https://www.sqlite.org/2023/sqlite-amalgamation-3410200.zip", 2457, false},
+		{sqliteSrcDir, "https://www.sqlite.org/2023/sqlite-src-3410200.zip", 12814, false},
 	}
 
-	sqliteDir    = filepath.FromSlash("testdata/sqlite-amalgamation-3410000")
-	sqliteSrcDir = filepath.FromSlash("testdata/sqlite-src-3410000")
+	sqliteDir    = filepath.FromSlash("testdata/sqlite-amalgamation-3410200")
+	sqliteSrcDir = filepath.FromSlash("testdata/sqlite-src-3410200")
 )
 
 func download() {
diff --git a/vendor/modernc.org/sqlite/lib/capi_darwin_amd64.go b/vendor/modernc.org/sqlite/lib/capi_darwin_amd64.go
index 367cb141..5f0ef280 100644
--- a/vendor/modernc.org/sqlite/lib/capi_darwin_amd64.go
+++ b/vendor/modernc.org/sqlite/lib/capi_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_darwin_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_darwin_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT.
 
 package sqlite3
 
diff --git a/vendor/modernc.org/sqlite/lib/capi_darwin_arm64.go b/vendor/modernc.org/sqlite/lib/capi_darwin_arm64.go
index 5b22e931..67713480 100644
--- a/vendor/modernc.org/sqlite/lib/capi_darwin_arm64.go
+++ b/vendor/modernc.org/sqlite/lib/capi_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_darwin_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_darwin_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT.
 
 package sqlite3
 
diff --git a/vendor/modernc.org/sqlite/lib/capi_freebsd_386.go b/vendor/modernc.org/sqlite/lib/capi_freebsd_386.go
index 420a5353..9709afe9 100644
--- a/vendor/modernc.org/sqlite/lib/capi_freebsd_386.go
+++ b/vendor/modernc.org/sqlite/lib/capi_freebsd_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_freebsd_386.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_freebsd_386.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
diff --git a/vendor/modernc.org/sqlite/lib/capi_freebsd_amd64.go b/vendor/modernc.org/sqlite/lib/capi_freebsd_amd64.go
index 4cd04252..637ab4d4 100644
--- a/vendor/modernc.org/sqlite/lib/capi_freebsd_amd64.go
+++ b/vendor/modernc.org/sqlite/lib/capi_freebsd_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_freebsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_freebsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
diff --git a/vendor/modernc.org/sqlite/lib/capi_freebsd_arm.go b/vendor/modernc.org/sqlite/lib/capi_freebsd_arm.go
index cd59687d..e89bc2f7 100644
--- a/vendor/modernc.org/sqlite/lib/capi_freebsd_arm.go
+++ b/vendor/modernc.org/sqlite/lib/capi_freebsd_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_freebsd_arm.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_freebsd_arm.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
diff --git a/vendor/modernc.org/sqlite/lib/capi_freebsd_arm64.go b/vendor/modernc.org/sqlite/lib/capi_freebsd_arm64.go
index 4cd04252..637ab4d4 100644
--- a/vendor/modernc.org/sqlite/lib/capi_freebsd_arm64.go
+++ b/vendor/modernc.org/sqlite/lib/capi_freebsd_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_freebsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_freebsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
diff --git a/vendor/modernc.org/sqlite/lib/capi_linux_386.go b/vendor/modernc.org/sqlite/lib/capi_linux_386.go
index bb0fd5e8..de296e81 100644
--- a/vendor/modernc.org/sqlite/lib/capi_linux_386.go
+++ b/vendor/modernc.org/sqlite/lib/capi_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_386.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_386.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
diff --git a/vendor/modernc.org/sqlite/lib/capi_linux_amd64.go b/vendor/modernc.org/sqlite/lib/capi_linux_amd64.go
index ef86ef7f..94c33093 100644
--- a/vendor/modernc.org/sqlite/lib/capi_linux_amd64.go
+++ b/vendor/modernc.org/sqlite/lib/capi_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
diff --git a/vendor/modernc.org/sqlite/lib/capi_linux_arm.go b/vendor/modernc.org/sqlite/lib/capi_linux_arm.go
index e7e52e78..8b777cbf 100644
--- a/vendor/modernc.org/sqlite/lib/capi_linux_arm.go
+++ b/vendor/modernc.org/sqlite/lib/capi_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_arm.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_arm.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
diff --git a/vendor/modernc.org/sqlite/lib/capi_linux_arm64.go b/vendor/modernc.org/sqlite/lib/capi_linux_arm64.go
index 98b1031f..6e9dde66 100644
--- a/vendor/modernc.org/sqlite/lib/capi_linux_arm64.go
+++ b/vendor/modernc.org/sqlite/lib/capi_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
diff --git a/vendor/modernc.org/sqlite/lib/capi_linux_ppc64le.go b/vendor/modernc.org/sqlite/lib/capi_linux_ppc64le.go
index 0b4e2e1a..1d90e660 100644
--- a/vendor/modernc.org/sqlite/lib/capi_linux_ppc64le.go
+++ b/vendor/modernc.org/sqlite/lib/capi_linux_ppc64le.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_ppc64le.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_ppc64le.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
diff --git a/vendor/modernc.org/sqlite/lib/capi_linux_riscv64.go b/vendor/modernc.org/sqlite/lib/capi_linux_riscv64.go
index eaded130..ba061611 100644
--- a/vendor/modernc.org/sqlite/lib/capi_linux_riscv64.go
+++ b/vendor/modernc.org/sqlite/lib/capi_linux_riscv64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_riscv64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_riscv64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
diff --git a/vendor/modernc.org/sqlite/lib/capi_linux_s390x.go b/vendor/modernc.org/sqlite/lib/capi_linux_s390x.go
index 4a6842a2..6a59641b 100644
--- a/vendor/modernc.org/sqlite/lib/capi_linux_s390x.go
+++ b/vendor/modernc.org/sqlite/lib/capi_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_s390x.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_s390x.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
diff --git a/vendor/modernc.org/sqlite/lib/capi_openbsd_amd64.go b/vendor/modernc.org/sqlite/lib/capi_openbsd_amd64.go
index 64643835..1c334875 100644
--- a/vendor/modernc.org/sqlite/lib/capi_openbsd_amd64.go
+++ b/vendor/modernc.org/sqlite/lib/capi_openbsd_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_openbsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_openbsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
diff --git a/vendor/modernc.org/sqlite/lib/capi_openbsd_arm64.go b/vendor/modernc.org/sqlite/lib/capi_openbsd_arm64.go
index 3e0fb802..269b2956 100644
--- a/vendor/modernc.org/sqlite/lib/capi_openbsd_arm64.go
+++ b/vendor/modernc.org/sqlite/lib/capi_openbsd_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_openbsd_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_openbsd_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
diff --git a/vendor/modernc.org/sqlite/lib/capi_windows_amd64.go b/vendor/modernc.org/sqlite/lib/capi_windows_amd64.go
index 068f7ca1..e071d366 100644
--- a/vendor/modernc.org/sqlite/lib/capi_windows_amd64.go
+++ b/vendor/modernc.org/sqlite/lib/capi_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_windows_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_windows_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT.
 
 package sqlite3
 
diff --git a/vendor/modernc.org/sqlite/lib/capi_windows_arm64.go b/vendor/modernc.org/sqlite/lib/capi_windows_arm64.go
index 068f7ca1..e071d366 100644
--- a/vendor/modernc.org/sqlite/lib/capi_windows_arm64.go
+++ b/vendor/modernc.org/sqlite/lib/capi_windows_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_windows_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines  -export-enums  -export-externs X -export-fields F -export-typedefs  -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_windows_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT.
 
 package sqlite3
 
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_darwin_amd64.go b/vendor/modernc.org/sqlite/lib/sqlite_darwin_amd64.go
index be1a6768..704af47f 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_darwin_amd64.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_darwin_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_darwin_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_darwin_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT.
 
 package sqlite3
 
@@ -1203,11 +1203,11 @@ const (
 	NC_OrderAgg                                   = 0x8000000
 	NC_PartIdx                                    = 0x000002
 	NC_SelfRef                                    = 0x00002e
+	NC_Subquery                                   = 0x000040
 	NC_UAggInfo                                   = 0x000100
 	NC_UBaseReg                                   = 0x000400
 	NC_UEList                                     = 0x000080
 	NC_UUpsert                                    = 0x000200
-	NC_VarSelect                                  = 0x000040
 	NDEBUG                                        = 1
 	NFSV2_MAX_FH_SIZE                             = 32
 	NFSV3_MAX_FH_SIZE                             = 64
@@ -2537,7 +2537,7 @@ const (
 	SQLITE_SHM_UNLOCK                             = 1
 	SQLITE_SORTER_PMASZ                           = 250
 	SQLITE_SOUNDEX                                = 1
-	SQLITE_SOURCE_ID                              = "2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d"
+	SQLITE_SOURCE_ID                              = "2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da"
 	SQLITE_SO_ASC                                 = 0
 	SQLITE_SO_DESC                                = 1
 	SQLITE_SO_UNDEFINED                           = -1
@@ -2645,8 +2645,8 @@ const (
 	SQLITE_UTF8                                   = 1
 	SQLITE_VDBEINT_H                              = 0
 	SQLITE_VDBE_H                                 = 0
-	SQLITE_VERSION                                = "3.41.0"
-	SQLITE_VERSION_NUMBER                         = 3041000
+	SQLITE_VERSION                                = "3.41.2"
+	SQLITE_VERSION_NUMBER                         = 3041002
 	SQLITE_VTABRISK_High                          = 2
 	SQLITE_VTABRISK_Low                           = 0
 	SQLITE_VTABRISK_Normal                        = 1
@@ -8736,7 +8736,8 @@ type IndexedExpr1 = struct {
 	FiIdxCur       int32
 	FiIdxCol       int32
 	FbMaybeNullRow U8
-	F__ccgo_pad1   [3]byte
+	Faff           U8
+	F__ccgo_pad1   [2]byte
 	FpIENext       uintptr
 }
 
@@ -9378,17 +9379,18 @@ type Pager = Pager1
 
 // Handle type for pages.
 type PgHdr2 = struct {
-	FpPage      uintptr
-	FpData      uintptr
-	FpExtra     uintptr
-	FpCache     uintptr
-	FpDirty     uintptr
-	FpPager     uintptr
-	Fpgno       Pgno
-	Fflags      U16
-	FnRef       I16
-	FpDirtyNext uintptr
-	FpDirtyPrev uintptr
+	FpPage       uintptr
+	FpData       uintptr
+	FpExtra      uintptr
+	FpCache      uintptr
+	FpDirty      uintptr
+	FpPager      uintptr
+	Fpgno        Pgno
+	Fflags       U16
+	F__ccgo_pad1 [2]byte
+	FnRef        I64
+	FpDirtyNext  uintptr
+	FpDirtyPrev  uintptr
 }
 
 // Handle type for pages.
@@ -9609,14 +9611,14 @@ type PCache2 = struct {
 	FpDirty      uintptr
 	FpDirtyTail  uintptr
 	FpSynced     uintptr
-	FnRefSum     int32
+	FnRefSum     I64
 	FszCache     int32
 	FszSpill     int32
 	FszPage      int32
 	FszExtra     int32
 	FbPurgeable  U8
 	FeCreate     U8
-	F__ccgo_pad1 [2]byte
+	F__ccgo_pad1 [6]byte
 	FxStress     uintptr
 	FpStress     uintptr
 	FpCache      uintptr
@@ -10423,7 +10425,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
 	_ = pMutex
 
 	if op < 0 || op >= int32(uint64(unsafe.Sizeof([10]Sqlite3StatValueType{}))/uint64(unsafe.Sizeof(Sqlite3StatValueType(0)))) {
-		return Xsqlite3MisuseError(tls, 23229)
+		return Xsqlite3MisuseError(tls, 23233)
 	}
 	if statMutex[op] != 0 {
 		pMutex = Xsqlite3Pcache1Mutex(tls)
@@ -19809,7 +19811,7 @@ func closePendingFds(tls *libc.TLS, pFile uintptr) {
 
 	for p = (*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused; p != 0; p = pNext {
 		pNext = (*UnixUnusedFd)(unsafe.Pointer(p)).FpNext
-		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38271)
+		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38275)
 		Xsqlite3_free(tls, p)
 	}
 	(*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused = uintptr(0)
@@ -20354,7 +20356,7 @@ func closeUnixFile(tls *libc.TLS, id uintptr) int32 {
 	var pFile uintptr = id
 	unixUnmapfile(tls, pFile)
 	if (*UnixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
-		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39055)
+		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39059)
 		(*UnixFile)(unsafe.Pointer(pFile)).Fh = -1
 	}
 
@@ -21121,7 +21123,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 {
 	if fd >= 0 {
 		return SQLITE_OK
 	}
-	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40676), ts+3371, bp+8, 40676)
+	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40680), ts+3371, bp+8, 40680)
 }
 
 func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
@@ -21138,14 +21140,14 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
 
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3661, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40717)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3661, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40721)
 	}
 
 	if int32((*UnixFile)(unsafe.Pointer(pFile)).FctrlFlags)&UNIXFILE_DIRSYNC != 0 {
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, bp)
 		if rc == SQLITE_OK {
 			full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0)
-			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40731)
+			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40735)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -21165,7 +21167,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 {
 	rc = robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte)
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40762)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40766)
 	} else {
 		if nByte < (*UnixFile)(unsafe.Pointer(pFile)).FmmapSize {
 			(*UnixFile)(unsafe.Pointer(pFile)).FmmapSize = nByte
@@ -21233,7 +21235,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 {
 		if (*UnixFile)(unsafe.Pointer(pFile)).FszChunk <= 0 {
 			if robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte) != 0 {
 				storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
-				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40883)
+				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40887)
 			}
 		}
 
@@ -21467,7 +21469,7 @@ func unixShmPurge(tls *libc.TLS, pFd uintptr) {
 		}
 		Xsqlite3_free(tls, (*UnixShmNode)(unsafe.Pointer(p)).FapRegion)
 		if (*UnixShmNode)(unsafe.Pointer(p)).FhShm >= 0 {
-			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41442)
+			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41446)
 			(*UnixShmNode)(unsafe.Pointer(p)).FhShm = -1
 		}
 		(*UnixInodeInfo)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0)
@@ -21495,7 +21497,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32
 			rc = unixShmSystemLock(tls, pDbFd, F_WRLCK, (22+SQLITE_SHM_NLOCK)*4+SQLITE_SHM_NLOCK, 1)
 
 			if rc == SQLITE_OK && robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3290, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41499)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3290, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41503)
 			}
 		}
 	} else if int32((*flock)(unsafe.Pointer(bp+8)).Fl_type) == F_WRLCK {
@@ -21594,7 +21596,7 @@ __8:
 	if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) {
 		goto __10
 	}
-	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41624), ts+3254, zShm, 41624)
+	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41628), ts+3254, zShm, 41628)
 	goto shm_open_err
 __10:
 	;
@@ -21724,7 +21726,7 @@ __11:
 		goto __14
 	}
 	zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3325, zFile, 41768)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3325, zFile, 41772)
 	goto shmpage_out
 __14:
 	;
@@ -21770,7 +21772,7 @@ __16:
 	if !(pMem == libc.UintptrFromInt32(-1)) {
 		goto __20
 	}
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3412, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41795)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3412, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41799)
 	goto shmpage_out
 __20:
 	;
@@ -22009,7 +22011,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) {
 	if pNew == libc.UintptrFromInt32(-1) {
 		pNew = uintptr(0)
 		nNew = int64(0)
-		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42169)
+		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42173)
 
 		(*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeMax = int64(0)
 	}
@@ -22236,7 +22238,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 		unixEnterMutex(tls)
 		rc = findInodeInfo(tls, pNew, pNew+16)
 		if rc != SQLITE_OK {
-			robust_close(tls, pNew, h, 42672)
+			robust_close(tls, pNew, h, 42676)
 			h = -1
 		}
 		unixLeaveMutex(tls)
@@ -22253,7 +22255,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 			rc = findInodeInfo(tls, pNew, pNew+16)
 			if rc != SQLITE_OK {
 				Xsqlite3_free(tls, (*UnixFile)(unsafe.Pointer(pNew)).FlockingContext)
-				robust_close(tls, pNew, h, 42698)
+				robust_close(tls, pNew, h, 42702)
 				h = -1
 			}
 			unixLeaveMutex(tls)
@@ -22275,7 +22277,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 	storeLastErrno(tls, pNew, 0)
 	if rc != SQLITE_OK {
 		if h >= 0 {
-			robust_close(tls, pNew, h, 42757)
+			robust_close(tls, pNew, h, 42761)
 		}
 	} else {
 		(*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle
@@ -22595,7 +22597,7 @@ __15:
 	if !(fd < 0) {
 		goto __19
 	}
-	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43198), ts+3254, zName, 43198)
+	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43202), ts+3254, zName, 43202)
 	if !(rc == SQLITE_OK) {
 		goto __20
 	}
@@ -22639,7 +22641,7 @@ __25:
 		goto __26
 	}
 	storeLastErrno(tls, p, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
-	robust_close(tls, p, fd, 43252)
+	robust_close(tls, p, fd, 43256)
 	return SQLITE_IOERR | int32(13)<<8
 __26:
 	;
@@ -22747,7 +22749,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		if *(*int32)(unsafe.Pointer(libc.X__error(tls))) == ENOENT {
 			rc = SQLITE_IOERR | int32(23)<<8
 		} else {
-			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3364, zPath, 43337)
+			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3364, zPath, 43341)
 		}
 		return rc
 	}
@@ -22755,9 +22757,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, zPath, bp)
 		if rc == SQLITE_OK {
 			if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3860, zPath, 43347)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3860, zPath, 43351)
 			}
-			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43349)
+			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43353)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -22821,18 +22823,18 @@ func appendOnePathElement(tls *libc.TLS, pPath uintptr, zName uintptr, nName int
 		zIn = (*DbPath)(unsafe.Pointer(pPath)).FzOut
 		if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8)))(tls, zIn, bp) != 0 {
 			if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != ENOENT {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43443), ts+3452, zIn, 43443)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43447), ts+3452, zIn, 43447)
 			}
 		} else if int32((*stat)(unsafe.Pointer(bp)).Fst_mode)&S_IFMT == S_IFLNK {
 			var got Ssize_t
 
 			if libc.PostIncInt32(&(*DbPath)(unsafe.Pointer(pPath)).FnSymlink, 1) > SQLITE_MAX_SYMLINK {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43449)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43453)
 				return
 			}
 			got = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls, zIn, bp+144, uint64(unsafe.Sizeof([1026]int8{}))-uint64(2))
 			if got <= int64(0) || got >= Ssize_t(unsafe.Sizeof([1026]int8{}))-int64(2) {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43454), ts+3443, zIn, 43454)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43458), ts+3443, zIn, 43458)
 				return
 			}
 			*(*int8)(unsafe.Pointer(bp + 144 + uintptr(got))) = int8(0)
@@ -22872,14 +22874,14 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO
 	(*DbPath)(unsafe.Pointer(bp + 1032)).FzOut = zOut
 	if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' {
 		if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, bp, uint64(unsafe.Sizeof([1026]int8{}))-uint64(2)) == uintptr(0) {
-			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43512), ts+3272, zPath, 43512)
+			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43516), ts+3272, zPath, 43516)
 		}
 		appendAllPathElements(tls, bp+1032, bp)
 	}
 	appendAllPathElements(tls, bp+1032, zPath)
 	*(*int8)(unsafe.Pointer(zOut + uintptr((*DbPath)(unsafe.Pointer(bp+1032)).FnUsed))) = int8(0)
 	if (*DbPath)(unsafe.Pointer(bp+1032)).Frc != 0 || (*DbPath)(unsafe.Pointer(bp+1032)).FnUsed < 2 {
-		return Xsqlite3CantopenError(tls, 43518)
+		return Xsqlite3CantopenError(tls, 43522)
 	}
 	if (*DbPath)(unsafe.Pointer(bp+1032)).FnSymlink != 0 {
 		return SQLITE_OK | int32(2)<<8
@@ -22954,7 +22956,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in
 			for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__error(tls))) == EINTR {
 				got = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*24 + 8)))(tls, fd, zBuf, uint64(nBuf)))
 			}
-			robust_close(tls, uintptr(0), fd, 43619)
+			robust_close(tls, uintptr(0), fd, 43623)
 		}
 
 	}
@@ -23168,7 +23170,7 @@ __11:
 __12:
 	return SQLITE_IOERR | int32(15)<<8
 __13:
-	return Xsqlite3CantopenError(tls, 44048)
+	return Xsqlite3CantopenError(tls, 44052)
 __10:
 	;
 __8:
@@ -23199,7 +23201,7 @@ __14:
 __15:
 	;
 end_create_proxy:
-	robust_close(tls, pNew, fd, 44072)
+	robust_close(tls, pNew, fd, 44076)
 	Xsqlite3_free(tls, pNew)
 	Xsqlite3_free(tls, pUnused)
 	return rc
@@ -23288,7 +23290,7 @@ __5:
 	;
 	rc = 0
 	libc.Xfprintf(tls, libc.X__stderrp, ts+4066, libc.VaList(bp+40, cPath))
-	robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(conchFile)).Fh, 44175)
+	robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(conchFile)).Fh, 44179)
 	(*UnixFile)(unsafe.Pointer(conchFile)).Fh = fd
 	(*UnixFile)(unsafe.Pointer(conchFile)).FopenFlags = O_RDWR | O_CREAT
 
@@ -23300,7 +23302,7 @@ end_breaklock:
 		goto __7
 	}
 	(*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 16*24 + 8)))(tls, bp+64)
-	robust_close(tls, pFile, fd, 44183)
+	robust_close(tls, pFile, fd, 44187)
 __7:
 	;
 	libc.Xfprintf(tls, libc.X__stderrp, ts+4090, libc.VaList(bp+48, cPath, bp+1088))
@@ -23580,7 +23582,7 @@ end_takeconch:
 	if !((*UnixFile)(unsafe.Pointer(pFile)).Fh >= 0) {
 		goto __29
 	}
-	robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 44436)
+	robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 44440)
 __29:
 	;
 	(*UnixFile)(unsafe.Pointer(pFile)).Fh = -1
@@ -23592,7 +23594,7 @@ __29:
 	(*UnixFile)(unsafe.Pointer(pFile)).Fh = fd
 	goto __31
 __30:
-	rc = Xsqlite3CantopenError(tls, 44444)
+	rc = Xsqlite3CantopenError(tls, 44448)
 
 __31:
 	;
@@ -25377,7 +25379,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 	libc.X__builtin___memset_chk(tls, pPgHdr+32, 0, uint64(unsafe.Sizeof(PgHdr{}))-uint64(uintptr(0)+32), libc.X__builtin_object_size(tls, pPgHdr+32, 0))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpPage = pPage
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpData = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpBuf
-	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*72
+	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*80
 	libc.X__builtin___memset_chk(tls, (*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra, 0, uint64(8), libc.X__builtin_object_size(tls, (*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra, 0))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpCache = pCache
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).Fpgno = pgno
@@ -25407,7 +25409,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 // reference count drops to 0, then it is made eligible for recycling.
 func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) {
 	(*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum--
-	if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 {
+	if libc.PreDecInt64(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1) == int64(0) {
 		if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_CLEAN != 0 {
 			pcacheUnpin(tls, p)
 		} else {
@@ -25458,7 +25460,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) {
 	*(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE))
 	*(*U16)(unsafe.Pointer(p + 52)) |= U16(PGHDR_CLEAN)
 
-	if int32((*PgHdr)(unsafe.Pointer(p)).FnRef) == 0 {
+	if (*PgHdr)(unsafe.Pointer(p)).FnRef == int64(0) {
 		pcacheUnpin(tls, p)
 	}
 }
@@ -25562,8 +25564,8 @@ func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) {
 }
 
 func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr {
-	bp := tls.Alloc(72)
-	defer tls.Free(72)
+	bp := tls.Alloc(80)
+	defer tls.Free(80)
 
 	var pTail uintptr
 	pTail = bp
@@ -25641,13 +25643,13 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr {
 //
 // This is not the total number of pages referenced, but the sum of the
 // reference count for all pages.
-func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 {
+func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) I64 {
 	return (*PCache)(unsafe.Pointer(pCache)).FnRefSum
 }
 
 // Return the number of references to the page supplied as an argument.
-func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 {
-	return int32((*PgHdr)(unsafe.Pointer(p)).FnRef)
+func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) I64 {
+	return (*PgHdr)(unsafe.Pointer(p)).FnRef
 }
 
 // Return the total number of pages in the cache.
@@ -27940,7 +27942,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 {
 
 	pPg = Xsqlite3PagerLookup(tls, pPager, iPg)
 	if pPg != 0 {
-		if Xsqlite3PcachePageRefcount(tls, pPg) == 1 {
+		if Xsqlite3PcachePageRefcount(tls, pPg) == int64(1) {
 			Xsqlite3PcacheDrop(tls, pPg)
 		} else {
 			rc = readDbPage(tls, pPg)
@@ -28373,7 +28375,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr,
 	var pageSize U32 = *(*U32)(unsafe.Pointer(pPageSize))
 
 	if (int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) == 0 || (*Pager)(unsafe.Pointer(pPager)).FdbSize == Pgno(0)) &&
-		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 &&
+		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) &&
 		pageSize != 0 && pageSize != U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) {
 		var pNew uintptr = uintptr(0)
 		*(*I64)(unsafe.Pointer(bp)) = int64(0)
@@ -28525,9 +28527,9 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr
 			Xsqlite3OsUnfetch(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, I64(pgno-Pgno(1))*(*Pager)(unsafe.Pointer(pPager)).FpageSize, pData)
 			return SQLITE_NOMEM
 		}
-		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*72
+		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*80
 		(*PgHdr)(unsafe.Pointer(p)).Fflags = U16(PGHDR_MMAP)
-		(*PgHdr)(unsafe.Pointer(p)).FnRef = int16(1)
+		(*PgHdr)(unsafe.Pointer(p)).FnRef = int64(1)
 		(*PgHdr)(unsafe.Pointer(p)).FpPager = pPager
 	}
 
@@ -28859,7 +28861,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 {
 
 		for rc == SQLITE_OK && pList != 0 {
 			var pNext uintptr = (*PgHdr)(unsafe.Pointer(pList)).FpDirty
-			if int32((*PgHdr)(unsafe.Pointer(pList)).FnRef) == 0 {
+			if (*PgHdr)(unsafe.Pointer(pList)).FnRef == int64(0) {
 				rc = pagerStress(tls, pPager, pList)
 			}
 			pList = pNext
@@ -29009,7 +29011,7 @@ __11:
 		goto __12
 	}
 
-	rc = Xsqlite3CantopenError(tls, 60235)
+	rc = Xsqlite3CantopenError(tls, 60239)
 __12:
 	;
 	if !(rc != SQLITE_OK) {
@@ -29390,7 +29392,7 @@ __7:
 	if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) {
 		goto __10
 	}
-	rc = Xsqlite3CantopenError(tls, 60754)
+	rc = Xsqlite3CantopenError(tls, 60758)
 	Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd)
 __10:
 	;
@@ -29496,7 +29498,7 @@ __24:
 }
 
 func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) {
-	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 {
+	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) {
 		pagerUnlockAndRollback(tls, pPager)
 	}
 }
@@ -29514,7 +29516,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla
 	if !(pgno == Pgno(0)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 60967)
+	return Xsqlite3CorruptError(tls, 60971)
 __1:
 	;
 	*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3)
@@ -29553,7 +29555,7 @@ __5:
 	if !(pgno == (*Pager)(unsafe.Pointer(pPager)).FlckPgno) {
 		goto __7
 	}
-	rc = Xsqlite3CorruptError(tls, 60999)
+	rc = Xsqlite3CorruptError(tls, 61003)
 	goto pager_acquire_err
 __7:
 	;
@@ -29630,7 +29632,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags
 		(int32((*Pager)(unsafe.Pointer(pPager)).FeState) == PAGER_READER || flags&PAGER_GET_READONLY != 0))
 
 	if pgno <= Pgno(1) && pgno == Pgno(0) {
-		return Xsqlite3CorruptError(tls, 61078)
+		return Xsqlite3CorruptError(tls, 61082)
 	}
 
 	if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
@@ -30388,7 +30390,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 {
 
 // Return the number of references to the specified page.
 func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 {
-	return Xsqlite3PcachePageRefcount(tls, pPage)
+	return int32(Xsqlite3PcachePageRefcount(tls, pPage))
 }
 
 // Parameter eStat must be one of SQLITE_DBSTATUS_CACHE_HIT, _MISS, _WRITE,
@@ -30631,9 +30633,9 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno
 	pPgOld = Xsqlite3PagerLookup(tls, pPager, pgno)
 
 	if pPgOld != 0 {
-		if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 {
+		if (*PgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
 			Xsqlite3PagerUnrefNotNull(tls, pPgOld)
-			return Xsqlite3CorruptError(tls, 62623)
+			return Xsqlite3CorruptError(tls, 62627)
 		}
 		*(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC)
 		if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 {
@@ -31389,7 +31391,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 {
 		nCollide = idx
 		for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) {
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 64387)
+				return Xsqlite3CorruptError(tls, 64391)
 			}
 		}
 		*(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaPgno + uintptr(idx-1)*4)) = iPage
@@ -31488,7 +31490,7 @@ __6:
 	if !(version != U32(WAL_MAX_VERSION)) {
 		goto __7
 	}
-	rc = Xsqlite3CantopenError(tls, 64519)
+	rc = Xsqlite3CantopenError(tls, 64523)
 	goto finished
 __7:
 	;
@@ -32074,7 +32076,7 @@ __10:
 		goto __14
 	}
 
-	rc = Xsqlite3CorruptError(tls, 65333)
+	rc = Xsqlite3CorruptError(tls, 65337)
 	goto __15
 __14:
 	Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16)
@@ -32349,7 +32351,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 {
 	}
 
 	if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) {
-		rc = Xsqlite3CantopenError(tls, 65682)
+		rc = Xsqlite3CantopenError(tls, 65686)
 	}
 	if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
 		if rc != SQLITE_OK {
@@ -32822,7 +32824,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr
 				iRead = iFrame
 			}
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 66419)
+				return Xsqlite3CorruptError(tls, 66423)
 			}
 			iKey = walNextHash(tls, iKey)
 		}
@@ -33327,7 +33329,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
 
 	if rc == SQLITE_OK {
 		if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf {
-			rc = Xsqlite3CorruptError(tls, 67138)
+			rc = Xsqlite3CorruptError(tls, 67142)
 		} else {
 			rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
 		}
@@ -33985,7 +33987,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32
 		}
 		Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
 		if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
-			rc = Xsqlite3CorruptError(tls, 69249)
+			rc = Xsqlite3CorruptError(tls, 69253)
 		} else {
 			rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
 		}
@@ -34122,7 +34124,7 @@ __1:
 	if !(key == Pgno(0)) {
 		goto __2
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69430)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69434)
 	return
 __2:
 	;
@@ -34139,7 +34141,7 @@ __3:
 		goto __4
 	}
 
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69443)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69447)
 	goto ptrmap_exit
 __4:
 	;
@@ -34147,7 +34149,7 @@ __4:
 	if !(offset < 0) {
 		goto __5
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69448)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69452)
 	goto ptrmap_exit
 __5:
 	;
@@ -34190,7 +34192,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 	offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1)))
 	if offset < 0 {
 		Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
-		return Xsqlite3CorruptError(tls, 69493)
+		return Xsqlite3CorruptError(tls, 69497)
 	}
 
 	*(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
@@ -34200,7 +34202,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 
 	Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
 	if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 {
-		return Xsqlite3CorruptError(tls, 69501)
+		return Xsqlite3CorruptError(tls, 69505)
 	}
 	return SQLITE_OK
 }
@@ -34450,7 +34452,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr,
 	if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 		var ovfl Pgno
 		if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) {
-			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69893)
+			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69897)
 			return
 		}
 		ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4))
@@ -34497,7 +34499,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 {
 	if !(iFree > usableSize-4) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 69951)
+	return Xsqlite3CorruptError(tls, 69955)
 __2:
 	;
 	if !(iFree != 0) {
@@ -34507,7 +34509,7 @@ __2:
 	if !(iFree2 > usableSize-4) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 69954)
+	return Xsqlite3CorruptError(tls, 69958)
 __4:
 	;
 	if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) {
@@ -34520,7 +34522,7 @@ __4:
 	if !(top >= iFree) {
 		goto __6
 	}
-	return Xsqlite3CorruptError(tls, 69962)
+	return Xsqlite3CorruptError(tls, 69966)
 __6:
 	;
 	if !(iFree2 != 0) {
@@ -34529,14 +34531,14 @@ __6:
 	if !(iFree+sz > iFree2) {
 		goto __9
 	}
-	return Xsqlite3CorruptError(tls, 69965)
+	return Xsqlite3CorruptError(tls, 69969)
 __9:
 	;
 	sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1)))
 	if !(iFree2+sz2 > usableSize) {
 		goto __10
 	}
-	return Xsqlite3CorruptError(tls, 69967)
+	return Xsqlite3CorruptError(tls, 69971)
 __10:
 	;
 	libc.X__builtin___memmove_chk(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz)), libc.X__builtin_object_size(tls, data+uintptr(iFree+sz+sz2), 0))
@@ -34546,7 +34548,7 @@ __7:
 	if !(iFree+sz > usableSize) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 69971)
+	return Xsqlite3CorruptError(tls, 69975)
 __11:
 	;
 __8:
@@ -34610,7 +34612,7 @@ __19:
 	if !(pc < iCellStart || pc > iCellLast) {
 		goto __22
 	}
-	return Xsqlite3CorruptError(tls, 70004)
+	return Xsqlite3CorruptError(tls, 70008)
 __22:
 	;
 	size = int32((*struct {
@@ -34620,7 +34622,7 @@ __22:
 	if !(cbrk < iCellStart || pc+size > usableSize) {
 		goto __23
 	}
-	return Xsqlite3CorruptError(tls, 70010)
+	return Xsqlite3CorruptError(tls, 70014)
 __23:
 	;
 	*(*U8)(unsafe.Pointer(pAddr1)) = U8(cbrk >> 8)
@@ -34642,7 +34644,7 @@ defragment_out:
 	if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) {
 		goto __24
 	}
-	return Xsqlite3CorruptError(tls, 70024)
+	return Xsqlite3CorruptError(tls, 70028)
 __24:
 	;
 	*(*uint8)(unsafe.Pointer(data + uintptr(hdr+5))) = U8(cbrk >> 8)
@@ -34677,7 +34679,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 				*(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x)))
 				return aData + uintptr(pc)
 			} else if x+pc > maxPC {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70081)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70085)
 				return uintptr(0)
 			} else {
 				*(*U8)(unsafe.Pointer(aData + uintptr(pc+2))) = U8(x >> 8)
@@ -34690,13 +34692,13 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 		pc = int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1)))
 		if pc <= iAddr {
 			if pc != 0 {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70096)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70100)
 			}
 			return uintptr(0)
 		}
 	}
 	if pc > maxPC+nByte-4 {
-		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70103)
+		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70107)
 	}
 	return uintptr(0)
 }
@@ -34721,7 +34723,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 		if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) {
 			top = 65536
 		} else {
-			return Xsqlite3CorruptError(tls, 70152)
+			return Xsqlite3CorruptError(tls, 70156)
 		}
 	}
 
@@ -34732,7 +34734,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 
 			*(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1))
 			if g2 <= gap {
-				return Xsqlite3CorruptError(tls, 70170)
+				return Xsqlite3CorruptError(tls, 70174)
 			} else {
 				return SQLITE_OK
 			}
@@ -34784,22 +34786,22 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 				if int32(iFreeBlk) == 0 {
 					break
 				}
-				return Xsqlite3CorruptError(tls, 70249)
+				return Xsqlite3CorruptError(tls, 70253)
 			}
 			iPtr = iFreeBlk
 		}
 		if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) {
-			return Xsqlite3CorruptError(tls, 70254)
+			return Xsqlite3CorruptError(tls, 70258)
 		}
 
 		if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) {
 			nFrag = U8(U32(iFreeBlk) - iEnd)
 			if iEnd > U32(iFreeBlk) {
-				return Xsqlite3CorruptError(tls, 70266)
+				return Xsqlite3CorruptError(tls, 70270)
 			}
 			iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1)))))
 			if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-				return Xsqlite3CorruptError(tls, 70269)
+				return Xsqlite3CorruptError(tls, 70273)
 			}
 			iSize = U16(iEnd - U32(iStart))
 			iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1))))
@@ -34809,7 +34811,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1))))
 			if iPtrEnd+3 >= int32(iStart) {
 				if iPtrEnd > int32(iStart) {
-					return Xsqlite3CorruptError(tls, 70282)
+					return Xsqlite3CorruptError(tls, 70286)
 				}
 				nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd))
 				iSize = U16(iEnd - U32(iPtr))
@@ -34817,7 +34819,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			}
 		}
 		if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) {
-			return Xsqlite3CorruptError(tls, 70288)
+			return Xsqlite3CorruptError(tls, 70292)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag))
 	}
@@ -34825,10 +34827,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 	x = U16(int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1))))
 	if int32(iStart) <= int32(x) {
 		if int32(iStart) < int32(x) {
-			return Xsqlite3CorruptError(tls, 70297)
+			return Xsqlite3CorruptError(tls, 70301)
 		}
 		if int32(iPtr) != int32(hdr)+1 {
-			return Xsqlite3CorruptError(tls, 70298)
+			return Xsqlite3CorruptError(tls, 70302)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8)
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk)
@@ -34888,7 +34890,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70357)
+			return Xsqlite3CorruptError(tls, 70361)
 		}
 	} else {
 		(*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize = U8(4)
@@ -34924,7 +34926,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70381)
+			return Xsqlite3CorruptError(tls, 70385)
 		}
 	}
 	return SQLITE_OK
@@ -34954,11 +34956,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 		var next U32
 		var size U32
 		if pc < top {
-			return Xsqlite3CorruptError(tls, 70432)
+			return Xsqlite3CorruptError(tls, 70436)
 		}
 		for 1 != 0 {
 			if pc > iCellLast {
-				return Xsqlite3CorruptError(tls, 70437)
+				return Xsqlite3CorruptError(tls, 70441)
 			}
 			next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1))))
 			size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1))))
@@ -34969,15 +34971,15 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 			pc = int32(next)
 		}
 		if next > U32(0) {
-			return Xsqlite3CorruptError(tls, 70447)
+			return Xsqlite3CorruptError(tls, 70451)
 		}
 		if U32(pc)+size > uint32(usableSize) {
-			return Xsqlite3CorruptError(tls, 70451)
+			return Xsqlite3CorruptError(tls, 70455)
 		}
 	}
 
 	if nFree > usableSize || nFree < iCellFirst {
-		return Xsqlite3CorruptError(tls, 70463)
+		return Xsqlite3CorruptError(tls, 70467)
 	}
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst))
 	return SQLITE_OK
@@ -35005,14 +35007,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 {
 		pc = int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2) + 1)))
 
 		if pc < iCellFirst || pc > iCellLast {
-			return Xsqlite3CorruptError(tls, 70494)
+			return Xsqlite3CorruptError(tls, 70498)
 		}
 		sz = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
 		})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc)))
 
 		if pc+sz > usableSize {
-			return Xsqlite3CorruptError(tls, 70499)
+			return Xsqlite3CorruptError(tls, 70503)
 		}
 	}
 	return SQLITE_OK
@@ -35026,7 +35028,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 	data = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 {
-		return Xsqlite3CorruptError(tls, 70531)
+		return Xsqlite3CorruptError(tls, 70535)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1))
@@ -35038,7 +35040,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1))))
 	if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) {
-		return Xsqlite3CorruptError(tls, 70545)
+		return Xsqlite3CorruptError(tls, 70549)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = -1
@@ -35141,7 +35143,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	rc = Xsqlite3CorruptError(tls, 70700)
+	rc = Xsqlite3CorruptError(tls, 70704)
 	goto getAndInitPage_error1
 __1:
 	;
@@ -35169,7 +35171,7 @@ __3:
 	if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) {
 		goto __5
 	}
-	rc = Xsqlite3CorruptError(tls, 70721)
+	rc = Xsqlite3CorruptError(tls, 70725)
 	goto getAndInitPage_error2
 __5:
 	;
@@ -35208,7 +35210,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 {
 			releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
 			*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
-			return Xsqlite3CorruptError(tls, 70787)
+			return Xsqlite3CorruptError(tls, 70791)
 		}
 		(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0)
 	} else {
@@ -36091,7 +36093,7 @@ __16:
 	if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) {
 		goto __18
 	}
-	rc = Xsqlite3CorruptError(tls, 71722)
+	rc = Xsqlite3CorruptError(tls, 71726)
 	goto page1_init_failed
 	goto __19
 __18:
@@ -36506,7 +36508,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 	if int32(eType) == PTRMAP_OVERFLOW2 {
 		if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
-			return Xsqlite3CorruptError(tls, 72143)
+			return Xsqlite3CorruptError(tls, 72147)
 		}
 		Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo)
 	} else {
@@ -36532,7 +36534,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp)
 				if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 					if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-						return Xsqlite3CorruptError(tls, 72162)
+						return Xsqlite3CorruptError(tls, 72166)
 					}
 					if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) {
 						Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo)
@@ -36541,7 +36543,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				}
 			} else {
 				if pCell+uintptr(4) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-					return Xsqlite3CorruptError(tls, 72171)
+					return Xsqlite3CorruptError(tls, 72175)
 				}
 				if Xsqlite3Get4byte(tls, pCell) == iFrom {
 					Xsqlite3Put4byte(tls, pCell, iTo)
@@ -36552,7 +36554,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 		if i == nCell {
 			if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom {
-				return Xsqlite3CorruptError(tls, 72183)
+				return Xsqlite3CorruptError(tls, 72187)
 			}
 			Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo)
 		}
@@ -36568,7 +36570,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag
 	var pPager uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPager
 
 	if iDbPage < Pgno(3) {
-		return Xsqlite3CorruptError(tls, 72218)
+		return Xsqlite3CorruptError(tls, 72222)
 	}
 
 	*(*int32)(unsafe.Pointer(bp)) = Xsqlite3PagerMovepage(tls, pPager, (*MemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -36629,7 +36631,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 			return rc
 		}
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE {
-			return Xsqlite3CorruptError(tls, 72316)
+			return Xsqlite3CorruptError(tls, 72320)
 		}
 
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE {
@@ -36664,7 +36666,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 				if *(*Pgno)(unsafe.Pointer(bp + 40)) > dbSize {
 					releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
-					return Xsqlite3CorruptError(tls, 72368)
+					return Xsqlite3CorruptError(tls, 72372)
 				}
 			}
 
@@ -36724,7 +36726,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 {
 		var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree)
 
 		if nOrig < nFin || nFree >= nOrig {
-			rc = Xsqlite3CorruptError(tls, 72436)
+			rc = Xsqlite3CorruptError(tls, 72440)
 		} else if nFree > Pgno(0) {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
 			if rc == SQLITE_OK {
@@ -36763,7 +36765,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 
 		nOrig = btreePagecount(tls, pBt)
 		if ptrmapPageno(tls, pBt, nOrig) == nOrig || nOrig == U32(Xsqlite3PendingByte)/(*BtShared)(unsafe.Pointer(pBt)).FpageSize+U32(1) {
-			return Xsqlite3CorruptError(tls, 72487)
+			return Xsqlite3CorruptError(tls, 72491)
 		}
 
 		nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
@@ -36794,7 +36796,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 		}
 		nFin = finalDbSize(tls, pBt, nOrig, nVac)
 		if nFin > nOrig {
-			return Xsqlite3CorruptError(tls, 72514)
+			return Xsqlite3CorruptError(tls, 72518)
 		}
 		if nFin < nOrig {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -37135,7 +37137,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u
 
 	if iTable <= Pgno(1) {
 		if iTable < Pgno(1) {
-			return Xsqlite3CorruptError(tls, 72978)
+			return Xsqlite3CorruptError(tls, 72982)
 		} else if btreePagecount(tls, pBt) == Pgno(0) {
 			iTable = Pgno(0)
 		}
@@ -37379,14 +37381,14 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt
 
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
-		return Xsqlite3CorruptError(tls, 73385)
+		return Xsqlite3CorruptError(tls, 73389)
 	}
 
 	getCellInfo(tls, pCur)
 	aPayload = (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
 
 	if Uptr((int64(aPayload)-int64((*MemPage)(unsafe.Pointer(pPage)).FaData))/1) > Uptr((*BtShared)(unsafe.Pointer(pBt)).FusableSize-U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal)) {
-		return Xsqlite3CorruptError(tls, 73400)
+		return Xsqlite3CorruptError(tls, 73404)
 	}
 
 	if offset < U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -37431,7 +37433,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 
 		for *(*Pgno)(unsafe.Pointer(bp)) != 0 {
 			if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage {
-				return Xsqlite3CorruptError(tls, 73462)
+				return Xsqlite3CorruptError(tls, 73466)
 			}
 
 			*(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp))
@@ -37480,7 +37482,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	}
 
 	if rc == SQLITE_OK && amt > U32(0) {
-		return Xsqlite3CorruptError(tls, 73547)
+		return Xsqlite3CorruptError(tls, 73551)
 	}
 	return rc
 }
@@ -37560,7 +37562,7 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt
 
 func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 {
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 {
-		return Xsqlite3CorruptError(tls, 73684)
+		return Xsqlite3CorruptError(tls, 73688)
 	}
 	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	*(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl))
@@ -37651,7 +37653,7 @@ __2:
 	if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 73823)
+	return Xsqlite3CorruptError(tls, 73827)
 __11:
 	;
 skip_init:
@@ -37671,7 +37673,7 @@ __12:
 	if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) {
 		goto __16
 	}
-	return Xsqlite3CorruptError(tls, 73835)
+	return Xsqlite3CorruptError(tls, 73839)
 __16:
 	;
 	subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8))
@@ -37881,7 +37883,7 @@ __19:
 	if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __21
 	}
-	return Xsqlite3CorruptError(tls, 74077)
+	return Xsqlite3CorruptError(tls, 74081)
 __21:
 	;
 	goto __19
@@ -38085,7 +38087,7 @@ __2:
 	if !!(int32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit) != 0) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 74273)
+	return Xsqlite3CorruptError(tls, 74277)
 __4:
 	;
 	goto bypass_moveto_root
@@ -38150,7 +38152,7 @@ __15:
 	if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) {
 		goto __17
 	}
-	rc = Xsqlite3CorruptError(tls, 74360)
+	rc = Xsqlite3CorruptError(tls, 74364)
 	goto moveto_index_finish
 __17:
 	;
@@ -38198,7 +38200,7 @@ __22:
 	if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) {
 		goto __24
 	}
-	rc = Xsqlite3CorruptError(tls, 74392)
+	rc = Xsqlite3CorruptError(tls, 74396)
 __24:
 	;
 	goto moveto_index_finish
@@ -38317,7 +38319,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 {
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1))
 	if !(int32((*MemPage)(unsafe.Pointer(pPage)).FisInit) != 0) || Xsqlite3FaultSim(tls, 412) != 0 {
-		return Xsqlite3CorruptError(tls, 74508)
+		return Xsqlite3CorruptError(tls, 74512)
 	}
 
 	if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
@@ -38477,7 +38479,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr
 	if !(n >= mxPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74688)
+	return Xsqlite3CorruptError(tls, 74692)
 __1:
 	;
 	if !(n > U32(0)) {
@@ -38542,7 +38544,7 @@ __15:
 	if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) {
 		goto __16
 	}
-	rc = Xsqlite3CorruptError(tls, 74744)
+	rc = Xsqlite3CorruptError(tls, 74748)
 	goto __17
 __16:
 	rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0)
@@ -38578,7 +38580,7 @@ __19:
 		goto __22
 	}
 
-	rc = Xsqlite3CorruptError(tls, 74773)
+	rc = Xsqlite3CorruptError(tls, 74777)
 	goto end_allocate_page
 	goto __23
 __22:
@@ -38622,7 +38624,7 @@ __27:
 	if !(iNewTrunk > mxPage) {
 		goto __32
 	}
-	rc = Xsqlite3CorruptError(tls, 74807)
+	rc = Xsqlite3CorruptError(tls, 74811)
 	goto end_allocate_page
 __32:
 	;
@@ -38734,7 +38736,7 @@ __40:
 	if !(iPage > mxPage || iPage < Pgno(2)) {
 		goto __51
 	}
-	rc = Xsqlite3CorruptError(tls, 74872)
+	rc = Xsqlite3CorruptError(tls, 74876)
 	goto end_allocate_page
 __51:
 	;
@@ -38892,7 +38894,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 {
 	if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74999)
+	return Xsqlite3CorruptError(tls, 75003)
 __1:
 	;
 	if !(pMemPage != 0) {
@@ -38949,7 +38951,7 @@ __7:
 	if !(iTrunk > btreePagecount(tls, pBt)) {
 		goto __10
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75046)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75050)
 	goto freepage_out
 __10:
 	;
@@ -38965,7 +38967,7 @@ __11:
 	if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) {
 		goto __12
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75057)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75061)
 	goto freepage_out
 __12:
 	;
@@ -39039,7 +39041,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 	var ovflPageSize U32
 
 	if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 75146)
+		return Xsqlite3CorruptError(tls, 75150)
 	}
 	ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
 	pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt
@@ -39051,7 +39053,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 		*(*Pgno)(unsafe.Pointer(bp + 8)) = Pgno(0)
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 		if ovflPgno < Pgno(2) || ovflPgno > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 75163)
+			return Xsqlite3CorruptError(tls, 75167)
 		}
 		if nOvfl != 0 {
 			rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8)
@@ -39062,7 +39064,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 
 		if (*(*uintptr)(unsafe.Pointer(bp)) != 0 || libc.AssignPtrUintptr(bp, btreePageLookup(tls, pBt, ovflPgno)) != uintptr(0)) &&
 			Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 {
-			rc = Xsqlite3CorruptError(tls, 75183)
+			rc = Xsqlite3CorruptError(tls, 75187)
 		} else {
 			rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp)), ovflPgno)
 		}
@@ -39227,7 +39229,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
 	hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75436)
+		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75440)
 		return
 	}
 	rc = freeSpace(tls, pPage, uint16(pc), uint16(sz))
@@ -39506,12 +39508,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 
 		if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) {
 			if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) {
-				return Xsqlite3CorruptError(tls, 75737)
+				return Xsqlite3CorruptError(tls, 75741)
 			}
 			pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1)
 		} else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) &&
 			Uptr(pCell) < Uptr(pSrcEnd) {
-			return Xsqlite3CorruptError(tls, 75742)
+			return Xsqlite3CorruptError(tls, 75746)
 		}
 
 		pData -= uintptr(sz)
@@ -39519,7 +39521,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 		*(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1)
 		pCellptr += uintptr(2)
 		if pData < pCellptr {
-			return Xsqlite3CorruptError(tls, 75748)
+			return Xsqlite3CorruptError(tls, 75752)
 		}
 		libc.X__builtin___memmove_chk(tls, pData, pCell, uint64(sz), libc.X__builtin_object_size(tls, pData, 0))
 
@@ -39579,7 +39581,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr,
 
 		if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) &&
 			Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) {
-			Xsqlite3CorruptError(tls, 75833)
+			Xsqlite3CorruptError(tls, 75837)
 			return 1
 		}
 		libc.X__builtin___memmove_chk(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz), libc.X__builtin_object_size(tls, pSlot, 0))
@@ -39668,7 +39670,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC
 	if !(nShift > nCell) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 75947)
+	return Xsqlite3CorruptError(tls, 75951)
 __2:
 	;
 	libc.X__builtin___memmove_chk(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2), libc.X__builtin_object_size(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, 0))
@@ -39784,7 +39786,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr
 	var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt
 
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
-		return Xsqlite3CorruptError(tls, 76060)
+		return Xsqlite3CorruptError(tls, 76064)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 136)) = allocateBtreePage(tls, pBt, bp, bp+8, uint32(0), uint8(0))
@@ -40104,7 +40106,7 @@ __22:
 	if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) {
 		goto __25
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76481)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76485)
 	goto balance_cleanup
 __25:
 	;
@@ -40115,7 +40117,7 @@ __25:
 	if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) {
 		goto __27
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76505)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76509)
 	goto balance_cleanup
 __27:
 	;
@@ -40273,7 +40275,7 @@ __52:
 	if !(k > NB+2) {
 		goto __55
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76606)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76610)
 	goto balance_cleanup
 __55:
 	;
@@ -40347,7 +40349,7 @@ __65:
 	}()) {
 		goto __67
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76639)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76643)
 	goto balance_cleanup
 __67:
 	;
@@ -40410,7 +40412,7 @@ __73:
 	}()) {
 		goto __75
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76683)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76687)
 	goto balance_cleanup
 __75:
 	;
@@ -40438,7 +40440,7 @@ __76:
 		*(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) {
 		goto __81
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76716)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76720)
 __81:
 	;
 	if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) {
@@ -40699,7 +40701,7 @@ __120:
 	if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) {
 		goto __121
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76916)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76920)
 	goto balance_cleanup
 __121:
 	;
@@ -40889,7 +40891,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 {
 		if pOther != pCur &&
 			int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID &&
 			(*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage {
-			return Xsqlite3CorruptError(tls, 77146)
+			return Xsqlite3CorruptError(tls, 77150)
 		}
 	}
 	return SQLITE_OK
@@ -40927,7 +40929,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 {
 				break
 			}
 		} else if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) > 1 {
-			rc = Xsqlite3CorruptError(tls, 77206)
+			rc = Xsqlite3CorruptError(tls, 77210)
 		} else {
 			var pParent uintptr = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-1)*8))
 			var iIdx int32 = int32(*(*U16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-1)*2)))
@@ -41033,7 +41035,7 @@ func btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 			return rc
 		}
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
-			rc = Xsqlite3CorruptError(tls, 77370)
+			rc = Xsqlite3CorruptError(tls, 77374)
 		} else {
 			if U32(iOffset)+ovflPageSize < U32(nTotal) {
 				ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -41058,7 +41060,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 
 	if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd ||
 		(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FcellOffset) {
-		return Xsqlite3CorruptError(tls, 77398)
+		return Xsqlite3CorruptError(tls, 77402)
 	}
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
 		return btreeOverwriteContent(tls, pPage, (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX,
@@ -41128,7 +41130,7 @@ __2:
 		goto __3
 	}
 
-	return Xsqlite3CorruptError(tls, 77479)
+	return Xsqlite3CorruptError(tls, 77483)
 __3:
 	;
 __1:
@@ -41241,7 +41243,7 @@ __7:
 		goto __21
 	}
 
-	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77602)
+	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77606)
 	goto __22
 __21:
 	*(*int32)(unsafe.Pointer(bp + 120)) = btreeComputeFreeSpace(tls, pPage)
@@ -41301,6 +41303,7 @@ __30:
 __25:
 	;
 	idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
+	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !(*(*int32)(unsafe.Pointer(bp)) == 0) {
 		goto __31
 	}
@@ -41308,7 +41311,7 @@ __25:
 	if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) {
 		goto __33
 	}
-	return Xsqlite3CorruptError(tls, 77640)
+	return Xsqlite3CorruptError(tls, 77645)
 __33:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage)
@@ -41346,13 +41349,13 @@ __37:
 	if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) {
 		goto __39
 	}
-	return Xsqlite3CorruptError(tls, 77667)
+	return Xsqlite3CorruptError(tls, 77672)
 __39:
 	;
 	if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 124))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __40
 	}
-	return Xsqlite3CorruptError(tls, 77670)
+	return Xsqlite3CorruptError(tls, 77675)
 __40:
 	;
 	libc.X__builtin___memcpy_chk(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 124))), libc.X__builtin_object_size(tls, oldCell, 0))
@@ -41383,7 +41386,6 @@ __32:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 124)), uintptr(0), uint32(0))
 
-	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) {
 		goto __44
 	}
@@ -41458,7 +41460,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 	nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
 	aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
 	if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 77773)
+		return Xsqlite3CorruptError(tls, 77777)
 	}
 	nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
 	if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -41483,7 +41485,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 
 		if nRem > nIn {
 			if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-				return Xsqlite3CorruptError(tls, 77798)
+				return Xsqlite3CorruptError(tls, 77802)
 			}
 			ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
 		}
@@ -41584,7 +41586,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 				return *(*int32)(unsafe.Pointer(bp + 24))
 			}
 		} else {
-			return Xsqlite3CorruptError(tls, 77894)
+			return Xsqlite3CorruptError(tls, 77898)
 		}
 	}
 
@@ -41592,11 +41594,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 	iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
-		return Xsqlite3CorruptError(tls, 77903)
+		return Xsqlite3CorruptError(tls, 77907)
 	}
 	pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx) + 1)))))
 	if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 {
-		return Xsqlite3CorruptError(tls, 77907)
+		return Xsqlite3CorruptError(tls, 77911)
 	}
 
 	bPreserve = U8(libc.Bool32(int32(flags)&BTREE_SAVEPOSITION != 0))
@@ -41671,7 +41673,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 		}
 		pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)) + 1)))))
 		if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 {
-			return Xsqlite3CorruptError(tls, 77998)
+			return Xsqlite3CorruptError(tls, 78002)
 		}
 		nCell = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
@@ -41740,7 +41742,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 
 		Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp)
 		if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 78114)
+			return Xsqlite3CorruptError(tls, 78118)
 		}
 		*(*Pgno)(unsafe.Pointer(bp))++
 
@@ -41769,7 +41771,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 			}
 			*(*int32)(unsafe.Pointer(bp + 40)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp)), bp+32, bp+36)
 			if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE {
-				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78162)
+				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78166)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -41845,7 +41847,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 78252)
+	return Xsqlite3CorruptError(tls, 78256)
 __1:
 	;
 	*(*int32)(unsafe.Pointer(bp + 32)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0)
@@ -41859,7 +41861,7 @@ __2:
 		Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) {
 		goto __3
 	}
-	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78259)
+	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78263)
 	goto cleardatabasepage_out
 __3:
 	;
@@ -41993,7 +41995,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3
 	var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt
 
 	if iTable > btreePagecount(tls, pBt) {
-		return Xsqlite3CorruptError(tls, 78363)
+		return Xsqlite3CorruptError(tls, 78367)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 12)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0))
@@ -44462,7 +44464,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32,
 	var rc int32
 	(*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null)
 	if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) {
-		return Xsqlite3CorruptError(tls, 81630)
+		return Xsqlite3CorruptError(tls, 81634)
 	}
 	if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) {
 		rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz)
@@ -45111,7 +45113,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		return Xsqlite3GetVarint32(tls, a, bp)
 	}())
 	if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) {
-		return Xsqlite3CorruptError(tls, 82270)
+		return Xsqlite3CorruptError(tls, 82274)
 	}
 	iField = *(*int32)(unsafe.Pointer(bp))
 	for i = 0; i <= iCol; i++ {
@@ -45126,14 +45128,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		}())
 
 		if iHdr > *(*int32)(unsafe.Pointer(bp)) {
-			return Xsqlite3CorruptError(tls, 82276)
+			return Xsqlite3CorruptError(tls, 82280)
 		}
 		szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4))))
 		iField = iField + szField
 	}
 
 	if iField > nRec {
-		return Xsqlite3CorruptError(tls, 82282)
+		return Xsqlite3CorruptError(tls, 82286)
 	}
 	if pMem == uintptr(0) {
 		pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db))
@@ -47437,7 +47439,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 {
 		return rc
 	}
 	if *(*int32)(unsafe.Pointer(bp)) != 0 {
-		return Xsqlite3CorruptError(tls, 86058)
+		return Xsqlite3CorruptError(tls, 86062)
 	}
 	(*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0)
 	(*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE)
@@ -47988,7 +47990,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		i = 0
 	}
 	if d1 > uint32(nKey1) {
-		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86985))
+		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86989))
 		return 0
 	}
 
@@ -48053,7 +48055,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 
 				if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) ||
 					int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87062))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87066))
 					return 0
 				} else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 {
 					(*Mem)(unsafe.Pointer(bp + 8)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc
@@ -48087,7 +48089,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 				var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2))
 
 				if d1+U32(nStr) > uint32(nKey1) {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87092))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87096))
 					return 0
 				} else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 {
 					if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) {
@@ -48137,7 +48139,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		}
 		idx1 = idx1 + U32(Xsqlite3VarintLen(tls, uint64(*(*U32)(unsafe.Pointer(bp + 64)))))
 		if idx1 >= *(*U32)(unsafe.Pointer(bp + 4)) {
-			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87136))
+			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87140))
 			return 0
 		}
 	}
@@ -48283,7 +48285,7 @@ __5:
 	if !(szHdr+nStr > nKey1) {
 		goto __7
 	}
-	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87299))
+	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87303))
 	return 0
 __7:
 	;
@@ -48454,7 +48456,7 @@ __6:
 idx_rowid_corruption:
 	;
 	Xsqlite3VdbeMemReleaseMalloc(tls, bp)
-	return Xsqlite3CorruptError(tls, 87457)
+	return Xsqlite3CorruptError(tls, 87461)
 }
 
 // Compare the key of the index entry that cursor pC is pointing to against
@@ -48480,7 +48482,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
 
 	if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) {
 		*(*int32)(unsafe.Pointer(res)) = 0
-		return Xsqlite3CorruptError(tls, 87490)
+		return Xsqlite3CorruptError(tls, 87494)
 	}
 	Xsqlite3VdbeMemInit(tls, bp, db, uint16(0))
 	rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp)
@@ -48754,7 +48756,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 {
 		var v uintptr = pStmt
 		var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb
 		if vdbeSafety(tls, v) != 0 {
-			return Xsqlite3MisuseError(tls, 87854)
+			return Xsqlite3MisuseError(tls, 87858)
 		}
 		Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) {
@@ -49369,7 +49371,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 {
 	var db uintptr
 
 	if vdbeSafetyNotNull(tls, v) != 0 {
-		return Xsqlite3MisuseError(tls, 88544)
+		return Xsqlite3MisuseError(tls, 88548)
 	}
 	db = (*Vdbe)(unsafe.Pointer(v)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -49889,7 +49891,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 
 	var pVar uintptr
 	if vdbeSafetyNotNull(tls, p) != 0 {
-		return Xsqlite3MisuseError(tls, 89208)
+		return Xsqlite3MisuseError(tls, 89212)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 	if int32((*Vdbe)(unsafe.Pointer(p)).FeVdbeState) != VDBE_READY_STATE {
@@ -49897,7 +49899,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 		Xsqlite3_log(tls, SQLITE_MISUSE,
 			ts+5760, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql))
-		return Xsqlite3MisuseError(tls, 89216)
+		return Xsqlite3MisuseError(tls, 89220)
 	}
 	if i >= uint32((*Vdbe)(unsafe.Pointer(p)).FnVar) {
 		Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE)
@@ -50302,7 +50304,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89707)
+	rc = Xsqlite3MisuseError(tls, 89711)
 	goto preupdate_old_out
 __1:
 	;
@@ -50446,7 +50448,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89809)
+	rc = Xsqlite3MisuseError(tls, 89813)
 	goto preupdate_new_out
 __1:
 	;
@@ -50890,10 +50892,6 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 {
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Real != 0 {
 			h = h + U64(Xsqlite3VdbeIntValue(tls, p))
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 {
-			h = h + U64((*Mem)(unsafe.Pointer(p)).Fn)
-			if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Zero != 0 {
-				h = h + U64(*(*int32)(unsafe.Pointer(p)))
-			}
 		}
 	}
 	return h
@@ -53542,7 +53540,7 @@ op_column_corrupt:
 	goto __9
 	goto __425
 __424:
-	rc = Xsqlite3CorruptError(tls, 93317)
+	rc = Xsqlite3CorruptError(tls, 93320)
 	goto abort_due_to_error
 __425:
 	;
@@ -55302,7 +55300,7 @@ notExistsWithKey:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) {
 		goto __682
 	}
-	rc = Xsqlite3CorruptError(tls, 95560)
+	rc = Xsqlite3CorruptError(tls, 95563)
 	goto __683
 __682:
 	goto jump_to_p2
@@ -56080,7 +56078,7 @@ __767:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) {
 		goto __770
 	}
-	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96635, ts+6269)
+	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96638, ts+6269)
 	goto abort_due_to_error
 __770:
 	;
@@ -56190,7 +56188,7 @@ __780:
 	if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) {
 		goto __781
 	}
-	rc = Xsqlite3CorruptError(tls, 96840)
+	rc = Xsqlite3CorruptError(tls, 96843)
 	goto abort_due_to_error
 __781:
 	;
@@ -56384,7 +56382,7 @@ __802:
 		goto __803
 	}
 
-	rc = Xsqlite3CorruptError(tls, 97092)
+	rc = Xsqlite3CorruptError(tls, 97095)
 __803:
 	;
 	Xsqlite3DbFreeNN(tls, db, zSql)
@@ -57751,7 +57749,7 @@ __955:
 	if !(rc == SQLITE_IOERR|int32(33)<<8) {
 		goto __957
 	}
-	rc = Xsqlite3CorruptError(tls, 99031)
+	rc = Xsqlite3CorruptError(tls, 99034)
 __957:
 	;
 __956:
@@ -58271,7 +58269,7 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99516)
+		return Xsqlite3MisuseError(tls, 99519)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -58354,7 +58352,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99616)
+		return Xsqlite3MisuseError(tls, 99619)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -61794,14 +61792,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			;
 			Xsqlite3WalkExpr(tls, pWalker, (*Expr)(unsafe.Pointer(pExpr)).FpLeft)
 			if 0 == Xsqlite3ExprCanBeNull(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
-				if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 7167
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsTrue)
-				} else {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 7172
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
-				}
-				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
+				*(*int32)(unsafe.Pointer(pExpr + 8)) = libc.Bool32(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL)
+				*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IntValue)
+				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_INTEGER)
+
 				i = 0
 				p = pNC
 			__4:
@@ -61845,7 +61839,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_GenCol) != 0 {
-					notValidImpl(tls, pParse, pNC, ts+7178, uintptr(0), pExpr)
+					notValidImpl(tls, pParse, pNC, ts+7167, uintptr(0), pExpr)
 				}
 
 				pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight
@@ -61909,7 +61903,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 						(*Expr)(unsafe.Pointer(pExpr)).FiTable = exprProbability(tls, (*ExprList_item)(unsafe.Pointer(pList+8+1*32)).FpExpr)
 						if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 {
 							Xsqlite3ErrorMsg(tls, pParse,
-								ts+7195, libc.VaList(bp, pExpr))
+								ts+7184, libc.VaList(bp, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
 					} else {
@@ -61925,7 +61919,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 					var auth int32 = Xsqlite3AuthCheck(tls, pParse, SQLITE_FUNCTION, uintptr(0), (*FuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0))
 					if auth != SQLITE_OK {
 						if auth == SQLITE_DENY {
-							Xsqlite3ErrorMsg(tls, pParse, ts+7259,
+							Xsqlite3ErrorMsg(tls, pParse, ts+7248,
 								libc.VaList(bp+8, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
@@ -61939,7 +61933,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				}
 				if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_CONSTANT) == U32(0) {
 					if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_PartIdx|NC_GenCol) != 0 {
-						notValidImpl(tls, pParse, pNC, ts+7295, uintptr(0), pExpr)
+						notValidImpl(tls, pParse, pNC, ts+7284, uintptr(0), pExpr)
 					}
 
 				} else {
@@ -61962,30 +61956,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			if 0 == libc.Bool32(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 				if pDef != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7323, libc.VaList(bp+16, pExpr))
+						ts+7312, libc.VaList(bp+16, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowAgg == 0 ||
 					is_agg != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) ||
 					is_agg != 0 && pWin != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowWin == 0 {
 					var zType uintptr
 					if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 {
-						zType = ts + 7366
+						zType = ts + 7355
 					} else {
-						zType = ts + 7373
+						zType = ts + 7362
 					}
-					Xsqlite3ErrorMsg(tls, pParse, ts+7383, libc.VaList(bp+24, zType, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+7372, libc.VaList(bp+24, zType, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 					is_agg = 0
 				} else if no_such_func != 0 && int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7411, libc.VaList(bp+40, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+7400, libc.VaList(bp+40, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if wrong_num_args != 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7433,
+					Xsqlite3ErrorMsg(tls, pParse, ts+7422,
 						libc.VaList(bp+48, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg == 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7477,
+						ts+7466,
 						libc.VaList(bp+56, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				}
@@ -62057,15 +62051,15 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_SelfRef != 0 {
-					notValidImpl(tls, pParse, pNC, ts+7525, pExpr, pExpr)
+					notValidImpl(tls, pParse, pNC, ts+7514, pExpr, pExpr)
 				} else {
 					Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32)))
 				}
 
 				if nRef != (*NameContext)(unsafe.Pointer(pNC)).FnRef {
 					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_VarSelect)
-					*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_VarSelect
 				}
+				*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_Subquery
 			}
 			break
 
@@ -62073,7 +62067,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 	case TK_VARIABLE:
 		{
 			if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IsCheck|NC_PartIdx|NC_IdxExpr|NC_GenCol) != 0 {
-				notValidImpl(tls, pParse, pNC, ts+7536, pExpr, pExpr)
+				notValidImpl(tls, pParse, pNC, ts+7525, pExpr, pExpr)
 			}
 
 			break
@@ -62204,7 +62198,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3
 	defer tls.Free(24)
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+7547, libc.VaList(bp, i, zType, mx))
+		ts+7536, libc.VaList(bp, i, zType, mx))
 	Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pError)
 }
 
@@ -62224,7 +62218,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	}
 	db = (*Parse)(unsafe.Pointer(pParse)).Fdb
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7603, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7592, 0)
 		return 1
 	}
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
@@ -62259,7 +62253,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 			}
 			if Xsqlite3ExprIsInteger(tls, pE, bp+8) != 0 {
 				if *(*int32)(unsafe.Pointer(bp + 8)) <= 0 || *(*int32)(unsafe.Pointer(bp + 8)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr {
-					resolveOutOfRangeError(tls, pParse, ts+7637, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
+					resolveOutOfRangeError(tls, pParse, ts+7626, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
 					return 1
 				}
 			} else {
@@ -62316,7 +62310,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
 		if int32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2) == 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+7643, libc.VaList(bp, i+1))
+				ts+7632, libc.VaList(bp, i+1))
 			return 1
 		}
 	}
@@ -62344,7 +62338,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr,
 		return 0
 	}
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7704, libc.VaList(bp, zType))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7693, libc.VaList(bp, zType))
 		return 1
 	}
 	pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList
@@ -62558,7 +62552,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		*(*int32)(unsafe.Pointer(bp + 40)) |= NC_UEList
 		if (*Select)(unsafe.Pointer(p)).FpHaving != 0 {
 			if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Aggregate) == U32(0) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7735, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+7724, 0)
 				return WRC_Abort
 			}
 			if Xsqlite3ResolveExprNames(tls, bp, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 {
@@ -62598,7 +62592,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 
 		if (*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) &&
 			isCompound <= nCompound &&
-			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7637) != 0 {
+			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7626) != 0 {
 			return WRC_Abort
 		}
 		if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -62609,7 +62603,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		if pGroupBy != 0 {
 			var pItem uintptr
 
-			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7774) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
+			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7763) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 				return WRC_Abort
 			}
 			i = 0
@@ -62621,7 +62615,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 			{
 				if (*Expr)(unsafe.Pointer((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr)).Fflags&U32(EP_Agg) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7780, 0)
+						ts+7769, 0)
 					return WRC_Abort
 				}
 
@@ -63485,7 +63479,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32
 	var mxHeight int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4))
 	if nHeight > mxHeight {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+7839, libc.VaList(bp, mxHeight))
+			ts+7828, libc.VaList(bp, mxHeight))
 		rc = SQLITE_ERROR
 	}
 	return rc
@@ -63734,10 +63728,10 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList
 			nExprElem = 1
 		}
 		if nExprElem != nElem {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7887,
+			Xsqlite3ErrorMsg(tls, pParse, ts+7876,
 				libc.VaList(bp, nExprElem, func() uintptr {
 					if nExprElem > 1 {
-						return ts + 7931
+						return ts + 7920
 					}
 					return ts + 1547
 				}(), nElem))
@@ -63778,7 +63772,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt
 		!(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 		Xsqlite3ExprDeferredDelete(tls, pParse, pLeft)
 		Xsqlite3ExprDeferredDelete(tls, pParse, pRight)
-		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7933)
+		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7922)
 	} else {
 		return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight)
 	}
@@ -63804,7 +63798,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u
 	if pList != 0 &&
 		(*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) &&
 		!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7935, libc.VaList(bp, pToken))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7924, libc.VaList(bp, pToken))
 	}
 	*(*uintptr)(unsafe.Pointer(pNew + 32)) = pList
 	*(*U32)(unsafe.Pointer(pNew + 4)) |= U32(EP_HasFunc)
@@ -63832,7 +63826,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD
 	if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromDDL) != U32(0) {
 		if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_DIRECT) != U32(0) ||
 			(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) == uint64(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7969, libc.VaList(bp, pExpr))
+			Xsqlite3ErrorMsg(tls, pParse, ts+7958, libc.VaList(bp, pExpr))
 		}
 	}
 }
@@ -63879,7 +63873,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 			}
 
 			if bOk == 0 || *(*I64)(unsafe.Pointer(bp + 8)) < int64(1) || *(*I64)(unsafe.Pointer(bp + 8)) > I64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7989,
+				Xsqlite3ErrorMsg(tls, pParse, ts+7978,
 					libc.VaList(bp, *(*int32)(unsafe.Pointer(db + 136 + 9*4))))
 				Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 				return
@@ -63904,7 +63898,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 	}
 	(*Expr)(unsafe.Pointer(pExpr)).FiColumn = x
 	if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+8032, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+8021, 0)
 		Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 	}
 }
@@ -64479,7 +64473,7 @@ __2:
 	if !(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_SELECT && (*IdList)(unsafe.Pointer(pColumns)).FnId != libc.AssignInt32(&n, Xsqlite3ExprVectorSize(tls, pExpr))) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+8055,
+	Xsqlite3ErrorMsg(tls, pParse, ts+8044,
 		libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n))
 	goto vector_append_error
 __3:
@@ -64602,7 +64596,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr,
 	var mx int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4))
 
 	if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx {
-		Xsqlite3ErrorMsg(tls, pParse, ts+8085, libc.VaList(bp, zObject))
+		Xsqlite3ErrorMsg(tls, pParse, ts+8074, libc.VaList(bp, zObject))
 	}
 }
 
@@ -64658,10 +64652,10 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int
 //	  "false"                        EP_IsFalse
 //	  anything else                  0
 func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 {
-	if Xsqlite3StrICmp(tls, zIn, ts+7167) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+8097) == 0 {
 		return U32(EP_IsTrue)
 	}
-	if Xsqlite3StrICmp(tls, zIn, ts+7172) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+8102) == 0 {
 		return U32(EP_IsFalse)
 	}
 	return U32(0)
@@ -65736,7 +65730,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 {
 	}
 	if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
-		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7933)
+		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7922)
 		if pLimit != 0 {
 			(*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC)
 			pLimit = Xsqlite3PExpr(tls, pParse, TK_NE,
@@ -66174,6 +66168,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr
 func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) {
 	var iAddr int32
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
+	var nErr int32 = (*Parse)(unsafe.Pointer(pParse)).FnErr
 
 	if (*Parse)(unsafe.Pointer(pParse)).FiSelfTab > 0 {
 		iAddr = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Parse)(unsafe.Pointer(pParse)).FiSelfTab-1, 0, regOut)
@@ -66187,6 +66182,9 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr
 	if iAddr != 0 {
 		Xsqlite3VdbeJumpHere(tls, v, iAddr)
 	}
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr > nErr {
+		(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FerrByteOffset = -1
+	}
 }
 
 // Generate code to extract the value of the iCol-th column of a table.
@@ -66405,6 +66403,7 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 	var p uintptr
 	var v uintptr
 	for p = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr; p != 0; p = (*IndexedExpr)(unsafe.Pointer(p)).FpIENext {
+		var exprAff U8
 		var iDataCur int32 = (*IndexedExpr)(unsafe.Pointer(p)).FiDataCur
 		if iDataCur < 0 {
 			continue
@@ -66418,6 +66417,14 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 		if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IndexedExpr)(unsafe.Pointer(p)).FpExpr, iDataCur) != 0 {
 			continue
 		}
+
+		exprAff = U8(Xsqlite3ExprAffinity(tls, pExpr))
+		if int32(exprAff) <= SQLITE_AFF_BLOB && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_BLOB ||
+			int32(exprAff) == SQLITE_AFF_TEXT && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_TEXT ||
+			int32(exprAff) >= SQLITE_AFF_NUMERIC && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_NUMERIC {
+			continue
+		}
+
 		v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 
 		if (*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow != 0 {
@@ -67191,7 +67198,7 @@ __121:
 	if !((*Expr)(unsafe.Pointer(pExpr)).FiTable != n1) {
 		goto __122
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+8055,
+	Xsqlite3ErrorMsg(tls, pParse, ts+8044,
 		libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1))
 __122:
 	;
@@ -67213,11 +67220,10 @@ __49:
 	return target
 
 __50:
-	if !(!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) &&
-		(*Expr)(unsafe.Pointer(pExpr)).FpLeft != 0 &&
-		int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_FUNCTION) {
+	if !!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) {
 		goto __123
 	}
+
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	if !(inReg != target) {
 		goto __125
@@ -67288,13 +67294,19 @@ __129:
 	;
 __127:
 	;
-	addrINR = Xsqlite3VdbeAddOp1(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable)
+	addrINR = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable, 0, target)
 
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = U8(0)
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = okConstFactor
+	if !(inReg != target) {
+		goto __130
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, inReg, target)
+	inReg = target
+__130:
+	;
 	Xsqlite3VdbeJumpHere(tls, v, addrINR)
-	Xsqlite3VdbeChangeP3(tls, v, addrINR, inReg)
 	goto __5
 
 __56:
@@ -67307,15 +67319,15 @@ __56:
 	nExpr = (*ExprList)(unsafe.Pointer(pEList)).FnExpr
 	endLabel = Xsqlite3VdbeMakeLabel(tls, pParse)
 	if !(libc.AssignUintptr(&pX, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) != uintptr(0)) {
-		goto __130
+		goto __131
 	}
 	pDel = Xsqlite3ExprDup(tls, db1, pX, 0)
 	if !((*Sqlite3)(unsafe.Pointer(db1)).FmallocFailed != 0) {
-		goto __131
+		goto __132
 	}
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	goto __5
-__131:
+__132:
 	;
 	exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+40))
 
@@ -67325,22 +67337,22 @@ __131:
 	pTest = bp + 120
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = 0
-__130:
+__131:
 	;
 	i1 = 0
-__132:
+__133:
 	if !(i1 < nExpr-1) {
-		goto __134
+		goto __135
 	}
 	if !(pX != 0) {
-		goto __135
+		goto __136
 	}
 
 	(*Expr)(unsafe.Pointer(bp + 120)).FpRight = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
-	goto __136
-__135:
-	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+	goto __137
 __136:
+	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+__137:
 	;
 	nextCase = Xsqlite3VdbeMakeLabel(tls, pParse)
 
@@ -67349,21 +67361,21 @@ __136:
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(aListelem+uintptr(i1+1)*32)).FpExpr, target)
 	Xsqlite3VdbeGoto(tls, v, endLabel)
 	Xsqlite3VdbeResolveLabel(tls, v, nextCase)
-	goto __133
-__133:
-	i1 = i1 + 2
-	goto __132
 	goto __134
 __134:
+	i1 = i1 + 2
+	goto __133
+	goto __135
+__135:
 	;
 	if !(nExpr&1 != 0) {
-		goto __137
+		goto __138
 	}
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(pEList+8+uintptr(nExpr-1)*32)).FpExpr, target)
-	goto __138
-__137:
-	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+	goto __139
 __138:
+	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+__139:
 	;
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	setDoNotMergeFlagOnCopy(tls, v)
@@ -67373,27 +67385,27 @@ __138:
 __57:
 	;
 	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).FpTriggerTab) != 0) && !(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0)) {
-		goto __139
+		goto __140
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
 		ts+8485, 0)
 	return 0
-__139:
-	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
-		goto __140
-	}
-	Xsqlite3MayAbort(tls, pParse)
 __140:
 	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
 		goto __141
 	}
+	Xsqlite3MayAbort(tls, pParse)
+__141:
+	;
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+		goto __142
+	}
 	Xsqlite3VdbeAddOp4(tls,
 		v, OP_Halt, SQLITE_OK, OE_Ignore, 0, *(*uintptr)(unsafe.Pointer(pExpr + 8)), 0)
 
-	goto __142
-__141:
+	goto __143
+__142:
 	Xsqlite3HaltConstraint(tls, pParse,
 		func() int32 {
 			if (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab != 0 {
@@ -67402,7 +67414,7 @@ __141:
 			return SQLITE_ERROR
 		}(),
 		int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr), *(*uintptr)(unsafe.Pointer(pExpr + 8)), int8(0), uint8(0))
-__142:
+__143:
 	;
 	goto __5
 
@@ -70073,7 +70085,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 		return SQLITE_NOMEM
 	}
 	if Xsqlite3_strnicmp(tls, zSql, ts+11325, 7) != 0 {
-		return Xsqlite3CorruptError(tls, 113494)
+		return Xsqlite3CorruptError(tls, 113516)
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 {
 		if bTemp != 0 {
@@ -70090,7 +70102,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 	}
 	if rc == SQLITE_OK &&
 		((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
-		rc = Xsqlite3CorruptError(tls, 113505)
+		rc = Xsqlite3CorruptError(tls, 113527)
 	}
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
@@ -71010,7 +71022,7 @@ __1:
 		goto __2
 	}
 
-	rc = Xsqlite3CorruptError(tls, 114441)
+	rc = Xsqlite3CorruptError(tls, 114463)
 	goto drop_column_done
 __2:
 	;
@@ -75373,6 +75385,12 @@ __10:
 
 	pExpr = Xsqlite3PExpr(tls, pParse, TK_UPLUS, pExpr, uintptr(0))
 __11:
+	;
+	if !(pExpr != 0 && int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_RAISE) {
+		goto __12
+	}
+	(*Expr)(unsafe.Pointer(pExpr)).FaffExpr = (*Column)(unsafe.Pointer(pCol)).Faffinity
+__12:
 	;
 	Xsqlite3ColumnSetExpr(tls, pParse, pTab, pCol, pExpr)
 	pExpr = uintptr(0)
@@ -76538,7 +76556,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 {
 		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3279, 4) == 0 {
 			return 0
 		}
-		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7536, 10) == 0 {
+		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7525, 10) == 0 {
 			return 0
 		}
 		return 1
@@ -77784,7 +77802,7 @@ __81:
 		goto __101
 	}
 	Xsqlite3ErrorMsg(tls, pParse, ts+14543, 0)
-	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121835)
+	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121859)
 	goto exit_create_index
 __101:
 	;
@@ -79829,7 +79847,7 @@ __20:
 	goto __16
 __15:
 	wcf = U16(WHERE_ONEPASS_DESIRED | WHERE_DUPLICATES_OK)
-	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_VarSelect != 0) {
+	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_Subquery != 0) {
 		goto __23
 	}
 	bComplex = 1
@@ -86294,7 +86312,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca
 	if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) {
 		goto __1
 	}
-	return Xsqlite3MisuseError(tls, 131895)
+	return Xsqlite3MisuseError(tls, 131931)
 __1:
 	;
 	if !(zSql == uintptr(0)) {
@@ -87696,7 +87714,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh
 		} else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) {
 			zType = ts + 17935
 		} else {
-			zType = ts + 7931
+			zType = ts + 7920
 		}
 		Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17937,
 			libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin,
@@ -87863,6 +87881,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p
 	var zErr2 uintptr
 	var k3 int32
 	var pCheck uintptr
+	var jmp7 int32
 	var jmp6 int32
 	var iCol1 int32
 	var uniqOk int32
@@ -89220,7 +89239,7 @@ __221:
 		goto __223
 	}
 	pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7931, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7920, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
 	goto __222
 __222:
 	j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext
@@ -89236,7 +89255,7 @@ __224:
 	if !(i6 < int32(uint64(unsafe.Sizeof(aPragmaName))/uint64(unsafe.Sizeof(PragmaName{})))) {
 		goto __226
 	}
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7931, libc.VaList(bp+272, aPragmaName[i6].FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7920, libc.VaList(bp+272, aPragmaName[i6].FzName))
 	goto __225
 __225:
 	i6++
@@ -90041,80 +90060,94 @@ __350:
 	jmp4 = integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, jmp21)
 
+	if !((*Table)(unsafe.Pointer(pTab9)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) {
+		goto __351
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_IdxRowid, *(*int32)(unsafe.Pointer(bp + 624))+j4, 3)
+	jmp7 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 3, 0, r1+int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)-1)
+
+	Xsqlite3VdbeLoadString(tls, v, 3,
+		ts+18381)
+	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+18417)
+	Xsqlite3VdbeGoto(tls, v, jmp5-1)
+	Xsqlite3VdbeJumpHere(tls, v, jmp7)
+__351:
+	;
 	label6 = 0
 	kk = 0
-__351:
+__352:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __353
-	}
-	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __354
 	}
-	goto __352
-__354:
-	;
-	if !(label6 == 0) {
+	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __355
 	}
-	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+	goto __353
 __355:
+	;
+	if !(label6 == 0) {
+		goto __356
+	}
+	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+__356:
 	;
 	Xsqlite3VdbeAddOp3(tls, v, OP_Column, *(*int32)(unsafe.Pointer(bp + 624))+j4, kk, 3)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Ne, 3, label6, r1+kk)
-	goto __352
-__352:
-	kk++
-	goto __351
 	goto __353
 __353:
+	kk++
+	goto __352
+	goto __354
+__354:
 	;
 	if !(label6 != 0) {
-		goto __356
+		goto __357
 	}
 	jmp6 = Xsqlite3VdbeAddOp0(tls, v, OP_Goto)
 	Xsqlite3VdbeResolveLabel(tls, v, label6)
 	Xsqlite3VdbeLoadString(tls, v, 3, ts+18355)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
-	Xsqlite3VdbeLoadString(tls, v, 4, ts+18381)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+18428)
 	Xsqlite3VdbeGoto(tls, v, jmp5-1)
 	Xsqlite3VdbeJumpHere(tls, v, jmp6)
-__356:
+__357:
 	;
 	if !(int32((*Index)(unsafe.Pointer(pIdx5)).FonError) != OE_None) {
-		goto __357
+		goto __358
 	}
 	uniqOk = Xsqlite3VdbeMakeLabel(tls, pParse)
 	kk = 0
-__358:
+__359:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __360
+		goto __361
 	}
 	iCol1 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2)))
 
 	if !(iCol1 >= 0 && uint32(int32(*(*uint8)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*24 + 8))&0xf>>0)) != 0) {
-		goto __361
+		goto __362
 	}
-	goto __359
-__361:
+	goto __360
+__362:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_IsNull, r1+kk, uniqOk)
 
-	goto __359
-__359:
-	kk++
-	goto __358
 	goto __360
 __360:
+	kk++
+	goto __359
+	goto __361
+__361:
 	;
 	jmp61 = Xsqlite3VdbeAddOp1(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 624))+j4)
 	Xsqlite3VdbeGoto(tls, v, uniqOk)
 	Xsqlite3VdbeJumpHere(tls, v, jmp61)
 	Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, *(*int32)(unsafe.Pointer(bp + 624))+j4, uniqOk, r1,
 		int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol))
-	Xsqlite3VdbeLoadString(tls, v, 3, ts+18408)
+	Xsqlite3VdbeLoadString(tls, v, 3, ts+18455)
 	Xsqlite3VdbeGoto(tls, v, jmp5)
 	Xsqlite3VdbeResolveLabel(tls, v, uniqOk)
-__357:
+__358:
 	;
 	Xsqlite3VdbeJumpHere(tls, v, jmp4)
 	Xsqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 640)))
@@ -90131,20 +90164,20 @@ __346:
 	Xsqlite3VdbeAddOp2(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 620)), loopTop)
 	Xsqlite3VdbeJumpHere(tls, v, loopTop-1)
 	if !!(isQuick != 0) {
-		goto __362
+		goto __363
 	}
-	Xsqlite3VdbeLoadString(tls, v, 2, ts+18435)
+	Xsqlite3VdbeLoadString(tls, v, 2, ts+18482)
 	j4 = 0
 	pIdx5 = (*Table)(unsafe.Pointer(pTab9)).FpIndex
-__363:
+__364:
 	if !(pIdx5 != 0) {
-		goto __365
-	}
-	if !(pPk1 == pIdx5) {
 		goto __366
 	}
-	goto __364
-__366:
+	if !(pPk1 == pIdx5) {
+		goto __367
+	}
+	goto __365
+__367:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_Count, *(*int32)(unsafe.Pointer(bp + 624))+j4, 3)
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 8+j4, 0, 3)
@@ -90153,21 +90186,21 @@ __366:
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 2, 3)
 	integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
-	goto __364
-__364:
-	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
-	j4++
-	goto __363
 	goto __365
 __365:
+	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
+	j4++
+	goto __364
+	goto __366
+__366:
 	;
 	if !(pPk1 != 0) {
-		goto __367
+		goto __368
 	}
 	Xsqlite3ReleaseTempRange(tls, pParse, r2, int32((*Index)(unsafe.Pointer(pPk1)).FnKeyCol))
-__367:
+__368:
 	;
-__362:
+__363:
 	;
 	goto __297
 __297:
@@ -90185,14 +90218,14 @@ __272:
 	;
 	aOp2 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(endCode))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&endCode)), iLn5)
 	if !(aOp2 != 0) {
-		goto __368
+		goto __369
 	}
 	(*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = 1 - *(*int32)(unsafe.Pointer(bp + 616))
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1)
-	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 18464
+	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 18511
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 5*24)).Fp4type = int8(-1)
 	*(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT)
-__368:
+__369:
 	;
 	Xsqlite3VdbeChangeP3(tls, v, 0, Xsqlite3VdbeCurrentAddr(tls, v)-2)
 
@@ -90200,27 +90233,27 @@ __368:
 
 __46:
 	if !!(zRight != 0) {
-		goto __369
+		goto __370
 	}
 	if !(Xsqlite3ReadSchema(tls, pParse) != 0) {
-		goto __371
-	}
-	goto pragma_out
-__371:
-	;
-	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
-	goto __370
-__369:
-	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
 		goto __372
 	}
+	goto pragma_out
+__372:
+	;
+	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
+	goto __371
+__370:
+	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
+		goto __373
+	}
 	pEnc = uintptr(unsafe.Pointer(&encnames1))
-__373:
+__374:
 	if !((*EncName)(unsafe.Pointer(pEnc)).FzName != 0) {
-		goto __375
+		goto __376
 	}
 	if !(0 == Xsqlite3StrICmp(tls, zRight, (*EncName)(unsafe.Pointer(pEnc)).FzName)) {
-		goto __376
+		goto __377
 	}
 	if (*EncName)(unsafe.Pointer(pEnc)).Fenc != 0 {
 		enc = (*EncName)(unsafe.Pointer(pEnc)).Fenc
@@ -90229,25 +90262,25 @@ __373:
 	}
 	(*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema)).Fenc = enc
 	Xsqlite3SetTextEncoding(tls, db, enc)
-	goto __375
-__376:
-	;
-	goto __374
-__374:
-	pEnc += 16
-	goto __373
-	goto __375
-__375:
-	;
-	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
-		goto __377
-	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18467, libc.VaList(bp+456, zRight))
+	goto __376
 __377:
 	;
-__372:
+	goto __375
+__375:
+	pEnc += 16
+	goto __374
+	goto __376
+__376:
 	;
-__370:
+	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
+		goto __378
+	}
+	Xsqlite3ErrorMsg(tls, pParse, ts+18514, libc.VaList(bp+456, zRight))
+__378:
+	;
+__373:
+	;
+__371:
 	;
 	goto __15
 
@@ -90255,15 +90288,15 @@ __47:
 	iCookie = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiArg)
 	Xsqlite3VdbeUsesBtree(tls, v, iDb)
 	if !(zRight != 0 && int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_ReadOnly == 0) {
-		goto __378
+		goto __379
 	}
 
 	aOp3 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(setCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&setCookie)), 0)
 	if !(0 != 0) {
-		goto __380
+		goto __381
 	}
 	goto __15
-__380:
+__381:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp3)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp1 = iDb
@@ -90271,41 +90304,41 @@ __380:
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp3 = Xsqlite3Atoi(tls, zRight)
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp5 = U16(1)
 	if !(iCookie == BTREE_SCHEMA_VERSION && (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0)) {
-		goto __381
+		goto __382
 	}
 
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fopcode = U8(OP_Noop)
-__381:
+__382:
 	;
-	goto __379
-__378:
+	goto __380
+__379:
 	;
 	aOp4 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(readCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&readCookie)), 0)
 	if !(0 != 0) {
-		goto __382
+		goto __383
 	}
 	goto __15
-__382:
+__383:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp4)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp3 = iCookie
 	Xsqlite3VdbeReusable(tls, v)
-__379:
+__380:
 	;
 	goto __15
 
 __48:
 	i10 = 0
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 1
-__383:
+__384:
 	if !(libc.AssignUintptr(&zOpt, Xsqlite3_compileoption_get(tls, libc.PostIncInt32(&i10, 1))) != uintptr(0)) {
-		goto __384
+		goto __385
 	}
 	Xsqlite3VdbeLoadString(tls, v, 1, zOpt)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1)
-	goto __383
-__384:
+	goto __384
+__385:
 	;
 	Xsqlite3VdbeReusable(tls, v)
 
@@ -90320,31 +90353,31 @@ __49:
 	}()
 	eMode2 = SQLITE_CHECKPOINT_PASSIVE
 	if !(zRight != 0) {
-		goto __385
-	}
-	if !(Xsqlite3StrICmp(tls, zRight, ts+17767) == 0) {
 		goto __386
 	}
+	if !(Xsqlite3StrICmp(tls, zRight, ts+17767) == 0) {
+		goto __387
+	}
 	eMode2 = SQLITE_CHECKPOINT_FULL
-	goto __387
-__386:
-	if !(Xsqlite3StrICmp(tls, zRight, ts+18492) == 0) {
-		goto __388
+	goto __388
+__387:
+	if !(Xsqlite3StrICmp(tls, zRight, ts+18539) == 0) {
+		goto __389
 	}
 	eMode2 = SQLITE_CHECKPOINT_RESTART
-	goto __389
-__388:
+	goto __390
+__389:
 	if !(Xsqlite3StrICmp(tls, zRight, ts+17920) == 0) {
-		goto __390
+		goto __391
 	}
 	eMode2 = SQLITE_CHECKPOINT_TRUNCATE
+__391:
+	;
 __390:
 	;
-__389:
+__388:
 	;
-__387:
-	;
-__385:
+__386:
 	;
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 3
 	Xsqlite3VdbeAddOp3(tls, v, OP_Checkpoint, iBt, eMode2, 1)
@@ -90354,10 +90387,10 @@ __385:
 
 __50:
 	if !(zRight != 0) {
-		goto __391
+		goto __392
 	}
 	Xsqlite3_wal_autocheckpoint(tls, db, Xsqlite3Atoi(tls, zRight))
-__391:
+__392:
 	;
 	returnSingleInt(tls, v,
 		func() int64 {
@@ -90377,19 +90410,19 @@ __51:
 
 __52:
 	if !(zRight != 0) {
-		goto __392
+		goto __393
 	}
 	opMask = U32(Xsqlite3Atoi(tls, zRight))
 	if !(opMask&U32(0x02) == U32(0)) {
-		goto __394
+		goto __395
 	}
 	goto __15
-__394:
+__395:
 	;
-	goto __393
-__392:
-	opMask = U32(0xfffe)
+	goto __394
 __393:
+	opMask = U32(0xfffe)
+__394:
 	;
 	iTabCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1)
 	iDbLast = func() int32 {
@@ -90398,86 +90431,86 @@ __393:
 		}
 		return (*Sqlite3)(unsafe.Pointer(db)).FnDb - 1
 	}()
-__395:
+__396:
 	if !(iDb <= iDbLast) {
-		goto __397
-	}
-	if !(iDb == 1) {
 		goto __398
 	}
-	goto __396
-__398:
+	if !(iDb == 1) {
+		goto __399
+	}
+	goto __397
+__399:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
 	pSchema = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema
 	k4 = (*Hash)(unsafe.Pointer(pSchema + 8)).Ffirst
-__399:
+__400:
 	if !(k4 != 0) {
-		goto __401
+		goto __402
 	}
 	pTab10 = (*HashElem)(unsafe.Pointer(k4)).Fdata
 
 	if !((*Table)(unsafe.Pointer(pTab10)).FtabFlags&U32(TF_StatsUsed) == U32(0)) {
-		goto __402
+		goto __403
 	}
-	goto __400
-__402:
+	goto __401
+__403:
 	;
 	szThreshold = LogEst(int32((*Table)(unsafe.Pointer(pTab10)).FnRowLogEst) + 46)
 	pIdx6 = (*Table)(unsafe.Pointer(pTab10)).FpIndex
-__403:
+__404:
 	if !(pIdx6 != 0) {
-		goto __405
-	}
-	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
 		goto __406
 	}
+	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
+		goto __407
+	}
 	szThreshold = int16(0)
-	goto __405
-__406:
+	goto __406
+__407:
 	;
-	goto __404
-__404:
-	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
-	goto __403
 	goto __405
 __405:
+	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
+	goto __404
+	goto __406
+__406:
 	;
 	if !(szThreshold != 0) {
-		goto __407
+		goto __408
 	}
 	Xsqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab10, OP_OpenRead)
 	Xsqlite3VdbeAddOp3(tls, v, OP_IfSmaller, iTabCur,
 		int32(U32(Xsqlite3VdbeCurrentAddr(tls, v)+2)+opMask&U32(1)), int32(szThreshold))
 
-__407:
+__408:
 	;
-	zSubSql = Xsqlite3MPrintf(tls, db, ts+18500,
+	zSubSql = Xsqlite3MPrintf(tls, db, ts+18547,
 		libc.VaList(bp+464, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab10)).FzName))
 	if !(opMask&U32(0x01) != 0) {
-		goto __408
+		goto __409
 	}
 	r11 = Xsqlite3GetTempReg(tls, pParse)
 	Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, r11, 0, zSubSql, -6)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, r11, 1)
-	goto __409
-__408:
-	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+	goto __410
 __409:
+	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+__410:
 	;
-	goto __400
-__400:
-	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
-	goto __399
 	goto __401
 __401:
+	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
+	goto __400
+	goto __402
+__402:
 	;
-	goto __396
-__396:
-	iDb++
-	goto __395
 	goto __397
 __397:
+	iDb++
+	goto __396
+	goto __398
+__398:
 	;
 	Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
 	goto __15
@@ -90485,36 +90518,36 @@ __397:
 __53:
 	;
 	if !(zRight != 0) {
-		goto __410
+		goto __411
 	}
 	Xsqlite3_busy_timeout(tls, db, Xsqlite3Atoi(tls, zRight))
-__410:
+__411:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout))
 	goto __15
 
 __54:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+648) == SQLITE_OK) {
-		goto __411
+		goto __412
 	}
 	Xsqlite3_soft_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 648)))
-__411:
+__412:
 	;
 	returnSingleInt(tls, v, Xsqlite3_soft_heap_limit64(tls, int64(-1)))
 	goto __15
 
 __55:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+656) == SQLITE_OK) {
-		goto __412
+		goto __413
 	}
 	iPrior = Xsqlite3_hard_heap_limit64(tls, int64(-1))
 	if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 656)) > int64(0) && (iPrior == int64(0) || iPrior > *(*Sqlite3_int64)(unsafe.Pointer(bp + 656)))) {
-		goto __413
+		goto __414
 	}
 	Xsqlite3_hard_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 656)))
-__413:
+__414:
 	;
-__412:
+__413:
 	;
 	returnSingleInt(tls, v, Xsqlite3_hard_heap_limit64(tls, int64(-1)))
 	goto __15
@@ -90523,10 +90556,10 @@ __56:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+664) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 664)) >= int64(0)) {
-		goto __414
+		goto __415
 	}
 	Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 664))&int64(0x7fffffff)))
-__414:
+__415:
 	;
 	returnSingleInt(tls, v, int64(Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, -1)))
 	goto __15
@@ -90535,10 +90568,10 @@ __57:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+672) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 672)) >= int64(0)) {
-		goto __415
+		goto __416
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 672)) & int64(0x7fffffff))
-__415:
+__416:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit))
 	goto __15
@@ -90546,10 +90579,10 @@ __415:
 __15:
 	;
 	if !(int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_NoColumns1 != 0 && zRight != 0) {
-		goto __416
+		goto __417
 	}
 
-__416:
+__417:
 	;
 pragma_out:
 	Xsqlite3DbFree(tls, db, zLeft)
@@ -90601,14 +90634,14 @@ var endCode = [7]VdbeOpList{
 	{Fopcode: U8(OP_Goto), Fp2: int8(3)},
 }
 var encnames1 = [9]EncName{
-	{FzName: ts + 18518, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18523, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18529, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18538, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18547, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18555, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18563},
-	{FzName: ts + 18570},
+	{FzName: ts + 18565, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18570, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18576, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18585, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18594, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18602, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18610},
+	{FzName: ts + 18617},
 	{},
 }
 var setCookie = [2]VdbeOpList{
@@ -90660,7 +90693,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	_ = argc
 	_ = argv
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), bp+64, int32(unsafe.Sizeof([200]int8{})), 0)
-	Xsqlite3_str_appendall(tls, bp+32, ts+18576)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18623)
 	i = 0
 	j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName)
 __1:
@@ -90668,7 +90701,7 @@ __1:
 		goto __3
 	}
 	{
-		Xsqlite3_str_appendf(tls, bp+32, ts+18591, libc.VaList(bp, int32(cSep), pragCName[j]))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18638, libc.VaList(bp, int32(cSep), pragCName[j]))
 		cSep = int8(',')
 
 	}
@@ -90681,16 +90714,16 @@ __2:
 __3:
 	;
 	if i == 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18598, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18645, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
 		i++
 	}
 	j = 0
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_Result1 != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18604)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18651)
 		j++
 	}
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(PragFlg_SchemaOpt|PragFlg_SchemaReq) != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18616)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18663)
 		j++
 	}
 	Xsqlite3_str_append(tls, bp+32, ts+5360, 1)
@@ -90873,13 +90906,13 @@ __2:
 __3:
 	;
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4)))
-	Xsqlite3_str_appendall(tls, bp+32, ts+18631)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18678)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18639, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18686, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
 	}
 	Xsqlite3_str_appendall(tls, bp+32, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18643, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18690, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
 	}
 	zSql = Xsqlite3StrAccumFinish(tls, bp+32)
 	if zSql == uintptr(0) {
@@ -90956,12 +90989,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 	} else if *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) != uintptr(0) {
 	} else if (*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask) != 0 {
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db,
-			ts+18647, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
+			ts+18694, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
 				azAlterType[(*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask)-U32(1)],
 				zExtra))
 		(*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR
 	} else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137196)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137249)
 	} else {
 		var z uintptr
 		var zObj uintptr
@@ -90970,19 +91003,19 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 		} else {
 			zObj = ts + 5411
 		}
-		z = Xsqlite3MPrintf(tls, db, ts+18675, libc.VaList(bp+32, zObj))
+		z = Xsqlite3MPrintf(tls, db, ts+18722, libc.VaList(bp+32, zObj))
 		if zExtra != 0 && *(*int8)(unsafe.Pointer(zExtra)) != 0 {
-			z = Xsqlite3MPrintf(tls, db, ts+18706, libc.VaList(bp+40, z, zExtra))
+			z = Xsqlite3MPrintf(tls, db, ts+18753, libc.VaList(bp+40, z, zExtra))
 		}
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137203)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137256)
 	}
 }
 
 var azAlterType = [3]uintptr{
-	ts + 18714,
-	ts + 18721,
-	ts + 18733,
+	ts + 18761,
+	ts + 18768,
+	ts + 18780,
 }
 
 // Check to see if any sibling index (another index on the same table)
@@ -91074,7 +91107,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr
 		var pIndex uintptr
 		pIndex = Xsqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName)
 		if pIndex == uintptr(0) {
-			corruptSchema(tls, pData, argv, ts+18744)
+			corruptSchema(tls, pData, argv, ts+18791)
 		} else if Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2) ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage ||
@@ -91122,7 +91155,7 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl
 	}())
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 16 + 1*8))
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 3*8)) = ts + 8341
-	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18757
+	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18804
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 5*8)) = uintptr(0)
 	(*InitData)(unsafe.Pointer(bp + 64)).Fdb = db
 	(*InitData)(unsafe.Pointer(bp + 64)).FiDb = iDb
@@ -91251,7 +91284,7 @@ __18:
 	if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) {
 		goto __19
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+18829)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+18876)
 	rc = SQLITE_ERROR
 	goto initone_error_out
 __19:
@@ -91265,7 +91298,7 @@ __20:
 	(*InitData)(unsafe.Pointer(bp + 64)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt)
 
 	zSql = Xsqlite3MPrintf(tls, db,
-		ts+18853,
+		ts+18900,
 		libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zSchemaTabName))
 
 	xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth
@@ -91597,7 +91630,7 @@ __4:
 		goto __8
 	}
 	zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName
-	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18887, libc.VaList(bp, zDb))
+	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18934, libc.VaList(bp, zDb))
 
 	goto end_prepare
 __8:
@@ -91627,7 +91660,7 @@ __9:
 	if !(nBytes > mxLen) {
 		goto __12
 	}
-	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18917, 0)
+	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18964, 0)
 	rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG)
 	goto end_prepare
 __12:
@@ -91723,7 +91756,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 137995)
+		return Xsqlite3MisuseError(tls, 138048)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	Xsqlite3BtreeEnterAll(tls, db)
@@ -91822,7 +91855,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 138143)
+		return Xsqlite3MisuseError(tls, 138196)
 	}
 	if nBytes >= 0 {
 		var sz int32
@@ -92149,13 +92182,13 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC
 			zSp2++
 		}
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+18936, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
+			ts+18983, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
 		jointype = JT_INNER
 	}
 	return jointype
 }
 
-var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18966))
+var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 19013))
 var aKeyword = [7]struct {
 	Fi     U8
 	FnChar U8
@@ -92330,7 +92363,7 @@ __1:
 			var pUsing uintptr = uintptr(0)
 			if uint32(int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+19000, libc.VaList(bp, 0))
+					ts+19047, libc.VaList(bp, 0))
 				return 1
 			}
 			for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ {
@@ -92375,7 +92408,7 @@ __1:
 					tableAndColumnIndex(tls, pSrc, 0, i, zName, bp+24, bp+28,
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) == 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+19050, libc.VaList(bp+8, zName))
+						ts+19097, libc.VaList(bp+8, zName))
 					return 1
 				}
 				pE1 = Xsqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 28)))
@@ -92386,7 +92419,7 @@ __1:
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) != 0 {
 						if int32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 60 + 4))&0x400>>10) == 0 ||
 							Xsqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 72)), zName) < 0 {
-							Xsqlite3ErrorMsg(tls, pParse, ts+19114,
+							Xsqlite3ErrorMsg(tls, pParse, ts+19161,
 								libc.VaList(bp+16, zName))
 							break
 						}
@@ -93014,16 +93047,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr {
 	var z uintptr
 	switch id {
 	case TK_ALL:
-		z = ts + 19151
+		z = ts + 19198
 		break
 	case TK_INTERSECT:
-		z = ts + 19161
+		z = ts + 19208
 		break
 	case TK_EXCEPT:
-		z = ts + 19171
+		z = ts + 19218
 		break
 	default:
-		z = ts + 19178
+		z = ts + 19225
 		break
 	}
 	return z
@@ -93033,7 +93066,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19184, libc.VaList(bp, zUsage))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19231, libc.VaList(bp, zUsage))
 }
 
 func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) {
@@ -93059,9 +93092,9 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n
 	var nRefKey int32 = 0
 	var aOutEx uintptr = (*Select)(unsafe.Pointer(p)).FpEList + 8
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19207, libc.VaList(bp, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19254, libc.VaList(bp, func() uintptr {
 		if (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 {
-			return ts + 19238
+			return ts + 19285
 		}
 		return ts + 1547
 	}()))
@@ -93405,7 +93438,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr)
 		} else {
 			var z uintptr = (*ExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32)).FzEName
 			if z == uintptr(0) {
-				z = Xsqlite3MPrintf(tls, db, ts+19253, libc.VaList(bp+16, i+1))
+				z = Xsqlite3MPrintf(tls, db, ts+19300, libc.VaList(bp+16, i+1))
 			} else {
 				z = Xsqlite3DbStrDup(tls, db, z)
 			}
@@ -93505,7 +93538,7 @@ __1:
 		if zName != 0 && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) {
 			zName = Xsqlite3DbStrDup(tls, db, zName)
 		} else {
-			zName = Xsqlite3MPrintf(tls, db, ts+19253, libc.VaList(bp, i+1))
+			zName = Xsqlite3MPrintf(tls, db, ts+19300, libc.VaList(bp, i+1))
 		}
 
 		*(*U32)(unsafe.Pointer(bp + 56)) = U32(0)
@@ -93521,7 +93554,7 @@ __1:
 					nName = j
 				}
 			}
-			zName = Xsqlite3MPrintf(tls, db, ts+19262, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
+			zName = Xsqlite3MPrintf(tls, db, ts+19309, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
 			Xsqlite3ProgressCheck(tls, pParse)
 			if *(*U32)(unsafe.Pointer(bp + 56)) > U32(3) {
 				Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56)
@@ -93604,8 +93637,6 @@ __1:
 		(*Column)(unsafe.Pointer(pCol)).Faffinity = Xsqlite3ExprAffinity(tls, p)
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) <= SQLITE_AFF_NONE {
 			(*Column)(unsafe.Pointer(pCol)).Faffinity = aff
-		} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
-			(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
 		}
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_TEXT && (*Select)(unsafe.Pointer(pSelect)).FpNext != 0 {
 			var m int32 = 0
@@ -93620,12 +93651,15 @@ __1:
 			} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && m&0x02 != 0 {
 				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_BLOB)
 			}
+			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
+				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
+			}
 		}
 		zType = columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0))
 		if zType == uintptr(0) || int32((*Column)(unsafe.Pointer(pCol)).Faffinity) != int32(Xsqlite3AffinityType(tls, zType, uintptr(0))) {
 			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_NUMERIC ||
 				int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_FLEXNUM {
-				zType = ts + 19270
+				zType = ts + 19317
 			} else {
 				zType = uintptr(0)
 				for j = 1; j < SQLITE_N_STDTYPE; j++ {
@@ -93841,7 +93875,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest
 	if !((*Select)(unsafe.Pointer(p)).FpWin != 0) {
 		goto __1
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19274, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19321, 0)
 	return
 __1:
 	;
@@ -93932,7 +93966,7 @@ __12:
 	if !((*Select)(unsafe.Pointer(pFirstRec)).FselFlags&U32(SF_Aggregate) != 0) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19323, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19370, 0)
 	goto end_of_recursive_query
 __15:
 	;
@@ -93952,7 +93986,7 @@ __14:
 	;
 	pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19365, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19412, 0)
 	rc = Xsqlite3Select(tls, pParse, pSetup, bp)
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = p
 	if !(rc != 0) {
@@ -93989,7 +94023,7 @@ __20:
 	Xsqlite3VdbeResolveLabel(tls, v, addrCont)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19371, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19418, 0)
 	Xsqlite3Select(tls, pParse, p, bp)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup
@@ -94023,7 +94057,7 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 		p = (*Select)(unsafe.Pointer(p)).FpPrior
 		nRow = nRow + bShowAll
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19386, libc.VaList(bp, nRow, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19433, libc.VaList(bp, nRow, func() uintptr {
 		if nRow == 1 {
 			return ts + 1547
 		}
@@ -94128,8 +94162,8 @@ __6:
 	if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) {
 		goto __8
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19409, 0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19424, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19456, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19471, 0)
 __8:
 	;
 	switch int32((*Select)(unsafe.Pointer(p)).Fop) {
@@ -94176,7 +94210,7 @@ __16:
 	;
 __15:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19151, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19198, 0)
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+16)
 
@@ -94243,7 +94277,7 @@ __23:
 	pLimit = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 64)).FeDest = op
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19443, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19490, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+64)
 
@@ -94305,7 +94339,7 @@ __26:
 	pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 104)).FiSDParm = tab2
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19443, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19490, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+104)
 
@@ -94458,10 +94492,10 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr)
 	defer tls.Free(8)
 
 	if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Values) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19464, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+19511, 0)
 	} else {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+19510,
+			ts+19557,
 			libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 	}
 }
@@ -94715,8 +94749,8 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	(*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0)
 
 	(*Select)(unsafe.Pointer(pPrior)).FpOrderBy = Xsqlite3ExprListDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7637)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7637)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7626)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7626)
 
 	computeLimitRegisters(tls, pParse, p, labelEnd)
 	if (*Select)(unsafe.Pointer(p)).FiLimit != 0 && op == TK_ALL {
@@ -94743,13 +94777,13 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	Xsqlite3SelectDestInit(tls, bp+8, SRT_Coroutine, regAddrA)
 	Xsqlite3SelectDestInit(tls, bp+48, SRT_Coroutine, regAddrB)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19592, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19639, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	addrSelectA = Xsqlite3VdbeCurrentAddr(tls, v) + 1
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA)
 
 	(*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19603, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19650, 0)
 	Xsqlite3Select(tls, pParse, pPrior, bp+8)
 	Xsqlite3VdbeEndCoroutine(tls, v, regAddrA)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
@@ -94761,7 +94795,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset
 	(*Select)(unsafe.Pointer(p)).FiLimit = regLimitB
 	(*Select)(unsafe.Pointer(p)).FiOffset = 0
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19608, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19655, 0)
 	Xsqlite3Select(tls, pParse, p, bp+48)
 	(*Select)(unsafe.Pointer(p)).FiLimit = savedLimit
 	(*Select)(unsafe.Pointer(p)).FiOffset = savedOffset
@@ -94949,7 +94983,8 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr {
 				Xsqlite3VectorErrorMsg(tls, (*SubstContext)(unsafe.Pointer(pSubst)).FpParse, pCopy)
 			} else {
 				var db uintptr = (*Parse)(unsafe.Pointer((*SubstContext)(unsafe.Pointer(pSubst)).FpParse)).Fdb
-				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 && int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN {
+				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 &&
+					(int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN || (*Expr)(unsafe.Pointer(pCopy)).FiTable != (*SubstContext)(unsafe.Pointer(pSubst)).FiNewTable) {
 					libc.X__builtin___memset_chk(tls, bp, 0, uint64(unsafe.Sizeof(Expr{})), libc.X__builtin_object_size(tls, bp, 0))
 					(*Expr)(unsafe.Pointer(bp)).Fop = U8(TK_IF_NULL_ROW)
 					(*Expr)(unsafe.Pointer(bp)).FpLeft = pCopy
@@ -95848,7 +95883,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	for pIdx = (*Table)(unsafe.Pointer(pTab)).FpIndex; pIdx != 0 && Xsqlite3StrICmp(tls, (*Index)(unsafe.Pointer(pIdx)).FzName, zIndexedBy) != 0; pIdx = (*Index)(unsafe.Pointer(pIdx)).FpNext {
 	}
 	if !(pIdx != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19614, libc.VaList(bp, zIndexedBy, 0))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19661, libc.VaList(bp, zIndexedBy, 0))
 		(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 		return SQLITE_ERROR
 	}
@@ -95931,7 +95966,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 {
 	defer tls.Free(8)
 
 	if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19632, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19679, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
 		return 1
 	}
 	return 0
@@ -96060,7 +96095,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		*(*U32)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= U32(SF_CopyCte)
 
 		if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19655, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
+			Xsqlite3ErrorMsg(tls, pParse, ts+19702, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
 			return 2
 		}
 		libc.SetBitFieldPtr16Uint32(pFrom+60+4, uint32(1), 8, 0x100)
@@ -96083,7 +96118,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 					libc.SetBitFieldPtr16Uint32(pItem+60+4, uint32(1), 6, 0x40)
 					if (*Select)(unsafe.Pointer(pRecTerm)).FselFlags&U32(SF_Recursive) != 0 {
 						Xsqlite3ErrorMsg(tls, pParse,
-							ts+19675, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
+							ts+19722, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
 						return 2
 					}
 					*(*U32)(unsafe.Pointer(pRecTerm + 4)) |= U32(SF_Recursive)
@@ -96099,7 +96134,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 			pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior
 		}
 
-		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19718
+		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19765
 		pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith
 		(*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 48))
 		if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
@@ -96125,7 +96160,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		pEList = (*Select)(unsafe.Pointer(pLeft)).FpEList
 		if (*Cte)(unsafe.Pointer(pCte)).FpCols != 0 {
 			if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr != (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19741,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19788,
 					libc.VaList(bp+24, (*Cte)(unsafe.Pointer(pCte)).FzName, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr))
 				(*Parse)(unsafe.Pointer(pParse)).FpWith = pSavedWith
 				return 2
@@ -96136,9 +96171,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		Xsqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8)
 		if bMayRecursive != 0 {
 			if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19779
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19826
 			} else {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19813
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19860
 			}
 			Xsqlite3WalkSelect(tls, pWalker, pSel)
 		}
@@ -96185,7 +96220,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	if (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 {
 		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3DbStrDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias)
 	} else {
-		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19851, libc.VaList(bp, pFrom))
+		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19898, libc.VaList(bp, pFrom))
 	}
 	for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 {
 		pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior
@@ -96297,7 +96332,7 @@ __1:
 				return WRC_Abort
 			}
 			if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19855,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19902,
 					libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 				(*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0)
 				return WRC_Abort
@@ -96316,7 +96351,7 @@ __1:
 				if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW {
 					if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) &&
 						(*Table)(unsafe.Pointer(pTab)).FpSchema != (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19894,
+						Xsqlite3ErrorMsg(tls, pParse, ts+19941,
 							libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName))
 					}
 					(*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, *(*uintptr)(unsafe.Pointer(pTab + 64)), 0)
@@ -96440,7 +96475,7 @@ __3:
 							if pNew != 0 {
 								var pX uintptr = pNew + 8 + uintptr((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1)*32
 
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19925, libc.VaList(bp+24, zUName))
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19972, libc.VaList(bp+24, zUName))
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(ENAME_TAB), 0, 0x3)
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(1), 7, 0x80)
 							}
@@ -96505,7 +96540,7 @@ __3:
 								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(pNestedFrom+8+uintptr(j)*32)).FzEName)
 
 							} else {
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19930,
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19977,
 									libc.VaList(bp+32, zSchemaName, zTabName, zName))
 
 							}
@@ -96536,9 +96571,9 @@ __3:
 				;
 				if !(tableSeen != 0) {
 					if zTName != 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19939, libc.VaList(bp+72, zTName))
+						Xsqlite3ErrorMsg(tls, pParse, ts+19986, libc.VaList(bp+72, zTName))
 					} else {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19957, 0)
+						Xsqlite3ErrorMsg(tls, pParse, ts+20004, 0)
 					}
 				}
 			}
@@ -96548,7 +96583,7 @@ __3:
 	}
 	if (*Select)(unsafe.Pointer(p)).FpEList != 0 {
 		if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19977, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+20024, 0)
 			return WRC_Abort
 		}
 		if elistFlags&U32(EP_HasFunc|EP_Subquery) != U32(0) {
@@ -96686,7 +96721,7 @@ func optimizeAggregateUseOfIndexedExpr(tls *libc.TLS, pParse uintptr, pSelect ui
 	(*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn = (*AggInfo)(unsafe.Pointer(pAggInfo)).FnAccumulator
 	if int32((*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn) > 0 {
 		if (*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn == 0 {
-			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(0)
+			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpGroupBy)).FnExpr)
 		} else {
 			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(int32((*AggInfo_col)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaCol+uintptr((*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn-1)*24)).FiSorterColumn) + 1)
 		}
@@ -96770,13 +96805,13 @@ __1:
 
 			if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != 1 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+20008, 0)
+					ts+20055, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1
 			} else {
 				var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral,
 					(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -8)
-				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20059, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
+				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20106, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
 			}
 		}
 
@@ -96965,11 +97000,11 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt
 
 	if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 {
 		var bCover int32 = libc.Bool32(pIdx != uintptr(0) && ((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0) || !(int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY)))
-		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20092,
+		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20139,
 			libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName,
 				func() uintptr {
 					if bCover != 0 {
-						return ts + 20104
+						return ts + 20151
 					}
 					return ts + 1547
 				}(),
@@ -97297,7 +97332,7 @@ __5:
 		goto __7
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20127,
+		ts+20174,
 		libc.VaList(bp, func() uintptr {
 			if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 {
 				return (*SrcItem)(unsafe.Pointer(p0)).FzAlias
@@ -97358,7 +97393,7 @@ __14:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20181,
+	Xsqlite3ErrorMsg(tls, pParse, ts+20228,
 		libc.VaList(bp+8, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr))
 	goto select_end
 __15:
@@ -97500,7 +97535,7 @@ __33:
 
 	(*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20221, libc.VaList(bp+32, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20268, libc.VaList(bp+32, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	libc.SetBitFieldPtr16Uint32(pItem1+60+4, uint32(1), 5, 0x20)
@@ -97559,7 +97594,7 @@ __43:
 	;
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20236, libc.VaList(bp+40, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20283, libc.VaList(bp+40, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	if !(onceAddr != 0) {
@@ -98030,9 +98065,9 @@ __101:
 	explainTempTable(tls, pParse,
 		func() uintptr {
 			if (*DistinctCtx)(unsafe.Pointer(bp+136)).FisTnct != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct) == U32(0) {
-				return ts + 20252
+				return ts + 20299
 			}
-			return ts + 20261
+			return ts + 20308
 		}())
 
 	groupBySort = 1
@@ -98383,7 +98418,7 @@ __65:
 	if !(int32((*DistinctCtx)(unsafe.Pointer(bp+136)).FeTnctType) == WHERE_DISTINCT_UNORDERED) {
 		goto __146
 	}
-	explainTempTable(tls, pParse, ts+20252)
+	explainTempTable(tls, pParse, ts+20299)
 __146:
 	;
 	if !((*SortCtx)(unsafe.Pointer(bp+48)).FpOrderBy != 0) {
@@ -98488,7 +98523,7 @@ __5:
 	}
 	Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg)
 	(*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+20270, 0)
+		ts+20317, 0)
 	(*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 	return 1
 __11:
@@ -98721,7 +98756,7 @@ func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2
 	if !((*Token)(unsafe.Pointer(pName2)).Fn > uint32(0)) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20335, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20382, 0)
 	goto trigger_cleanup
 __3:
 	;
@@ -98765,7 +98800,7 @@ __7:
 	goto trigger_cleanup
 __8:
 	;
-	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+20381, *(*uintptr)(unsafe.Pointer(bp + 32)))
+	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+20428, *(*uintptr)(unsafe.Pointer(bp + 32)))
 	if !(Xsqlite3FixSrcList(tls, bp+40, pTableName) != 0) {
 		goto __9
 	}
@@ -98783,7 +98818,7 @@ __10:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB) {
 		goto __11
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20389, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20436, 0)
 	goto trigger_orphan_error
 __11:
 	;
@@ -98795,7 +98830,7 @@ __11:
 	goto trigger_cleanup
 __12:
 	;
-	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+20381, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
+	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+20428, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
 		goto __13
 	}
 	goto trigger_cleanup
@@ -98810,11 +98845,12 @@ __13:
 	if !!(noErr != 0) {
 		goto __16
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20430, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20477, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
 	goto __17
 __16:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
+
 __17:
 	;
 	goto trigger_cleanup
@@ -98825,19 +98861,19 @@ __14:
 	if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+6784, 7) == 0) {
 		goto __18
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20456, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20503, 0)
 	goto trigger_cleanup
 __18:
 	;
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW && tr_tm != TK_INSTEAD) {
 		goto __19
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20494,
+	Xsqlite3ErrorMsg(tls, pParse, ts+20541,
 		libc.VaList(bp+8, func() uintptr {
 			if tr_tm == TK_BEFORE {
-				return ts + 20531
+				return ts + 20578
 			}
-			return ts + 20538
+			return ts + 20585
 		}(), pTableName+8))
 	goto trigger_orphan_error
 __19:
@@ -98846,7 +98882,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20544, libc.VaList(bp+24, pTableName+8))
+		ts+20591, libc.VaList(bp+24, pTableName+8))
 	goto trigger_orphan_error
 __20:
 	;
@@ -98995,7 +99031,7 @@ __2:
 __3:
 	;
 	Xsqlite3TokenInit(tls, bp+56, (*Trigger)(unsafe.Pointer(pTrig)).FzName)
-	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+20381, bp+56)
+	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+20428, bp+56)
 	if !(Xsqlite3FixTriggerStep(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 ||
 		Xsqlite3FixExpr(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0) {
 		goto __4
@@ -99028,7 +99064,7 @@ __9:
 		goto __12
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20590,
+		ts+20637,
 		libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrig)).FzName, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget))
 	goto triggerfinish_cleanup
 __12:
@@ -99053,13 +99089,13 @@ __13:
 	z = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pAll)).Fz, uint64((*Token)(unsafe.Pointer(pAll)).Fn))
 
 	Xsqlite3NestedParse(tls, pParse,
-		ts+20638,
+		ts+20685,
 		libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName,
 			(*Trigger)(unsafe.Pointer(pTrig)).Ftable, z))
 	Xsqlite3DbFree(tls, db, z)
 	Xsqlite3ChangeCookie(tls, pParse, iDb)
 	Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb,
-		Xsqlite3MPrintf(tls, db, ts+20713, libc.VaList(bp+48, zName)), uint16(0))
+		Xsqlite3MPrintf(tls, db, ts+20760, libc.VaList(bp+48, zName)), uint16(0))
 __7:
 	;
 __6:
@@ -99315,7 +99351,7 @@ __5:
 	if !!(noErr != 0) {
 		goto __9
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20742, libc.VaList(bp, pName+8))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20789, libc.VaList(bp, pName+8))
 	goto __10
 __9:
 	Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb)
@@ -99368,7 +99404,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) {
 
 	if libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse)) != uintptr(0) {
 		Xsqlite3NestedParse(tls, pParse,
-			ts+20762,
+			ts+20809,
 			libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Trigger)(unsafe.Pointer(pTrigger)).FzName))
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 		Xsqlite3VdbeAddOp4(tls, v, OP_DropTrigger, iDb, 0, 0, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, 0)
@@ -99482,12 +99518,12 @@ __9:
 		goto __15
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20824,
+		ts+20871,
 		libc.VaList(bp, func() uintptr {
 			if op == TK_DELETE {
-				return ts + 20872
+				return ts + 20919
 			}
-			return ts + 20879
+			return ts + 20926
 		}()))
 __15:
 	;
@@ -99601,7 +99637,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 {
 	if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK {
 		return 0
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20886, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20933, 0)
 	return 1
 }
 
@@ -99667,7 +99703,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab
 	}
 	Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(bp)).FpEList)
 	pNew = sqlite3ExpandReturning(tls, pParse, (*Returning)(unsafe.Pointer(pReturning)).FpReturnEL, pTab)
-	if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) {
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 {
 		libc.X__builtin___memset_chk(tls, bp+240, 0, uint64(unsafe.Sizeof(NameContext{})), libc.X__builtin_object_size(tls, bp+240, 0))
 		if (*Returning)(unsafe.Pointer(pReturning)).FnRetCol == 0 {
 			(*Returning)(unsafe.Pointer(pReturning)).FnRetCol = (*ExprList)(unsafe.Pointer(pNew)).FnExpr
@@ -99831,7 +99867,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt
 	if v != 0 {
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 {
 			Xsqlite3VdbeChangeP4(tls, v, -1,
-				Xsqlite3MPrintf(tls, db, ts+20928, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
+				Xsqlite3MPrintf(tls, db, ts+20975, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
 		}
 
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FpWhen != 0 {
@@ -100424,7 +100460,7 @@ __25:
 	}
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20942,
+		ts+20989,
 		libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*24)).FzCnName))
 	goto update_cleanup
 __27:
@@ -100456,7 +100492,7 @@ __21:
 	iRowidExpr = i
 	goto __30
 __29:
-	Xsqlite3ErrorMsg(tls, pParse, ts+20978, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
+	Xsqlite3ErrorMsg(tls, pParse, ts+21025, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
 	(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 	goto update_cleanup
 __30:
@@ -100782,7 +100818,12 @@ __74:
 	goto __77
 __76:
 	flags = WHERE_ONEPASS_DESIRED
-	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) && !(pTrigger != 0) && !(hasFK != 0) && !(chngKey != 0) && !(*(*int32)(unsafe.Pointer(bp + 104)) != 0)) {
+	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) &&
+		!(pTrigger != 0) &&
+		!(hasFK != 0) &&
+		!(chngKey != 0) &&
+		!(*(*int32)(unsafe.Pointer(bp + 104)) != 0) &&
+		(*NameContext)(unsafe.Pointer(bp+40)).FncFlags&NC_Subquery == 0) {
 		goto __78
 	}
 	flags = flags | WHERE_ONEPASS_MULTIROW
@@ -101336,7 +101377,7 @@ __168:
 	if !(regRowCount != 0) {
 		goto __169
 	}
-	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20997)
+	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+21044)
 __169:
 	;
 update_cleanup:
@@ -101642,10 +101683,10 @@ __1:
 			if nClause == 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) {
 				*(*int8)(unsafe.Pointer(bp + 216)) = int8(0)
 			} else {
-				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216, ts+21010, libc.VaList(bp, nClause+1))
+				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216, ts+21057, libc.VaList(bp, nClause+1))
 			}
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+21014, libc.VaList(bp+8, bp+216))
+				ts+21061, libc.VaList(bp+8, bp+216))
 			return SQLITE_ERROR
 		}
 
@@ -101768,7 +101809,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 {
 		var zSubSql uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
 
 		if zSubSql != 0 &&
-			(libc.Xstrncmp(tls, zSubSql, ts+21087, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+21091, uint64(3)) == 0) {
+			(libc.Xstrncmp(tls, zSubSql, ts+21134, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+21138, uint64(3)) == 0) {
 			rc = execSql(tls, db, pzErrMsg, zSubSql)
 			if rc != SQLITE_OK {
 				break
@@ -101916,14 +101957,14 @@ func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p
 	if !!(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) {
 		goto __1
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+21095)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+21142)
 	return SQLITE_ERROR
 __1:
 	;
 	if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) {
 		goto __2
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+21135)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+21182)
 	return SQLITE_ERROR
 __2:
 	;
@@ -101934,7 +101975,7 @@ __2:
 	if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) {
 		goto __5
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+21178)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+21225)
 	return SQLITE_ERROR
 __5:
 	;
@@ -101962,7 +102003,7 @@ __4:
 	isMemDb = Xsqlite3PagerIsMemdb(tls, Xsqlite3BtreePager(tls, pMain))
 
 	nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb
-	rc = execSqlF(tls, db, pzErrMsg, ts+21196, libc.VaList(bp, zOut))
+	rc = execSqlF(tls, db, pzErrMsg, ts+21243, libc.VaList(bp, zOut))
 	(*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags
 	if !(rc != SQLITE_OK) {
 		goto __6
@@ -101982,7 +102023,7 @@ __6:
 		goto __8
 	}
 	rc = SQLITE_ERROR
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+21219)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+21266)
 	goto end_of_vacuum
 __8:
 	;
@@ -102042,7 +102083,7 @@ __12:
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb)
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+21246,
+		ts+21293,
 		libc.VaList(bp+8, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __13
@@ -102051,7 +102092,7 @@ __12:
 __13:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+21354,
+		ts+21401,
 		libc.VaList(bp+16, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __14
@@ -102062,7 +102103,7 @@ __14:
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
 
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+21408,
+		ts+21455,
 		libc.VaList(bp+24, zDbMain))
 
 	*(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))
@@ -102073,7 +102114,7 @@ __14:
 __15:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+21559,
+		ts+21606,
 		libc.VaList(bp+32, zDbMain))
 	if !(rc != 0) {
 		goto __16
@@ -102502,11 +102543,11 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		if pEnd != 0 {
 			(*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32((int64((*Token)(unsafe.Pointer(pEnd)).Fz)-int64((*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz))/1)) + (*Token)(unsafe.Pointer(pEnd)).Fn
 		}
-		zStmt = Xsqlite3MPrintf(tls, db, ts+21689, libc.VaList(bp, pParse+272))
+		zStmt = Xsqlite3MPrintf(tls, db, ts+21736, libc.VaList(bp, pParse+272))
 
 		iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema)
 		Xsqlite3NestedParse(tls, pParse,
-			ts+21713,
+			ts+21760,
 			libc.VaList(bp+8, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
@@ -102516,7 +102557,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 
 		Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
-		zWhere = Xsqlite3MPrintf(tls, db, ts+21812, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
+		zWhere = Xsqlite3MPrintf(tls, db, ts+21859, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
 		Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0))
 		Xsqlite3DbFree(tls, db, zStmt)
 
@@ -102577,7 +102618,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	for pCtx = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx; pCtx != 0; pCtx = (*VtabCtx)(unsafe.Pointer(pCtx)).FpPrior {
 		if (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db,
-				ts+21831, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
+				ts+21878, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 			return SQLITE_LOCKED
 		}
 	}
@@ -102605,9 +102646,11 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FbDeclared = 0
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32
+	(*Table)(unsafe.Pointer(pTab)).FnTabRef++
 	rc = (*struct {
 		f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32
 	})(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+64)
+	Xsqlite3DeleteTable(tls, db, pTab)
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior
 	if rc == SQLITE_NOMEM {
 		Xsqlite3OomFault(tls, db)
@@ -102615,7 +102658,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 
 	if SQLITE_OK != rc {
 		if *(*uintptr)(unsafe.Pointer(bp + 64)) == uintptr(0) {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21873, libc.VaList(bp+8, zModuleName))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21920, libc.VaList(bp+8, zModuleName))
 		} else {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+3658, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64))))
 			Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
@@ -102627,7 +102670,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 		(*Module)(unsafe.Pointer(pMod)).FnRefModule++
 		(*VTable)(unsafe.Pointer(pVTable)).FnRef = 1
 		if (*VtabCtx)(unsafe.Pointer(bp+32)).FbDeclared == 0 {
-			var zFormat uintptr = ts + 21903
+			var zFormat uintptr = ts + 21950
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName))
 			Xsqlite3VtabUnlock(tls, pVTable)
 			rc = SQLITE_ERROR
@@ -102701,7 +102744,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32
 
 	if !(pMod != 0) {
 		var zModule uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pTab + 64 + 8))))
-		Xsqlite3ErrorMsg(tls, pParse, ts+21949, libc.VaList(bp, zModule))
+		Xsqlite3ErrorMsg(tls, pParse, ts+21996, libc.VaList(bp, zModule))
 		rc = SQLITE_ERROR
 	} else {
 		*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
@@ -102759,7 +102802,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr,
 	pMod = Xsqlite3HashFind(tls, db+576, zMod)
 
 	if pMod == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21949, libc.VaList(bp, zMod))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21996, libc.VaList(bp, zMod))
 		rc = SQLITE_ERROR
 	} else {
 		rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr)
@@ -102793,7 +102836,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3
 	if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
 		Xsqlite3Error(tls, db, SQLITE_MISUSE)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
-		return Xsqlite3MisuseError(tls, 151030)
+		return Xsqlite3MisuseError(tls, 151102)
 	}
 	pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab
 
@@ -103246,7 +103289,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	if !(p != 0) {
-		rc = Xsqlite3MisuseError(tls, 151521)
+		rc = Xsqlite3MisuseError(tls, 151593)
 	} else {
 		ap = va
 		switch op {
@@ -103273,7 +103316,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 			fallthrough
 		default:
 			{
-				rc = Xsqlite3MisuseError(tls, 151539)
+				rc = Xsqlite3MisuseError(tls, 151611)
 				break
 
 			}
@@ -103504,7 +103547,7 @@ type InLoop = struct {
 func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr {
 	i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2)))
 	if i == -2 {
-		return ts + 21968
+		return ts + 22015
 	}
 	if i == -1 {
 		return ts + 16673
@@ -103516,11 +103559,11 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	var i int32
 
 	if bAnd != 0 {
-		Xsqlite3_str_append(tls, pStr, ts+21975, 5)
+		Xsqlite3_str_append(tls, pStr, ts+22022, 5)
 	}
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21981, 1)
+		Xsqlite3_str_append(tls, pStr, ts+22028, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -103535,7 +103578,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	Xsqlite3_str_append(tls, pStr, zOp, 1)
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21981, 1)
+		Xsqlite3_str_append(tls, pStr, ts+22028, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -103561,27 +103604,27 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) {
 	if int32(nEq) == 0 && (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT|WHERE_TOP_LIMIT) == U32(0) {
 		return
 	}
-	Xsqlite3_str_append(tls, pStr, ts+21983, 2)
+	Xsqlite3_str_append(tls, pStr, ts+22030, 2)
 	for i = 0; i < int32(nEq); i++ {
 		var z uintptr = explainIndexColumnName(tls, pIndex, i)
 		if i != 0 {
-			Xsqlite3_str_append(tls, pStr, ts+21975, 5)
+			Xsqlite3_str_append(tls, pStr, ts+22022, 5)
 		}
 		Xsqlite3_str_appendf(tls, pStr, func() uintptr {
 			if i >= int32(nSkip) {
-				return ts + 21986
+				return ts + 22033
 			}
-			return ts + 21991
+			return ts + 22038
 		}(), libc.VaList(bp, z))
 	}
 
 	j = i
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21999)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+22046)
 		i = 1
 	}
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_TOP_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+22001)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+22048)
 	}
 	Xsqlite3_str_append(tls, pStr, ts+5360, 1)
 }
@@ -103624,11 +103667,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 
 		Xsqlite3StrAccumInit(tls, bp+64, db, bp+96, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 		(*StrAccum)(unsafe.Pointer(bp + 64)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-		Xsqlite3_str_appendf(tls, bp+64, ts+22003, libc.VaList(bp, func() uintptr {
+		Xsqlite3_str_appendf(tls, bp+64, ts+22050, libc.VaList(bp, func() uintptr {
 			if isSearch != 0 {
-				return ts + 22009
+				return ts + 22056
 			}
-			return ts + 22016
+			return ts + 22063
 		}(), pItem))
 		if flags&U32(WHERE_IPK|WHERE_VIRTUALTABLE) == U32(0) {
 			var zFmt uintptr = uintptr(0)
@@ -103641,40 +103684,40 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 					zFmt = ts + 11379
 				}
 			} else if flags&U32(WHERE_PARTIALIDX) != 0 {
-				zFmt = ts + 22021
+				zFmt = ts + 22068
 			} else if flags&U32(WHERE_AUTO_INDEX) != 0 {
-				zFmt = ts + 22054
+				zFmt = ts + 22101
 			} else if flags&U32(WHERE_IDX_ONLY) != 0 {
-				zFmt = ts + 22079
+				zFmt = ts + 22126
 			} else {
-				zFmt = ts + 22097
+				zFmt = ts + 22144
 			}
 			if zFmt != 0 {
-				Xsqlite3_str_append(tls, bp+64, ts+22106, 7)
+				Xsqlite3_str_append(tls, bp+64, ts+22153, 7)
 				Xsqlite3_str_appendf(tls, bp+64, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName))
 				explainIndexRange(tls, bp+64, pLoop)
 			}
 		} else if flags&U32(WHERE_IPK) != U32(0) && flags&U32(WHERE_CONSTRAINT) != U32(0) {
 			var cRangeOp int8
 			var zRowid uintptr = ts + 16673
-			Xsqlite3_str_appendf(tls, bp+64, ts+22114, libc.VaList(bp+24, zRowid))
+			Xsqlite3_str_appendf(tls, bp+64, ts+22161, libc.VaList(bp+24, zRowid))
 			if flags&U32(WHERE_COLUMN_EQ|WHERE_COLUMN_IN) != 0 {
 				cRangeOp = int8('=')
 			} else if flags&U32(WHERE_BOTH_LIMIT) == U32(WHERE_BOTH_LIMIT) {
-				Xsqlite3_str_appendf(tls, bp+64, ts+22145, libc.VaList(bp+32, zRowid))
+				Xsqlite3_str_appendf(tls, bp+64, ts+22192, libc.VaList(bp+32, zRowid))
 				cRangeOp = int8('<')
 			} else if flags&U32(WHERE_BTM_LIMIT) != 0 {
 				cRangeOp = int8('>')
 			} else {
 				cRangeOp = int8('<')
 			}
-			Xsqlite3_str_appendf(tls, bp+64, ts+22155, libc.VaList(bp+40, int32(cRangeOp)))
+			Xsqlite3_str_appendf(tls, bp+64, ts+22202, libc.VaList(bp+40, int32(cRangeOp)))
 		} else if flags&U32(WHERE_VIRTUALTABLE) != U32(0) {
-			Xsqlite3_str_appendf(tls, bp+64, ts+22160,
+			Xsqlite3_str_appendf(tls, bp+64, ts+22207,
 				libc.VaList(bp+48, *(*int32)(unsafe.Pointer(pLoop + 24)), *(*uintptr)(unsafe.Pointer(pLoop + 24 + 16))))
 		}
 		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&JT_LEFT != 0 {
-			Xsqlite3_str_appendf(tls, bp+64, ts+22187, 0)
+			Xsqlite3_str_appendf(tls, bp+64, ts+22234, 0)
 		}
 		zMsg = Xsqlite3StrAccumFinish(tls, bp+64)
 
@@ -103706,22 +103749,22 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp
 
 	Xsqlite3StrAccumInit(tls, bp+24, db, bp+56, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 	(*StrAccum)(unsafe.Pointer(bp + 24)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-	Xsqlite3_str_appendf(tls, bp+24, ts+22198, libc.VaList(bp, pItem))
+	Xsqlite3_str_appendf(tls, bp+24, ts+22245, libc.VaList(bp, pItem))
 	pLoop = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_IPK) != 0 {
 		var pTab uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FpTab
 		if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21986, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
+			Xsqlite3_str_appendf(tls, bp+24, ts+22033, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
 		} else {
-			Xsqlite3_str_appendf(tls, bp+24, ts+22219, 0)
+			Xsqlite3_str_appendf(tls, bp+24, ts+22266, 0)
 		}
 	} else {
 		for i = int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip); i < int32(*(*U16)(unsafe.Pointer(pLoop + 24))); i++ {
 			var z uintptr = explainIndexColumnName(tls, *(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)), i)
 			if i > int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip) {
-				Xsqlite3_str_append(tls, bp+24, ts+21975, 5)
+				Xsqlite3_str_append(tls, bp+24, ts+22022, 5)
 			}
-			Xsqlite3_str_appendf(tls, bp+24, ts+21986, libc.VaList(bp+16, z))
+			Xsqlite3_str_appendf(tls, bp+24, ts+22033, libc.VaList(bp+16, z))
 		}
 	}
 	Xsqlite3_str_append(tls, bp+24, ts+5360, 1)
@@ -105318,7 +105361,7 @@ __134:
 	;
 __126:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22227, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22274, 0)
 	ii = 0
 __135:
 	if !(ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm) {
@@ -105346,7 +105389,7 @@ __139:
 	pOrExpr = pAndExpr
 __140:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22242, libc.VaList(bp, ii+1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22289, libc.VaList(bp, ii+1))
 
 	pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0),
 		uint16(WHERE_OR_SUBCLAUSE), iCovCur)
@@ -105864,7 +105907,7 @@ func Xsqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
 	var mAll Bitmask = uint64(0)
 	var k int32
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22251, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22298, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
 
 	for k = 0; k < iLevel; k++ {
 		var iIdxCur int32
@@ -106224,7 +106267,7 @@ var aOp = [4]Op2{
 	{FzOp: ts + 16522, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)},
 	{FzOp: ts + 15850, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)},
 	{FzOp: ts + 15370, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)},
-	{FzOp: ts + 22265, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
+	{FzOp: ts + 22312, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
 }
 
 func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) {
@@ -106714,12 +106757,12 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			extraRight = x - uint64(1)
 
 			if prereqAll>>1 >= x {
-				Xsqlite3ErrorMsg(tls, pParse, ts+22272, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+22319, 0)
 				return
 			}
 		} else if prereqAll>>1 >= x {
 			if (*SrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*SrcItem)(unsafe.Pointer(pSrc+8)).Ffg.Fjointype)&JT_LTORJ != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+22272, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+22319, 0)
 				return
 			}
 			*(*U32)(unsafe.Pointer(pExpr + 4)) &= libc.Uint32FromInt32(libc.CplInt32(EP_InnerON))
@@ -106798,7 +106841,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_OuterON) != U32(0)) &&
 			0 == Xsqlite3ExprCanBeNull(tls, pLeft) {
 			(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
-			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 7172
+			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 8102
 			*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0)
@@ -106892,7 +106935,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 		}
 		zCollSeqName = func() uintptr {
 			if *(*int32)(unsafe.Pointer(bp + 20)) != 0 {
-				return ts + 22313
+				return ts + 22360
 			}
 			return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))
 		}()
@@ -107268,7 +107311,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 			k++
 		}
 		if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+22320,
+			Xsqlite3ErrorMsg(tls, pParse, ts+22367,
 				libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j))
 			return
 		}
@@ -107284,7 +107327,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 		pRhs = Xsqlite3PExpr(tls, pParse, TK_UPLUS,
 			Xsqlite3ExprDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*ExprList_item)(unsafe.Pointer(pArgs+8+uintptr(j)*32)).FpExpr, 0), uintptr(0))
 		pTerm = Xsqlite3PExpr(tls, pParse, TK_EQ, pColRef, pRhs)
-		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ) != 0 {
+		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ|JT_RIGHT) != 0 {
 			joinType = U32(EP_OuterON)
 		} else {
 			joinType = U32(EP_InnerON)
@@ -108002,7 +108045,7 @@ __4:
 		goto __6
 	}
 	Xsqlite3_log(tls, SQLITE_WARNING|int32(1)<<8,
-		ts+22356, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
+		ts+22403, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
 			(*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*24)).FzCnName))
 	sentWarning = U8(1)
 __6:
@@ -108073,7 +108116,7 @@ __13:
 __14:
 	;
 	*(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)) = pIdx
-	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 22382
+	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 22429
 	(*Index)(unsafe.Pointer(pIdx)).FpTable = pTable
 	n = 0
 	idxCols = uint64(0)
@@ -108247,6 +108290,10 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 	var pLoop uintptr = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	var iCur int32
+	var saved_pIdxEpr uintptr
+
+	saved_pIdxEpr = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = uintptr(0)
 
 	addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once)
 	for __ccgo := true; __ccgo; __ccgo = iLevel < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel) {
@@ -108290,9 +108337,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 			var r1 int32 = Xsqlite3GetTempRange(tls, pParse, n)
 			var jj int32
 			for jj = 0; jj < n; jj++ {
-				var iCol int32 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(jj)*2)))
-
-				Xsqlite3ExprCodeGetColumnOfTable(tls, v, (*Index)(unsafe.Pointer(pIdx)).FpTable, iCur, iCol, r1+jj)
+				Xsqlite3ExprCodeLoadIndexColumn(tls, pParse, pIdx, iCur, jj, r1+jj)
 			}
 			Xsqlite3VdbeAddOp4Int(tls, v, OP_FilterAdd, (*WhereLevel)(unsafe.Pointer(pLevel)).FregFilter, 0, r1, n)
 			Xsqlite3ReleaseTempRange(tls, pParse, r1, n)
@@ -108326,6 +108371,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 		}
 	}
 	Xsqlite3VdbeJumpHere(tls, v, addrOnce)
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = saved_pIdxEpr
 }
 
 func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr {
@@ -108584,11 +108630,16 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro
 
 	_ = pParse
 
+	if !((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) && int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol)
+	} else {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnColumn)
+	}
 	nField = func() int32 {
-		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < (*Index)(unsafe.Pointer(pIdx)).FnSample {
+		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < nField {
 			return int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField)
 		}
-		return (*Index)(unsafe.Pointer(pIdx)).FnSample
+		return nField
 	}()
 	iCol = 0
 	iSample = (*Index)(unsafe.Pointer(pIdx)).FnSample * nField
@@ -110169,7 +110220,7 @@ __4:
 				j >= (*WhereClause)(unsafe.Pointer(pWC)).FnTerm ||
 				*(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) ||
 				int32((*sqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+22393, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+				Xsqlite3ErrorMsg(tls, pParse, ts+22440, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 				return SQLITE_ERROR
 			}
@@ -110227,7 +110278,7 @@ __6:
 	(*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm = U16(mxTerm + 1)
 	for i = 0; i <= mxTerm; i++ {
 		if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+22393, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+			Xsqlite3ErrorMsg(tls, pParse, ts+22440, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 			return SQLITE_ERROR
 		}
@@ -110625,7 +110676,7 @@ __1:
 		mPrior = mPrior | (*WhereLoop)(unsafe.Pointer(pNew)).FmaskSelf
 		if rc != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 			if rc == SQLITE_DONE {
-				Xsqlite3_log(tls, SQLITE_WARNING, ts+22419, 0)
+				Xsqlite3_log(tls, SQLITE_WARNING, ts+22466, 0)
 				rc = SQLITE_OK
 			} else {
 				goto __3
@@ -111232,7 +111283,7 @@ __3:
 	}
 
 	if nFrom == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22454, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+22501, 0)
 		Xsqlite3DbFreeNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pSpace)
 		return SQLITE_ERROR
 	}
@@ -111267,6 +111318,10 @@ __3:
 			if int32((*WherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*ExprList)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr {
 				(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_ORDERED)
 			}
+			if (*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 &&
+				int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr {
+				(*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = I8((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr)
+			}
 		} else {
 			(*WhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*WherePath)(unsafe.Pointer(pFrom)).FrevLoop
 			if int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 {
@@ -111561,6 +111616,9 @@ func whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur in
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCur = iIdxCur
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCol = i
 		(*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow = U8(bMaybeNullRow)
+		if Xsqlite3IndexAffinityStr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pIdx) != 0 {
+			(*IndexedExpr)(unsafe.Pointer(p)).Faff = U8(*(*int8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(i))))
+		}
 		(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = p
 		if (*IndexedExpr)(unsafe.Pointer(p)).FpIENext == uintptr(0) {
 			Xsqlite3ParserAddCleanup(tls, pParse, *(*uintptr)(unsafe.Pointer(&struct {
@@ -111713,7 +111771,7 @@ __1:
 	if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22472, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+22519, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
 	return uintptr(0)
 __2:
 	;
@@ -111776,7 +111834,7 @@ __6:
 	(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE)
 __7:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22500, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22547, 0)
 	goto __5
 __4:
 	ii = 0
@@ -112658,7 +112716,7 @@ __1:
 
 error_out:
 	Xsqlite3_result_error(tls,
-		pCtx, ts+22518, -1)
+		pCtx, ts+22565, -1)
 }
 
 func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
@@ -112791,7 +112849,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 			(*NtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 			if (*NtileCtx)(unsafe.Pointer(p)).FnParam <= int64(0) {
 				Xsqlite3_result_error(tls,
-					pCtx, ts+22574, -1)
+					pCtx, ts+22621, -1)
 			}
 		}
 		(*NtileCtx)(unsafe.Pointer(p)).FnTotal++
@@ -112881,17 +112939,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
 	}
 }
 
-var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22619))
-var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22630))
-var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22641))
-var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22646))
-var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22659))
-var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22669))
-var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22675))
-var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22686))
-var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22696))
-var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22708))
-var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22713))
+var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22666))
+var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22677))
+var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22688))
+var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22693))
+var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22706))
+var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22716))
+var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22722))
+var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22733))
+var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22743))
+var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22755))
+var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22760))
 
 func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) {
 	_ = p
@@ -112937,7 +112995,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin
 		}
 	}
 	if p == uintptr(0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22717, libc.VaList(bp, zName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+22764, libc.VaList(bp, zName))
 	}
 	return p
 }
@@ -112981,12 +113039,12 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin
 		((*Window)(unsafe.Pointer(pWin)).FpStart != 0 || (*Window)(unsafe.Pointer(pWin)).FpEnd != 0) &&
 		((*Window)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*ExprList)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != 1) {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+22736, 0)
+			ts+22783, 0)
 	} else if (*FuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
 		if (*Window)(unsafe.Pointer(pWin)).FpFilter != 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22807, 0)
+				ts+22854, 0)
 		} else {
 			*(*[8]WindowUpdate)(unsafe.Pointer(bp)) = [8]WindowUpdate{
 				{FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT},
@@ -113213,7 +113271,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr
 
 	if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) {
 		Xsqlite3ErrorMsg(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse,
-			ts+22870, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
+			ts+22917, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
 	}
 	return WRC_Continue
 }
@@ -113329,7 +113387,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 {
 
 		if *(*uintptr)(unsafe.Pointer(bp + 48)) == uintptr(0) {
 			*(*uintptr)(unsafe.Pointer(bp + 48)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0),
-				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7933))
+				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7922))
 		}
 
 		pSub = Xsqlite3SelectNew(tls,
@@ -113444,7 +113502,7 @@ __1:
 		eStart == TK_FOLLOWING && (eEnd == TK_PRECEDING || eEnd == TK_CURRENT)) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22896, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22943, 0)
 	goto windowAllocErr
 __2:
 	;
@@ -113509,15 +113567,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint
 			var zErr uintptr = uintptr(0)
 
 			if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 {
-				zErr = ts + 22928
+				zErr = ts + 22975
 			} else if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0 {
-				zErr = ts + 22945
+				zErr = ts + 22992
 			} else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 {
-				zErr = ts + 22961
+				zErr = ts + 23008
 			}
 			if zErr != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+22981, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
+					ts+23028, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
 			} else {
 				(*Window)(unsafe.Pointer(pWin)).FpPartition = Xsqlite3ExprListDup(tls, db, (*Window)(unsafe.Pointer(pExist)).FpPartition, 0)
 				if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 {
@@ -113538,7 +113596,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr
 		(*Window)(unsafe.Pointer(pWin)).FpOwner = p
 		if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Distinct) != 0 && int32((*Window)(unsafe.Pointer(pWin)).FeFrmType) != TK_FILTER {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+23014, 0)
+				ts+23061, 0)
 		}
 	} else {
 		Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin)
@@ -113694,11 +113752,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) {
 }
 
 var azErr = [5]uintptr{
-	ts + 23061,
-	ts + 23114,
-	ts + 22518,
-	ts + 23165,
-	ts + 23217,
+	ts + 23108,
+	ts + 23161,
+	ts + 22565,
+	ts + 23212,
+	ts + 23264,
 }
 var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge}
 
@@ -115093,19 +115151,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) {
 			}
 			cnt++
 			if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*Select)(unsafe.Pointer(pLoop)).FpLimit != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+23267,
+				Xsqlite3ErrorMsg(tls, pParse, ts+23314,
 					libc.VaList(bp, func() uintptr {
 						if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) {
-							return ts + 23309
+							return ts + 23356
 						}
-						return ts + 23318
+						return ts + 23365
 					}(),
 						Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(pNext)).Fop))))
 				break
 			}
 		}
 		if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_MultiValue) == U32(0) && libc.AssignInt32(&mxSelect, *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 4*4))) > 0 && cnt > mxSelect {
-			Xsqlite3ErrorMsg(tls, pParse, ts+23324, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+23371, 0)
 		}
 	}
 
@@ -115173,7 +115231,7 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT
 	var p uintptr = Xsqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0))
 	if (hasCollate != 0 || sortOrder != -1) &&
 		int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23358,
+		Xsqlite3ErrorMsg(tls, pParse, ts+23405,
 			libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz))
 	}
 	Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1)
@@ -116270,7 +116328,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) {
 		yy_pop_parser_stack(tls, yypParser)
 	}
 
-	Xsqlite3ErrorMsg(tls, pParse, ts+23396, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+23443, 0)
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
 }
@@ -117249,7 +117307,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(TF_WithoutRowid | TF_NoVisibleRowid)
 				} else {
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+23418, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23465, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			break
@@ -117259,7 +117317,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(TF_Strict)
 				} else {
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+23418, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23465, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			*(*U32)(unsafe.Pointer(yymsp + 8)) = *(*U32)(unsafe.Pointer(bp + 40))
@@ -118002,7 +118060,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 		case uint32(157):
 			{
 				Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8)), yymsp+libc.UintptrFromInt32(-4)*24+8)
-				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+23445)
+				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+23492)
 				if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) != 0 {
 					var pFromClause uintptr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8))
 					if (*SrcList)(unsafe.Pointer(pFromClause)).FnSrc > 1 {
@@ -118166,7 +118224,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*Token)(unsafe.Pointer(bp + 128)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 
 					if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+23454, libc.VaList(bp+32, bp+128))
+						Xsqlite3ErrorMsg(tls, pParse, ts+23501, libc.VaList(bp+32, bp+128))
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0)
 					} else {
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0))
@@ -118383,9 +118441,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					Xsqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
 					*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_STRING, func() uintptr {
 						if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8)) != 0 {
-							return ts + 7167
+							return ts + 8097
 						}
-						return ts + 7172
+						return ts + 8102
 					}())
 					if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) != 0 {
 						Xsqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
@@ -118669,19 +118727,19 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 			{
 				*(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23478, 0)
+					ts+23525, 0)
 			}
 			break
 		case uint32(271):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23573, 0)
+					ts+23620, 0)
 			}
 			break
 		case uint32(272):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23657, 0)
+					ts+23704, 0)
 			}
 			break
 		case uint32(273):
@@ -119060,9 +119118,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To
 
 	_ = yymajor
 	if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8)).Fz)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23454, libc.VaList(bp, bp+8))
+		Xsqlite3ErrorMsg(tls, pParse, ts+23501, libc.VaList(bp, bp+8))
 	} else {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23742, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+23789, 0)
 	}
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
@@ -119830,7 +119888,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 			} else {
 				(*Token)(unsafe.Pointer(bp + 2464)).Fz = zSql
 				(*Token)(unsafe.Pointer(bp + 2464)).Fn = uint32(n)
-				Xsqlite3ErrorMsg(tls, pParse, ts+23759, libc.VaList(bp, bp+2464))
+				Xsqlite3ErrorMsg(tls, pParse, ts+23806, libc.VaList(bp, bp+2464))
 				break
 			}
 		}
@@ -119853,7 +119911,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 		if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) {
 			(*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+3658, libc.VaList(bp+8, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc)))
 		}
-		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23784, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
+		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23831, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
 		nErr++
 	}
 	(*Parse)(unsafe.Pointer(pParse)).FzTail = zSql
@@ -120026,7 +120084,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'C':
 						{
-							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23795, 6) == 0 {
+							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23842, 6) == 0 {
 								token = U8(TkCREATE)
 							} else {
 								token = U8(TkOTHER)
@@ -120039,11 +120097,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'T':
 						{
-							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+20381, 7) == 0 {
+							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+20428, 7) == 0 {
 								token = U8(TkTRIGGER)
-							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23802, 4) == 0 {
+							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23849, 4) == 0 {
 								token = U8(TkTEMP)
-							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23807, 9) == 0 {
+							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23854, 9) == 0 {
 								token = U8(TkTEMP)
 							} else {
 								token = U8(TkOTHER)
@@ -120056,9 +120114,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'E':
 						{
-							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23817, 3) == 0 {
+							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23864, 3) == 0 {
 								token = U8(TkEND)
-							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23821, 7) == 0 {
+							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23868, 7) == 0 {
 								token = U8(TkEXPLAIN)
 							} else {
 								token = U8(TkOTHER)
@@ -120292,7 +120350,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 {
 	var rc int32 = SQLITE_OK
 
 	if Xsqlite3Config.FisInit != 0 {
-		return Xsqlite3MisuseError(tls, 174337)
+		return Xsqlite3MisuseError(tls, 174426)
 	}
 
 	ap = va
@@ -120867,7 +120925,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 		return SQLITE_OK
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 175111)
+		return Xsqlite3MisuseError(tls, 175200)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 {
@@ -120882,7 +120940,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 
 	if !(forceZombie != 0) && connectionIsBusy(tls, db) != 0 {
 		Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-			ts+23829, 0)
+			ts+23876, 0)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		return SQLITE_BUSY
 	}
@@ -121073,23 +121131,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) {
 // Return a static string that describes the kind of error specified in the
 // argument.
 func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
-	var zErr uintptr = ts + 23897
+	var zErr uintptr = ts + 23944
 	switch rc {
 	case SQLITE_ABORT | int32(2)<<8:
 		{
-			zErr = ts + 23911
+			zErr = ts + 23958
 			break
 
 		}
 	case SQLITE_ROW:
 		{
-			zErr = ts + 23933
+			zErr = ts + 23980
 			break
 
 		}
 	case SQLITE_DONE:
 		{
-			zErr = ts + 23955
+			zErr = ts + 24002
 			break
 
 		}
@@ -121107,35 +121165,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
 }
 
 var aMsg = [29]uintptr{
-	ts + 23978,
-	ts + 23991,
+	ts + 24025,
+	ts + 24038,
 	uintptr(0),
-	ts + 24007,
-	ts + 24032,
-	ts + 24046,
-	ts + 24065,
+	ts + 24054,
+	ts + 24079,
+	ts + 24093,
+	ts + 24112,
 	ts + 1483,
-	ts + 24090,
-	ts + 24127,
-	ts + 24139,
-	ts + 24154,
-	ts + 24187,
-	ts + 24205,
-	ts + 24230,
-	ts + 24259,
+	ts + 24137,
+	ts + 24174,
+	ts + 24186,
+	ts + 24201,
+	ts + 24234,
+	ts + 24252,
+	ts + 24277,
+	ts + 24306,
 	uintptr(0),
 	ts + 6241,
 	ts + 5737,
-	ts + 24276,
-	ts + 24294,
-	ts + 24312,
+	ts + 24323,
+	ts + 24341,
+	ts + 24359,
 	uintptr(0),
-	ts + 24346,
-	uintptr(0),
-	ts + 24367,
 	ts + 24393,
-	ts + 24416,
-	ts + 24437,
+	uintptr(0),
+	ts + 24414,
+	ts + 24440,
+	ts + 24463,
+	ts + 24484,
 }
 
 func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 {
@@ -121256,7 +121314,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 		libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) ||
 		(nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) ||
 		255 < Xsqlite3Strlen30(tls, zFunctionName) {
-		return Xsqlite3MisuseError(tls, 175758)
+		return Xsqlite3MisuseError(tls, 175847)
 	}
 
 	extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS)
@@ -121301,7 +121359,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 	if p != 0 && (*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK) == U32(enc) && int32((*FuncDef)(unsafe.Pointer(p)).FnArg) == nArg {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24453, 0)
+				ts+24500, 0)
 
 			return SQLITE_BUSY
 		} else {
@@ -121418,7 +121476,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs
 	_ = NotUsed
 	_ = NotUsed2
 	zErr = Xsqlite3_mprintf(tls,
-		ts+24516, libc.VaList(bp, zName))
+		ts+24563, libc.VaList(bp, zName))
 	Xsqlite3_result_error(tls, context, zErr, -1)
 	Xsqlite3_free(tls, zErr)
 }
@@ -121654,7 +121712,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
 	}
 	if iDb < 0 {
 		rc = SQLITE_ERROR
-		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24567, libc.VaList(bp, zDb))
+		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24614, libc.VaList(bp, zDb))
 	} else {
 		(*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0
 		rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt)
@@ -121747,7 +121805,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr {
 		return Xsqlite3ErrStr(tls, SQLITE_NOMEM)
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176503))
+		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176592))
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -121817,7 +121875,7 @@ var misuse = [34]U16{
 // passed to this function, we assume a malloc() failed during sqlite3_open().
 func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176582)
+		return Xsqlite3MisuseError(tls, 176671)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -121827,7 +121885,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 
 func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176591)
+		return Xsqlite3MisuseError(tls, 176680)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -121859,14 +121917,14 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint
 		enc2 = SQLITE_UTF16LE
 	}
 	if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE {
-		return Xsqlite3MisuseError(tls, 176639)
+		return Xsqlite3MisuseError(tls, 176728)
 	}
 
 	pColl = Xsqlite3FindCollSeq(tls, db, U8(enc2), zName, 0)
 	if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24588, 0)
+				ts+24635, 0)
 			return SQLITE_BUSY
 		}
 		Xsqlite3ExpirePreparedStatements(tls, db, 0)
@@ -121996,7 +122054,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u
 
 	if !((flags&uint32(SQLITE_OPEN_URI) != 0 ||
 		Xsqlite3Config.FbOpenUri != 0) &&
-		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24656, uint64(5)) == 0) {
+		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24703, uint64(5)) == 0) {
 		goto __1
 	}
 	iOut = 0
@@ -122041,10 +122099,10 @@ __8:
 	goto __8
 __9:
 	;
-	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24662, zUri+7, uint64(9)) != 0)) {
+	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24709, zUri+7, uint64(9)) != 0)) {
 		goto __10
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24672,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24719,
 		libc.VaList(bp, iIn-7, zUri+7))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
@@ -122149,7 +122207,7 @@ __27:
 	zVal = zOpt + uintptr(nOpt+1)
 	nVal = Xsqlite3Strlen30(tls, zVal)
 
-	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24700, zOpt, uint64(3)) == 0) {
+	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24747, zOpt, uint64(3)) == 0) {
 		goto __29
 	}
 	zVfs = zVal
@@ -122160,17 +122218,17 @@ __29:
 	mask = 0
 	limit = 0
 
-	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24704, zOpt, uint64(5)) == 0) {
+	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24751, zOpt, uint64(5)) == 0) {
 		goto __31
 	}
 
 	mask = SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE
 	aMode = uintptr(unsafe.Pointer(&aCacheMode))
 	limit = mask
-	zModeType = ts + 24704
+	zModeType = ts + 24751
 __31:
 	;
-	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24710, zOpt, uint64(4)) == 0) {
+	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24757, zOpt, uint64(4)) == 0) {
 		goto __32
 	}
 
@@ -122208,7 +122266,7 @@ __36:
 	if !(mode == 0) {
 		goto __38
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24715, libc.VaList(bp+16, zModeType, zVal))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24762, libc.VaList(bp+16, zModeType, zVal))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
 __38:
@@ -122216,7 +122274,7 @@ __38:
 	if !(mode&libc.CplInt32(SQLITE_OPEN_MEMORY) > limit) {
 		goto __39
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24735,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24782,
 		libc.VaList(bp+32, zModeType, zVal))
 	rc = SQLITE_PERM
 	goto parse_uri_out
@@ -122256,7 +122314,7 @@ __2:
 	if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) {
 		goto __42
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24759, libc.VaList(bp+48, zVfs))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24806, libc.VaList(bp+48, zVfs))
 	rc = SQLITE_ERROR
 __42:
 	;
@@ -122280,14 +122338,14 @@ type OpenMode = struct {
 }
 
 var aCacheMode = [3]OpenMode{
-	{Fz: ts + 24775, Fmode: SQLITE_OPEN_SHAREDCACHE},
-	{Fz: ts + 24782, Fmode: SQLITE_OPEN_PRIVATECACHE},
+	{Fz: ts + 24822, Fmode: SQLITE_OPEN_SHAREDCACHE},
+	{Fz: ts + 24829, Fmode: SQLITE_OPEN_PRIVATECACHE},
 	{},
 }
 var aOpenMode = [5]OpenMode{
-	{Fz: ts + 24790, Fmode: SQLITE_OPEN_READONLY},
-	{Fz: ts + 24793, Fmode: SQLITE_OPEN_READWRITE},
-	{Fz: ts + 24796, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
+	{Fz: ts + 24837, Fmode: SQLITE_OPEN_READONLY},
+	{Fz: ts + 24840, Fmode: SQLITE_OPEN_READWRITE},
+	{Fz: ts + 24843, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
 	{Fz: ts + 17784, Fmode: SQLITE_OPEN_MEMORY},
 	{},
 }
@@ -122434,10 +122492,10 @@ __12:
 	createCollation(tls, db, uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{binCollFunc})), uintptr(0))
-	createCollation(tls, db, ts+22313, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+22360, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{nocaseCollatingFunc})), uintptr(0))
-	createCollation(tls, db, ts+24800, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+24847, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{rtrimCollFunc})), uintptr(0))
 	if !((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) {
@@ -122451,7 +122509,7 @@ __15:
 	if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) {
 		goto __16
 	}
-	rc = Xsqlite3MisuseError(tls, 177308)
+	rc = Xsqlite3MisuseError(tls, 177397)
 	goto __17
 __16:
 	rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24)
@@ -122504,7 +122562,7 @@ __22:
 
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 6844
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).Fsafety_level = U8(SQLITE_DEFAULT_SYNCHRONOUS + 1)
-	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23802
+	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23849
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF)
 
 	(*Sqlite3)(unsafe.Pointer(db)).FeOpenState = U8(SQLITE_STATE_OPEN)
@@ -122609,7 +122667,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 {
 		return rc
 	}
 	if zFilename == uintptr(0) {
-		zFilename = ts + 24806
+		zFilename = ts + 24853
 	}
 	pVal = Xsqlite3ValueNew(tls, uintptr(0))
 	Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0))
@@ -122712,21 +122770,21 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr)
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	Xsqlite3_log(tls, iErr, ts+24809,
+	Xsqlite3_log(tls, iErr, ts+24856,
 		libc.VaList(bp, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls)))
 	return iErr
 }
 
 func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24834)
+	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24881)
 }
 
 func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24854)
+	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24901)
 }
 
 func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24861)
+	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24908)
 }
 
 // This is a convenience routine that makes sure that all thread-specific
@@ -122884,7 +122942,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24)))
-	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24878, libc.VaList(bp, zTableName,
+	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24925, libc.VaList(bp, zTableName,
 		zColumnName))
 	rc = SQLITE_ERROR
 __20:
@@ -123540,7 +123598,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 {
 
 	azCompileOpt = Xsqlite3CompileOptions(tls, bp)
 
-	if Xsqlite3_strnicmp(tls, zOptName, ts+24906, 7) == 0 {
+	if Xsqlite3_strnicmp(tls, zOptName, ts+24953, 7) == 0 {
 		zOptName += uintptr(7)
 	}
 	n = Xsqlite3Strlen30(tls, zOptName)
@@ -123658,7 +123716,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin
 
 	Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr {
 		if rc != 0 {
-			return ts + 24914
+			return ts + 24961
 		}
 		return uintptr(0)
 	}(), 0)
@@ -123836,7 +123894,7 @@ type JsonParse1 = struct {
 type JsonParse = JsonParse1
 
 var jsonType = [8]uintptr{
-	ts + 6584, ts + 7167, ts + 7172, ts + 6594, ts + 6589, ts + 8408, ts + 24937, ts + 24943,
+	ts + 6584, ts + 8097, ts + 8102, ts + 6594, ts + 6589, ts + 8408, ts + 24984, ts + 24990,
 }
 
 func jsonZero(tls *libc.TLS, p uintptr) {
@@ -123989,7 +124047,7 @@ __10:
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0' + int32(c)>>4)
-	c = uint8(*(*int8)(unsafe.Pointer(ts + 24950 + uintptr(int32(c)&0xf))))
+	c = uint8(*(*int8)(unsafe.Pointer(ts + 24997 + uintptr(int32(c)&0xf))))
 __8:
 	;
 __6:
@@ -124044,7 +124102,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) {
 	default:
 		{
 			if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 {
-				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24967, -1)
+				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+25014, -1)
 				(*JsonString)(unsafe.Pointer(p)).FbErr = U8(2)
 				jsonReset(tls, p)
 			}
@@ -124108,13 +124166,13 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr
 		}
 	case JSON_TRUE:
 		{
-			jsonAppendRaw(tls, pOut, ts+7167, uint32(4))
+			jsonAppendRaw(tls, pOut, ts+8097, uint32(4))
 			break
 
 		}
 	case JSON_FALSE:
 		{
-			jsonAppendRaw(tls, pOut, ts+7172, uint32(5))
+			jsonAppendRaw(tls, pOut, ts+8102, uint32(5))
 			break
 
 		}
@@ -124664,12 +124722,12 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 't' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+7167, uint64(4)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+8097, uint64(4)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(4)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_TRUE), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 'f' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+7172, uint64(5)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+8102, uint64(5)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(5)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_FALSE), uint32(0), uintptr(0))
 		return int32(i + U32(5))
@@ -124770,7 +124828,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32
 			if (*JsonParse)(unsafe.Pointer(pParse)).Foom != 0 {
 				Xsqlite3_result_error_nomem(tls, pCtx)
 			} else {
-				Xsqlite3_result_error(tls, pCtx, ts+24996, -1)
+				Xsqlite3_result_error(tls, pCtx, ts+25043, -1)
 			}
 		}
 		jsonParseReset(tls, pParse)
@@ -125076,7 +125134,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt
 	}
 	if int32(*(*int8)(unsafe.Pointer(zPath))) == '.' {
 		jsonParseAddNode(tls, pParse, uint32(JSON_OBJECT), uint32(0), uintptr(0))
-	} else if libc.Xstrncmp(tls, zPath, ts+25011, uint64(3)) == 0 {
+	} else if libc.Xstrncmp(tls, zPath, ts+25058, uint64(3)) == 0 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0))
 	} else {
 		return uintptr(0)
@@ -125091,7 +125149,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	return Xsqlite3_mprintf(tls, ts+25015, libc.VaList(bp, zErr))
+	return Xsqlite3_mprintf(tls, ts+25062, libc.VaList(bp, zErr))
 }
 
 func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr {
@@ -125145,7 +125203,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+25041,
+	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+25088,
 		libc.VaList(bp, zFuncName))
 	Xsqlite3_result_error(tls, pCtx, zMsg, -1)
 	Xsqlite3_free(tls, zMsg)
@@ -125250,11 +125308,11 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 			if int32(*(*int8)(unsafe.Pointer(zPath))) != '$' {
 				jsonInit(tls, bp, ctx)
 				if int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zPath)))])&0x04 != 0 {
-					jsonAppendRaw(tls, bp, ts+25084, uint32(2))
+					jsonAppendRaw(tls, bp, ts+25131, uint32(2))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendRaw(tls, bp, ts+5401, uint32(2))
 				} else {
-					jsonAppendRaw(tls, bp, ts+25087, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
+					jsonAppendRaw(tls, bp, ts+25134, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendChar(tls, bp, int8(0))
 				}
@@ -125411,14 +125469,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 
 	if argc&1 != 0 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+25090, -1)
+			ts+25137, -1)
 		return
 	}
 	jsonInit(tls, bp, ctx)
 	jsonAppendChar(tls, bp, int8('{'))
 	for i = 0; i < argc; i = i + 2 {
 		if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != SQLITE_TEXT {
-			Xsqlite3_result_error(tls, ctx, ts+25141, -1)
+			Xsqlite3_result_error(tls, ctx, ts+25188, -1)
 			jsonReset(tls, bp)
 			return
 		}
@@ -125588,9 +125646,9 @@ __1:
 	}
 	jsonWrongNumArgs(tls, ctx, func() uintptr {
 		if bIsSet != 0 {
-			return ts + 25175
+			return ts + 25222
 		}
-		return ts + 25179
+		return ts + 25226
 	}())
 	return
 __2:
@@ -125723,7 +125781,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+25186, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+25233, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -125820,7 +125878,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+25189, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+25236, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -125864,7 +125922,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u
 	_ = argc
 	_ = pAux
 	rc = Xsqlite3_declare_vtab(tls, db,
-		ts+25192)
+		ts+25239)
 	if rc == SQLITE_OK {
 		pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{}))))
 		if pNew == uintptr(0) {
@@ -125995,7 +126053,7 @@ func jsonAppendObjectPathElement(tls *libc.TLS, pStr uintptr, pNode uintptr) {
 			nn = nn - 2
 		}
 	}
-	jsonPrintf(tls, nn+2, pStr, ts+25275, libc.VaList(bp, nn, z))
+	jsonPrintf(tls, nn+2, pStr, ts+25322, libc.VaList(bp, nn, z))
 }
 
 func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
@@ -126014,7 +126072,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
 	pNode = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(i)*16
 	pUp = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(iUp)*16
 	if int32((*JsonNode)(unsafe.Pointer(pUp)).FeType) == JSON_ARRAY {
-		jsonPrintf(tls, 30, pStr, ts+25281, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
+		jsonPrintf(tls, 30, pStr, ts+25328, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
 	} else {
 		if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_LABEL == 0 {
 			pNode -= 16
@@ -126110,7 +126168,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 					jsonAppendChar(tls, bp+8, int8('$'))
 				}
 				if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY {
-					jsonPrintf(tls, 30, bp+8, ts+25281, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
+					jsonPrintf(tls, 30, bp+8, ts+25328, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
 				} else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT {
 					jsonAppendObjectPathElement(tls, bp+8, pThis)
 				}
@@ -126134,7 +126192,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 		{
 			var zRoot uintptr = (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot
 			if zRoot == uintptr(0) {
-				zRoot = ts + 25286
+				zRoot = ts + 25333
 			}
 			Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0))
 			break
@@ -126256,7 +126314,7 @@ func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, ar
 		var rc int32 = SQLITE_NOMEM
 		if int32((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.Foom) == 0 {
 			Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg)
-			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24996, 0)
+			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+25043, 0)
 			if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 {
 				rc = SQLITE_ERROR
 			}
@@ -126351,25 +126409,25 @@ func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) {
 }
 
 var aJsonFunc = [19]FuncDef{
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25288},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25293},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25304},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25304},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25322},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 25335},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 25338},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25342},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25354},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25366},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25377},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25388},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25400},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 25413},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25422},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25422},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25432},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25443},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25460}}
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25335},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25340},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25351},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25351},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25369},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 25382},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 25385},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25389},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25401},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25413},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25424},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25435},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25447},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 25460},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25469},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25469},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25479},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25490},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25507}}
 
 // Register the JSON table-valued functions
 func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 {
@@ -126388,8 +126446,8 @@ var aMod = [2]struct {
 	FzName   uintptr
 	FpModule uintptr
 }{
-	{FzName: ts + 25478, FpModule: 0},
-	{FzName: ts + 25488, FpModule: 0},
+	{FzName: ts + 25525, FpModule: 0},
+	{FzName: ts + 25535, FpModule: 0},
 }
 
 type Rtree1 = struct {
@@ -126649,11 +126707,11 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo
 		}
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) {
-		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25498, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25545, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		if zTab == uintptr(0) {
 			return SQLITE_NOMEM
 		}
-		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25506, iNode, 0,
+		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25553, iNode, 0,
 			pRtree+112)
 		Xsqlite3_free(tls, zTab)
 	}
@@ -126864,7 +126922,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32
 	var zCreate uintptr = Xsqlite3_mprintf(tls,
-		ts+25511,
+		ts+25558,
 		libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
@@ -127567,7 +127625,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 {
 	var pSrc uintptr
 	var pInfo uintptr
 
-	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25593)
+	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25640)
 	if pSrc == uintptr(0) {
 		return SQLITE_ERROR
 	}
@@ -128908,7 +128966,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+25607, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+	zSql = Xsqlite3_mprintf(tls, ts+25654, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 	if zSql != 0 {
 		rc = Xsqlite3_prepare_v2(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -1, bp+56, uintptr(0))
 	} else {
@@ -128920,12 +128978,12 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 		if iCol == 0 {
 			var zCol uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 0)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25627, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
+				ts+25674, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
 		} else {
 			var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol)
 			var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol+1)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25659, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
+				ts+25706, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
 		}
 	}
 
@@ -129151,7 +129209,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32 = SQLITE_NOMEM
 	var zSql uintptr = Xsqlite3_mprintf(tls,
-		ts+25696, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
+		ts+25743, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
 	if zSql != 0 {
 		nodeBlobReset(tls, pRtree)
 		rc = Xsqlite3_exec(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0))
@@ -129174,7 +129232,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 {
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	var zFmt uintptr = ts + 25841
+	var zFmt uintptr = ts + 25888
 	var zSql uintptr
 
 	var rc int32
@@ -129222,7 +129280,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName1 = [3]uintptr{
-	ts + 25897, ts + 5463, ts + 16673,
+	ts + 25944, ts + 5463, ts + 16673,
 }
 
 var rtreeModule = Sqlite3_module{
@@ -129265,19 +129323,19 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		var p uintptr = Xsqlite3_str_new(tls, db)
 		var ii int32
 		Xsqlite3_str_appendf(tls, p,
-			ts+25902,
+			ts+25949,
 			libc.VaList(bp, zDb, zPrefix))
 		for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
-			Xsqlite3_str_appendf(tls, p, ts+25964, libc.VaList(bp+16, ii))
+			Xsqlite3_str_appendf(tls, p, ts+26011, libc.VaList(bp+16, ii))
 		}
 		Xsqlite3_str_appendf(tls, p,
-			ts+25969,
+			ts+26016,
 			libc.VaList(bp+24, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+26033,
+			ts+26080,
 			libc.VaList(bp+40, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+26103,
+			ts+26150,
 			libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))
 		zCreate = Xsqlite3_str_finish(tls, p)
 		if !(zCreate != 0) {
@@ -129306,7 +129364,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		if i != 3 || int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) == 0 {
 			zFormat = azSql[i]
 		} else {
-			zFormat = ts + 26152
+			zFormat = ts + 26199
 		}
 		zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix))
 		if zSql != 0 {
@@ -129318,7 +129376,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FnAux != 0 {
 		(*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls,
-			ts+26260,
+			ts+26307,
 			libc.VaList(bp+96, zDb, zPrefix))
 		if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -129326,18 +129384,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 			var p uintptr = Xsqlite3_str_new(tls, db)
 			var ii int32
 			var zSql uintptr
-			Xsqlite3_str_appendf(tls, p, ts+26305, libc.VaList(bp+112, zDb, zPrefix))
+			Xsqlite3_str_appendf(tls, p, ts+26352, libc.VaList(bp+112, zDb, zPrefix))
 			for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
 				if ii != 0 {
 					Xsqlite3_str_append(tls, p, ts+13170, 1)
 				}
 				if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) {
-					Xsqlite3_str_appendf(tls, p, ts+26332, libc.VaList(bp+128, ii, ii+2, ii))
+					Xsqlite3_str_appendf(tls, p, ts+26379, libc.VaList(bp+128, ii, ii+2, ii))
 				} else {
-					Xsqlite3_str_appendf(tls, p, ts+26354, libc.VaList(bp+152, ii, ii+2))
+					Xsqlite3_str_appendf(tls, p, ts+26401, libc.VaList(bp+152, ii, ii+2))
 				}
 			}
-			Xsqlite3_str_appendf(tls, p, ts+26362, 0)
+			Xsqlite3_str_appendf(tls, p, ts+26409, 0)
 			zSql = Xsqlite3_str_finish(tls, p)
 			if zSql == uintptr(0) {
 				rc = SQLITE_NOMEM
@@ -129352,14 +129410,14 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 }
 
 var azSql = [8]uintptr{
-	ts + 26378,
-	ts + 26431,
-	ts + 26476,
-	ts + 26528,
-	ts + 26582,
-	ts + 26627,
-	ts + 26685,
-	ts + 26740,
+	ts + 26425,
+	ts + 26478,
+	ts + 26523,
+	ts + 26575,
+	ts + 26629,
+	ts + 26674,
+	ts + 26732,
+	ts + 26787,
 }
 
 func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 {
@@ -129388,7 +129446,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 	var zSql uintptr
 	if isCreate != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = 0
-		zSql = Xsqlite3_mprintf(tls, ts+26787, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
+		zSql = Xsqlite3_mprintf(tls, ts+26834, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
 		rc = getIntFromStmt(tls, db, zSql, bp+48)
 		if rc == SQLITE_OK {
 			(*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp + 48)) - 64
@@ -129400,7 +129458,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		}
 	} else {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+26807,
+			ts+26854,
 			libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		rc = getIntFromStmt(tls, db, zSql, pRtree+32)
 		if rc != SQLITE_OK {
@@ -129408,7 +129466,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		} else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < 512-64 {
 			rc = SQLITE_CORRUPT | int32(1)<<8
 
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26864,
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26911,
 				libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		}
 	}
@@ -129450,10 +129508,10 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr
 	ii = 4
 	*(*[5]uintptr)(unsafe.Pointer(bp + 96)) = [5]uintptr{
 		uintptr(0),
-		ts + 26899,
-		ts + 26942,
-		ts + 26977,
-		ts + 27013,
+		ts + 26946,
+		ts + 26989,
+		ts + 27024,
+		ts + 27060,
 	}
 
 	if !(argc < 6 || argc > RTREE_MAX_AUX_COLUMN+3) {
@@ -129484,7 +129542,7 @@ __2:
 	libc.X__builtin___memcpy_chk(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName), libc.X__builtin_object_size(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, 0))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+27050,
+	Xsqlite3_str_appendf(tls, pSql, ts+27097,
 		libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8))))
 	ii = 4
 __3:
@@ -129496,7 +129554,7 @@ __3:
 		goto __6
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+27074, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
+	Xsqlite3_str_appendf(tls, pSql, ts+27121, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
 	goto __7
 __6:
 	if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) {
@@ -129519,7 +129577,7 @@ __4:
 	goto __5
 __5:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+27080, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+27127, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __10
@@ -129615,7 +129673,7 @@ __25:
 	return rc
 }
 
-var azFormat = [2]uintptr{ts + 27083, ts + 27094}
+var azFormat = [2]uintptr{ts + 27130, ts + 27141}
 
 func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	bp := tls.Alloc(1072)
@@ -129655,11 +129713,11 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 		if ii > 0 {
 			Xsqlite3_str_append(tls, pOut, ts+11323, 1)
 		}
-		Xsqlite3_str_appendf(tls, pOut, ts+27104, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
+		Xsqlite3_str_appendf(tls, pOut, ts+27151, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
 		for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+56)).FnDim2); jj++ {
-			Xsqlite3_str_appendf(tls, pOut, ts+27110, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
+			Xsqlite3_str_appendf(tls, pOut, ts+27157, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
 		}
-		Xsqlite3_str_append(tls, pOut, ts+27114, 1)
+		Xsqlite3_str_append(tls, pOut, ts+27161, 1)
 	}
 	errCode = Xsqlite3_str_errcode(tls, pOut)
 	Xsqlite3_result_text(tls, ctx, Xsqlite3_str_finish(tls, pOut), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
@@ -129670,7 +129728,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	_ = nArg
 	if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB ||
 		Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 {
-		Xsqlite3_result_error(tls, ctx, ts+27116, -1)
+		Xsqlite3_result_error(tls, ctx, ts+27163, -1)
 	} else {
 		var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 		if zBlob != 0 {
@@ -129748,7 +129806,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr
 		if z == uintptr(0) {
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM
 		} else {
-			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+27149,
+			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+27196,
 				libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr {
 					if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 {
 						return ts + 4465
@@ -129772,7 +129830,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) {
 		(*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = rtreeCheckPrepare(tls, pCheck,
-			ts+27156,
+			ts+27203,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab))
 	}
 
@@ -129791,7 +129849,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 		}
 		rtreeCheckReset(tls, pCheck, (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode)
 		if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) {
-			rtreeCheckAppendMsg(tls, pCheck, ts+27201, libc.VaList(bp+16, iNode))
+			rtreeCheckAppendMsg(tls, pCheck, ts+27248, libc.VaList(bp+16, iNode))
 		}
 	}
 
@@ -129805,8 +129863,8 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	var rc int32
 	var pStmt uintptr
 	*(*[2]uintptr)(unsafe.Pointer(bp + 80)) = [2]uintptr{
-		ts + 27233,
-		ts + 27287,
+		ts + 27280,
+		ts + 27334,
 	}
 
 	if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) {
@@ -129821,23 +129879,23 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	Xsqlite3_bind_int64(tls, pStmt, 1, iKey)
 	rc = Xsqlite3_step(tls, pStmt)
 	if rc == SQLITE_DONE {
-		rtreeCheckAppendMsg(tls, pCheck, ts+27335,
+		rtreeCheckAppendMsg(tls, pCheck, ts+27382,
 			libc.VaList(bp+16, iKey, iVal, func() uintptr {
 				if bLeaf != 0 {
-					return ts + 27380
+					return ts + 27427
 				}
-				return ts + 27388
+				return ts + 27435
 			}()))
 	} else if rc == SQLITE_ROW {
 		var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0)
 		if ii != iVal {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27397,
+				ts+27444,
 				libc.VaList(bp+40, iKey, ii, func() uintptr {
 					if bLeaf != 0 {
-						return ts + 27380
+						return ts + 27427
 					}
-					return ts + 27388
+					return ts + 27435
 				}(), iKey, iVal))
 		}
 	}
@@ -129861,7 +129919,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 			return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48)) > *(*RtreeValue)(unsafe.Pointer(bp + 52)))
 		}() != 0 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27455, libc.VaList(bp, i, iCell, iNode))
+				ts+27502, libc.VaList(bp, i, iCell, iNode))
 		}
 
 		if pParent != 0 {
@@ -129881,7 +129939,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 					return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52)) > *(*RtreeValue)(unsafe.Pointer(bp + 60)))
 				}() != 0 {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27503, libc.VaList(bp+24, i, iCell, iNode))
+					ts+27550, libc.VaList(bp+24, i, iCell, iNode))
 			}
 		}
 	}
@@ -129898,14 +129956,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 	if aNode != 0 {
 		if *(*int32)(unsafe.Pointer(bp + 48)) < 4 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27570, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
+				ts+27617, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
 		} else {
 			var nCell int32
 			var i int32
 			if aParent == uintptr(0) {
 				iDepth = readInt16(tls, aNode)
 				if iDepth > RTREE_MAX_DEPTH {
-					rtreeCheckAppendMsg(tls, pCheck, ts+27604, libc.VaList(bp+16, iDepth))
+					rtreeCheckAppendMsg(tls, pCheck, ts+27651, libc.VaList(bp+16, iDepth))
 					Xsqlite3_free(tls, aNode)
 					return
 				}
@@ -129913,7 +129971,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 			nCell = readInt16(tls, aNode+2)
 			if 4+nCell*(8+(*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim*2*4) > *(*int32)(unsafe.Pointer(bp + 48)) {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27634,
+					ts+27681,
 					libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48))))
 			} else {
 				for i = 0; i < nCell; i++ {
@@ -129942,14 +130000,14 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) {
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK {
 		var pCount uintptr
-		pCount = rtreeCheckPrepare(tls, pCheck, ts+27689,
+		pCount = rtreeCheckPrepare(tls, pCheck, ts+27736,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl))
 		if pCount != 0 {
 			if Xsqlite3_step(tls, pCount) == SQLITE_ROW {
 				var nActual I64 = Xsqlite3_column_int64(tls, pCount, 0)
 				if nActual != nExpect {
 					rtreeCheckAppendMsg(tls, pCheck,
-						ts+27720, libc.VaList(bp+24, zTbl, nExpect, nActual))
+						ts+27767, libc.VaList(bp+24, zTbl, nExpect, nActual))
 				}
 			}
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount)
@@ -129976,7 +130034,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	}
 
 	if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
-		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27787, libc.VaList(bp, zDb, zTab))
+		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27834, libc.VaList(bp, zDb, zTab))
 		if pStmt != 0 {
 			nAux = Xsqlite3_column_count(tls, pStmt) - 2
 			Xsqlite3_finalize(tls, pStmt)
@@ -129985,12 +130043,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		}
 	}
 
-	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25607, libc.VaList(bp+16, zDb, zTab))
+	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25654, libc.VaList(bp+16, zDb, zTab))
 	if pStmt != 0 {
 		var rc int32
 		(*RtreeCheck)(unsafe.Pointer(bp + 32)).FnDim = (Xsqlite3_column_count(tls, pStmt) - 1 - nAux) / 2
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).FnDim < 1 {
-			rtreeCheckAppendMsg(tls, bp+32, ts+27815, 0)
+			rtreeCheckAppendMsg(tls, bp+32, ts+27862, 0)
 		} else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).FbInt = libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)
 		}
@@ -130004,8 +130062,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			rtreeCheckNode(tls, bp+32, 0, uintptr(0), int64(1))
 		}
-		rtreeCheckCount(tls, bp+32, ts+27846, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
-		rtreeCheckCount(tls, bp+32, ts+27853, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27893, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27900, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
 	}
 
 	Xsqlite3_finalize(tls, (*RtreeCheck)(unsafe.Pointer(bp+32)).FpGetNode)
@@ -130013,7 +130071,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 + 40 + 1*8)))
 
 	if bEnd != 0 {
-		var rc int32 = Xsqlite3_exec(tls, db, ts+27861, uintptr(0), uintptr(0), uintptr(0))
+		var rc int32 = Xsqlite3_exec(tls, db, ts+27908, uintptr(0), uintptr(0), uintptr(0))
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).Frc = rc
 		}
@@ -130028,7 +130086,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 
 	if nArg != 1 && nArg != 2 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+27865, -1)
+			ts+27912, -1)
 	} else {
 		var rc int32
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
@@ -130046,7 +130104,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 				if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
 					return *(*uintptr)(unsafe.Pointer(bp))
 				}
-				return ts + 18464
+				return ts + 18511
 			}(), -1, libc.UintptrFromInt32(-1))
 		} else {
 			Xsqlite3_result_error_code(tls, ctx, rc)
@@ -130417,11 +130475,11 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var db uintptr = Xsqlite3_context_db_handle(tls, context)
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
-		Xsqlite3_str_append(tls, x, ts+27916, 1)
+		Xsqlite3_str_append(tls, x, ts+27963, 1)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27918, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27965, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27929, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27976, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -130441,19 +130499,19 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
 		var cSep int8 = int8('\'')
-		Xsqlite3_str_appendf(tls, x, ts+27940, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27987, 0)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27958, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+28005, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 			cSep = int8(' ')
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27966, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+28013, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		for i = 1; i < argc; i++ {
 			var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 			if z != 0 && *(*int8)(unsafe.Pointer(z)) != 0 {
-				Xsqlite3_str_appendf(tls, x, ts+27974, libc.VaList(bp+40, z))
+				Xsqlite3_str_appendf(tls, x, ts+28021, libc.VaList(bp+40, z))
 			}
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27978, 0)
+		Xsqlite3_str_appendf(tls, x, ts+28025, 0)
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -131373,7 +131431,7 @@ __1:
 	libc.X__builtin___memcpy_chk(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName), libc.X__builtin_object_size(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, 0))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+27991, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+28038, 0)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1)
 	ii = 3
@@ -131382,7 +131440,7 @@ __2:
 		goto __4
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+28013, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
+	Xsqlite3_str_appendf(tls, pSql, ts+28060, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
 	goto __3
 __3:
 	ii++
@@ -131390,7 +131448,7 @@ __3:
 	goto __4
 __4:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+27080, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+27127, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __5
@@ -131627,7 +131685,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 	}
 	if iFuncTerm >= 0 {
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum
-		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 28017
+		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 28064
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).FargvIndex = 1
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).Fomit = uint8(0)
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 300.0
@@ -131635,7 +131693,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 		return SQLITE_OK
 	}
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4
-	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 28023
+	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 28070
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000)
 	return SQLITE_OK
@@ -131747,7 +131805,7 @@ __1:
 	if !(*(*int32)(unsafe.Pointer(bp + 48)) == SQLITE_ERROR) {
 		goto __4
 	}
-	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+28032, 0)
+	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+28079, 0)
 __4:
 	;
 	goto geopoly_update_end
@@ -131879,14 +131937,14 @@ geopoly_update_end:
 func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 {
 	_ = pVtab
 	_ = nArg
-	if Xsqlite3_stricmp(tls, zName, ts+28072) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+28119) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyOverlapFunc}))
 		*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
 		return SQLITE_INDEX_CONSTRAINT_FUNCTION
 	}
-	if Xsqlite3_stricmp(tls, zName, ts+28088) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+28135) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyWithinFunc}))
@@ -131951,7 +132009,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 {
 			uintptr(0), aAgg[i].FxStep, aAgg[i].FxFinal)
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_module_v2(tls, db, ts+28103, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+28150, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
 	}
 	return rc
 }
@@ -131963,25 +132021,25 @@ var aFunc = [12]struct {
 	F__ccgo_pad1 [6]byte
 	FzName       uintptr
 }{
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28111},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28124},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28137},
-	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 28150},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 28088},
-	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 28162},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 28072},
-	{FxFunc: 0, FnArg: int8(1), FzName: ts + 28185},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28199},
-	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 28212},
-	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 28226},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28242},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28158},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28171},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28184},
+	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 28197},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 28135},
+	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 28209},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 28119},
+	{FxFunc: 0, FnArg: int8(1), FzName: ts + 28232},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28246},
+	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 28259},
+	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 28273},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28289},
 }
 var aAgg = [1]struct {
 	FxStep  uintptr
 	FxFinal uintptr
 	FzName  uintptr
 }{
-	{FxStep: 0, FxFinal: 0, FzName: ts + 28254},
+	{FxStep: 0, FxFinal: 0, FzName: ts + 28301},
 }
 
 // Register the r-tree module with database handle db. This creates the
@@ -131991,26 +132049,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 {
 	var utf8 int32 = SQLITE_UTF8
 	var rc int32
 
-	rc = Xsqlite3_create_function(tls, db, ts+28273, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	rc = Xsqlite3_create_function(tls, db, ts+28320, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr)
 	}{rtreenode})), uintptr(0), uintptr(0))
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+28283, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+28330, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreedepth})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+28294, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+28341, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreecheck})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_REAL32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+28017, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+28064, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_INT32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+28305, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+28352, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		rc = sqlite3_geopoly_init(tls, db)
@@ -132064,7 +132122,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
 			Xsqlite3_result_error_nomem(tls, ctx)
 			rtreeMatchArgFree(tls, pBlob)
 		} else {
-			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25593, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
+			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25640, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
 		}
 	}
 }
@@ -132391,7 +132449,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 
 	nOut = rbuDeltaOutputSize(tls, aDelta, nDelta)
 	if nOut < 0 {
-		Xsqlite3_result_error(tls, context, ts+28315, -1)
+		Xsqlite3_result_error(tls, context, ts+28362, -1)
 		return
 	}
 
@@ -132402,7 +132460,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 		nOut2 = rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut)
 		if nOut2 != nOut {
 			Xsqlite3_free(tls, aOut)
-			Xsqlite3_result_error(tls, context, ts+28315, -1)
+			Xsqlite3_result_error(tls, context, ts+28362, -1)
 		} else {
 			Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		}
@@ -132503,7 +132561,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuObjIterClearStatements(tls, pIter)
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) {
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+28336, uintptr(0), uintptr(0), p+64)
+				ts+28383, uintptr(0), uintptr(0), p+64)
 		}
 
 		if rc == SQLITE_OK {
@@ -132567,7 +132625,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) {
 				Xsqlite3_result_text(tls, pCtx, zIn, -1, uintptr(0))
 			}
 		} else {
-			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25506, zIn, uint64(4)) == 0 {
+			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25553, zIn, uint64(4)) == 0 {
 				var i int32
 				for i = 4; int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) >= '0' && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) <= '9'; i++ {
 				}
@@ -132588,16 +132646,16 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 
 	rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28507, libc.VaList(bp, func() uintptr {
+			ts+28554, libc.VaList(bp, func() uintptr {
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					return ts + 28657
+					return ts + 28704
 				}
 				return ts + 1547
 			}())))
 
 	if rc == SQLITE_OK {
 		rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64,
-			ts+28698)
+			ts+28745)
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1
@@ -132713,7 +132771,7 @@ func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28823, libc.VaList(bp, zTab)))
+			ts+28870, libc.VaList(bp, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) != SQLITE_ROW) {
 		goto __1
 	}
@@ -132731,7 +132789,7 @@ __2:
 	*(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), 1)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+1*8, p+64,
-		Xsqlite3_mprintf(tls, ts+28942, libc.VaList(bp+8, zTab)))
+		Xsqlite3_mprintf(tls, ts+28989, libc.VaList(bp+8, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) {
 		goto __3
 	}
@@ -132749,7 +132807,7 @@ __4:
 	}
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+2*8, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28963, libc.VaList(bp+16, zIdx)))
+			ts+29010, libc.VaList(bp+16, zIdx)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __7
 	}
@@ -132772,7 +132830,7 @@ __6:
 __5:
 	;
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+3*8, p+64,
-		Xsqlite3_mprintf(tls, ts+29014, libc.VaList(bp+24, zTab)))
+		Xsqlite3_mprintf(tls, ts+29061, libc.VaList(bp+24, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __10
 	}
@@ -132818,7 +132876,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		libc.X__builtin___memcpy_chk(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol), libc.X__builtin_object_size(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0))
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+16, p+64,
-			Xsqlite3_mprintf(tls, ts+29035, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+29082, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0
@@ -132833,7 +132891,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 			libc.X__builtin___memset_chk(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0x01, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol), libc.X__builtin_object_size(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0))
 		}
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+29063, libc.VaList(bp+8, zIdx)))
+			Xsqlite3_mprintf(tls, ts+29110, libc.VaList(bp+8, zIdx)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
 			var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 1)
 			if iCid >= 0 {
@@ -132873,7 +132931,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+56, pIter+108)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19939, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19986, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
 			return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc
@@ -132883,18 +132941,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		}
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+64, p+64,
-			Xsqlite3_mprintf(tls, ts+29092, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
+			Xsqlite3_mprintf(tls, ts+29139, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 			rbuAllocateIterArrays(tls, p, pIter, nCol)
 		}
 		for i = 0; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && i < nCol; i++ {
 			var zName uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), i)
-			if Xsqlite3_strnicmp(tls, ts+29111, zName, 4) != 0 {
+			if Xsqlite3_strnicmp(tls, ts+29158, zName, 4) != 0 {
 				var zCopy uintptr = rbuStrndup(tls, zName, p+56)
 				*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol
 				*(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(libc.PostIncInt32(&(*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol, 1))*8)) = zCopy
-			} else if 0 == Xsqlite3_stricmp(tls, ts+29116, zName) {
+			} else if 0 == Xsqlite3_stricmp(tls, ts+29163, zName) {
 				bRbuRowid = 1
 			}
 		}
@@ -132906,18 +132964,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			bRbuRowid != libc.Bool32((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls,
-				ts+29126, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
+				ts+29173, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 					func() uintptr {
 						if bRbuRowid != 0 {
-							return ts + 29155
+							return ts + 29202
 						}
-						return ts + 29168
+						return ts + 29215
 					}()))
 		}
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-				Xsqlite3_mprintf(tls, ts+29177, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				Xsqlite3_mprintf(tls, ts+29224, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		}
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64))) {
 			var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 1)
@@ -132931,7 +132989,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			}
 			if i == (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29199,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29246,
 					libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName))
 			} else {
 				var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 5)
@@ -132978,7 +133036,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var i int32
 	for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 		var z uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-		zList = rbuMPrintf(tls, p, ts+29226, libc.VaList(bp, zList, zSep, z))
+		zList = rbuMPrintf(tls, p, ts+29273, libc.VaList(bp, zList, zSep, z))
 		zSep = ts + 15017
 	}
 	return zList
@@ -132996,7 +133054,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr,
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if int32(*(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zRet = rbuMPrintf(tls, p, ts+29235, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
+				zRet = rbuMPrintf(tls, p, ts+29282, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
 				zSep = zSeparator
 				break
 			}
@@ -133018,25 +133076,25 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32,
 	if bRowid != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+29248, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				ts+29295, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 			var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-			zRet = rbuMPrintf(tls, p, ts+29280, libc.VaList(bp+16, iMax))
+			zRet = rbuMPrintf(tls, p, ts+29327, libc.VaList(bp+16, iMax))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 	} else {
-		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+15017, ts+29303)
-		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+29309, ts+29316, ts+5360)
+		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+15017, ts+29350)
+		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+29356, ts+29363, ts+5360)
 		var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+15017, ts+1547)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 				Xsqlite3_mprintf(tls,
-					ts+29324,
+					ts+29371,
 					libc.VaList(bp+24, zSelect, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 				var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-				zRet = rbuMPrintf(tls, p, ts+29366, libc.VaList(bp+56, zList, zVal))
+				zRet = rbuMPrintf(tls, p, ts+29413, libc.VaList(bp+56, zList, zVal))
 			}
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 		}
@@ -133078,7 +133136,7 @@ func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	*(*uintptr)(unsafe.Pointer(bp + 176)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-		Xsqlite3_mprintf(tls, ts+29063, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+		Xsqlite3_mprintf(tls, ts+29110, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 __1:
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176)))) {
 		goto __2
@@ -133113,7 +133171,7 @@ __10:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 	goto __7
 __6:
-	zCol = ts + 29386
+	zCol = ts + 29433
 __7:
 	;
 	goto __5
@@ -133121,11 +133179,11 @@ __4:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 __5:
 	;
-	zLhs = rbuMPrintf(tls, p, ts+29394,
+	zLhs = rbuMPrintf(tls, p, ts+29441,
 		libc.VaList(bp+8, zLhs, zSep, zCol, zCollate))
-	zOrder = rbuMPrintf(tls, p, ts+29415,
+	zOrder = rbuMPrintf(tls, p, ts+29462,
 		libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate))
-	zSelect = rbuMPrintf(tls, p, ts+29451,
+	zSelect = rbuMPrintf(tls, p, ts+29498,
 		libc.VaList(bp+80, zSelect, zSep, iCol, zCol))
 	zSep = ts + 15017
 	iCol++
@@ -133145,7 +133203,7 @@ __11:
 	*(*uintptr)(unsafe.Pointer(bp + 184)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+184, p+64,
-		Xsqlite3_mprintf(tls, ts+29478,
+		Xsqlite3_mprintf(tls, ts+29525,
 			libc.VaList(bp+112, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 184)))) {
 		goto __13
@@ -133172,7 +133230,7 @@ __19:
 	;
 __18:
 	;
-	zVector = rbuMPrintf(tls, p, ts+29526, libc.VaList(bp+136, zVector, zSep, zQuoted))
+	zVector = rbuMPrintf(tls, p, ts+29573, libc.VaList(bp+136, zVector, zSep, zQuoted))
 	zSep = ts + 15017
 	goto __15
 __15:
@@ -133184,7 +133242,7 @@ __16:
 	if !!(bFailed != 0) {
 		goto __20
 	}
-	zRet = rbuMPrintf(tls, p, ts+29533, libc.VaList(bp+160, zLhs, zVector))
+	zRet = rbuMPrintf(tls, p, ts+29580, libc.VaList(bp+160, zLhs, zVector))
 __20:
 	;
 __13:
@@ -133217,7 +133275,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 	if rc == SQLITE_OK {
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200, p+64,
-			Xsqlite3_mprintf(tls, ts+29063, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+			Xsqlite3_mprintf(tls, ts+29110, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 	}
 
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200))) {
@@ -133229,7 +133287,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 		if iCid == -2 {
 			var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 0)
-			zRet = Xsqlite3_mprintf(tls, ts+29545, libc.VaList(bp+8, zRet, zCom,
+			zRet = Xsqlite3_mprintf(tls, ts+29592, libc.VaList(bp+8, zRet, zCom,
 				(*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FnSpan, (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FzSpan, zCollate))
 			zType = ts + 1547
 		} else {
@@ -133241,37 +133299,37 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 					zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 				} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					zCol = ts + 29386
+					zCol = ts + 29433
 				} else {
-					zCol = ts + 29116
+					zCol = ts + 29163
 				}
 				zType = ts + 1112
 			} else {
 				zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 				zType = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8))
 			}
-			zRet = Xsqlite3_mprintf(tls, ts+29567, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
+			zRet = Xsqlite3_mprintf(tls, ts+29614, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 5) != 0 {
 			var zOrder uintptr = func() uintptr {
 				if bDesc != 0 {
-					return ts + 29303
+					return ts + 29350
 				}
 				return ts + 1547
 			}()
-			zImpPK = Xsqlite3_mprintf(tls, ts+29587,
+			zImpPK = Xsqlite3_mprintf(tls, ts+29634,
 				libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder))
 		}
-		zImpCols = Xsqlite3_mprintf(tls, ts+29608,
+		zImpCols = Xsqlite3_mprintf(tls, ts+29655,
 			libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate))
 		zWhere = Xsqlite3_mprintf(tls,
-			ts+29641, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
+			ts+29688, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
 		if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) {
 			rc = SQLITE_NOMEM
 		}
 		zCom = ts + 15017
-		zAnd = ts + 21975
+		zAnd = ts + 22022
 		nBind++
 	}
 
@@ -133310,9 +133368,9 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = Xsqlite3_mprintf(tls, ts+29665, libc.VaList(bp, zList, zS, zObj, zCol))
+				zList = Xsqlite3_mprintf(tls, ts+29712, libc.VaList(bp, zList, zS, zObj, zCol))
 			} else {
-				zList = Xsqlite3_mprintf(tls, ts+29677, libc.VaList(bp+32, zList, zS))
+				zList = Xsqlite3_mprintf(tls, ts+29724, libc.VaList(bp+32, zList, zS))
 			}
 			zS = ts + 15017
 			if zList == uintptr(0) {
@@ -133322,7 +133380,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-			zList = rbuMPrintf(tls, p, ts+29686, libc.VaList(bp+48, zList, zObj))
+			zList = rbuMPrintf(tls, p, ts+29733, libc.VaList(bp+48, zList, zObj))
 		}
 	}
 	return zList
@@ -133334,18 +133392,18 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	var zList uintptr = uintptr(0)
 	if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-		zList = rbuMPrintf(tls, p, ts+29701, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
+		zList = rbuMPrintf(tls, p, ts+29748, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
 	} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
 		var zSep uintptr = ts + 1547
 		var i int32
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
-				zList = rbuMPrintf(tls, p, ts+29715, libc.VaList(bp+8, zList, zSep, i, i+1))
-				zSep = ts + 21975
+				zList = rbuMPrintf(tls, p, ts+29762, libc.VaList(bp+8, zList, zSep, i, i+1))
+				zSep = ts + 22022
 			}
 		}
 		zList = rbuMPrintf(tls, p,
-			ts+29727, libc.VaList(bp+40, zList))
+			ts+29774, libc.VaList(bp+40, zList))
 
 	} else {
 		var zSep uintptr = ts + 1547
@@ -133353,8 +133411,8 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = rbuMPrintf(tls, p, ts+29777, libc.VaList(bp+48, zList, zSep, zCol, i+1))
-				zSep = ts + 21975
+				zList = rbuMPrintf(tls, p, ts+29824, libc.VaList(bp+48, zList, zSep, zCol, i+1))
+				zSep = ts + 22022
 			}
 		}
 	}
@@ -133363,7 +133421,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 func rbuBadControlError(tls *libc.TLS, p uintptr) {
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29790, 0)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29837, 0)
 }
 
 func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr {
@@ -133381,15 +133439,15 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr
 			for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 				var c int8 = *(*int8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4)))))
 				if int32(c) == 'x' {
-					zList = rbuMPrintf(tls, p, ts+29777,
+					zList = rbuMPrintf(tls, p, ts+29824,
 						libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 15017
 				} else if int32(c) == 'd' {
-					zList = rbuMPrintf(tls, p, ts+29816,
+					zList = rbuMPrintf(tls, p, ts+29863,
 						libc.VaList(bp+32, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 15017
 				} else if int32(c) == 'f' {
-					zList = rbuMPrintf(tls, p, ts+29846,
+					zList = rbuMPrintf(tls, p, ts+29893,
 						libc.VaList(bp+72, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 15017
 				}
@@ -133426,19 +133484,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var z uintptr = uintptr(0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		var zSep uintptr = ts + 29883
+		var zSep uintptr = ts + 29930
 		*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 		*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56, p+64,
-			Xsqlite3_mprintf(tls, ts+29035, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+29082, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) {
 			var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 3)
 			if zOrig != 0 && libc.Xstrcmp(tls, zOrig, ts+16561) == 0 {
 				var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 1)
 				if zIdx != 0 {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-						Xsqlite3_mprintf(tls, ts+29063, libc.VaList(bp+8, zIdx)))
+						Xsqlite3_mprintf(tls, ts+29110, libc.VaList(bp+8, zIdx)))
 				}
 				break
 			}
@@ -133450,15 +133508,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 				var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 2)
 				var zDesc uintptr
 				if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 3) != 0 {
-					zDesc = ts + 29303
+					zDesc = ts + 29350
 				} else {
 					zDesc = ts + 1547
 				}
-				z = rbuMPrintf(tls, p, ts+29896, libc.VaList(bp+16, z, zSep, zCol, zDesc))
+				z = rbuMPrintf(tls, p, ts+29943, libc.VaList(bp+16, z, zSep, zCol, zDesc))
 				zSep = ts + 15017
 			}
 		}
-		z = rbuMPrintf(tls, p, ts+29907, libc.VaList(bp+48, z))
+		z = rbuMPrintf(tls, p, ts+29954, libc.VaList(bp+48, z))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
 	return z
@@ -133478,7 +133536,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		var zPk uintptr = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168, p+64,
-			ts+29911)
+			ts+29958)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168)), 1, tnum)
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168))) {
@@ -133487,7 +133545,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		}
 		if zIdx != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-				Xsqlite3_mprintf(tls, ts+29063, libc.VaList(bp, zIdx)))
+				Xsqlite3_mprintf(tls, ts+29110, libc.VaList(bp, zIdx)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168)))
 
@@ -133497,23 +133555,23 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 				var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 1)
 				var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 3)
 				var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 4)
-				zCols = rbuMPrintf(tls, p, ts+29961, libc.VaList(bp+8, zCols, zComma,
+				zCols = rbuMPrintf(tls, p, ts+30008, libc.VaList(bp+8, zCols, zComma,
 					iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate))
-				zPk = rbuMPrintf(tls, p, ts+29983, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
+				zPk = rbuMPrintf(tls, p, ts+30030, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
 					if bDesc != 0 {
-						return ts + 29303
+						return ts + 29350
 					}
 					return ts + 1547
 				}()))
 				zComma = ts + 15017
 			}
 		}
-		zCols = rbuMPrintf(tls, p, ts+29993, libc.VaList(bp+80, zCols))
+		zCols = rbuMPrintf(tls, p, ts+30040, libc.VaList(bp+80, zCols))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176)))
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6844, 1, tnum))
 		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+30008,
+			ts+30055,
 			libc.VaList(bp+120, zCols, zPk))
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6844, 0, 0))
 	}
@@ -133539,13 +133597,13 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6844, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192, uintptr(0), uintptr(0), uintptr(0))
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 {
-				zPk = ts + 30070
+				zPk = ts + 30117
 			}
-			zSql = rbuMPrintf(tls, p, ts+30083,
+			zSql = rbuMPrintf(tls, p, ts+30130,
 				libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192)),
 					func() uintptr {
 						if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 {
-							return ts + 30110
+							return ts + 30157
 						}
 						return ts + 1547
 					}()))
@@ -133555,16 +133613,16 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
 			var zPk uintptr = rbuWithoutRowidPK(tls, p, pIter)
 			if zPk != 0 {
-				zSql = rbuMPrintf(tls, p, ts+30120, libc.VaList(bp+88, zSql, zPk))
+				zSql = rbuMPrintf(tls, p, ts+30167, libc.VaList(bp+88, zSql, zPk))
 			}
 		}
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6844, 1, tnum))
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30127,
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30174,
 			libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql,
 				func() uintptr {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
-						return ts + 30159
+						return ts + 30206
 					}
 					return ts + 1547
 				}()))
@@ -133581,7 +133639,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis
 	if zBind != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls,
-				ts+30174,
+				ts+30221,
 				libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind)))
 	}
 }
@@ -133618,7 +133676,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(bp + 8)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64,
-			ts+30231)
+			ts+30278)
 	}
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		var rc2 int32
@@ -133723,7 +133781,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 		var zLimit uintptr = uintptr(0)
 
 		if nOffset != 0 {
-			zLimit = Xsqlite3_mprintf(tls, ts+30297, libc.VaList(bp, nOffset))
+			zLimit = Xsqlite3_mprintf(tls, ts+30344, libc.VaList(bp, nOffset))
 			if !(zLimit != 0) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
 			}
@@ -133746,7 +133804,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6844, 0, 1))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6844, 1, tnum))
 			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+30317,
+				ts+30364,
 				libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600)), *(*uintptr)(unsafe.Pointer(bp + 608))))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6844, 0, 0))
 
@@ -133754,13 +133812,13 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64,
-					Xsqlite3_mprintf(tls, ts+30382, libc.VaList(bp+128, zTbl, zBind)))
+					Xsqlite3_mprintf(tls, ts+30429, libc.VaList(bp+128, zTbl, zBind)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64,
-					Xsqlite3_mprintf(tls, ts+30418, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
+					Xsqlite3_mprintf(tls, ts+30465, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
 			}
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -133776,7 +133834,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					}
 
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30452,
+						ts+30499,
 						libc.VaList(bp+160, zCollist,
 							(*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
@@ -133784,9 +133842,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								if zStart != 0 {
 									return func() uintptr {
 										if zPart != 0 {
-											return ts + 30513
+											return ts + 30560
 										}
-										return ts + 30517
+										return ts + 30564
 									}()
 								}
 								return ts + 1547
@@ -133795,20 +133853,20 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					Xsqlite3_free(tls, zStart)
 				} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30523,
+						ts+30570,
 						libc.VaList(bp+216, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart, zCollist, zLimit))
 				} else {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30584,
+						ts+30631,
 						libc.VaList(bp+264, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart,
 							zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
 							func() uintptr {
 								if zPart != 0 {
-									return ts + 30513
+									return ts + 30560
 								}
-								return ts + 30517
+								return ts + 30564
 							}(),
 							zCollist, zLimit))
 				}
@@ -133845,16 +133903,16 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB {
 					return ts + 1547
 				}
-				return ts + 30743
+				return ts + 30790
 			}()
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30752,
+						ts+30799,
 						libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr {
 							if bRbuRowid != 0 {
-								return ts + 30788
+								return ts + 30835
 							}
 							return ts + 1547
 						}(), zBindings)))
@@ -133863,32 +133921,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30798, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
+						ts+30845, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 				var zRbuRowid uintptr = ts + 1547
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-					zRbuRowid = ts + 30826
+					zRbuRowid = ts + 30873
 				}
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-					ts+30838, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
+					ts+30885, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
 						if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
-							return ts + 30914
+							return ts + 30961
 						}
 						return ts + 1547
 					}(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-					ts+30931,
+					ts+30978,
 					libc.VaList(bp+440, zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zNewlist))
 
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-						ts+31230,
+						ts+31277,
 						libc.VaList(bp+512, zWrite, zTbl, zNewlist))
 				}
 
@@ -133901,9 +133959,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				var zOrder uintptr = uintptr(0)
 				if bRbuRowid != 0 {
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-						zRbuRowid = ts + 31329
+						zRbuRowid = ts + 31376
 					} else {
-						zRbuRowid = ts + 31339
+						zRbuRowid = ts + 31386
 					}
 				}
 
@@ -133916,7 +133974,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 						}
 					}
 					if bRbuRowid != 0 {
-						zOrder = rbuMPrintf(tls, p, ts+29386, 0)
+						zOrder = rbuMPrintf(tls, p, ts+29433, 0)
 					} else {
 						zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+15017, ts+1547)
 					}
@@ -133925,11 +133983,11 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz,
 						Xsqlite3_mprintf(tls,
-							ts+31350,
+							ts+31397,
 							libc.VaList(bp+536, zCollist,
 								func() uintptr {
 									if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-										return ts + 31398
+										return ts + 31445
 									}
 									return ts + 1547
 								}(),
@@ -133942,7 +134000,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								}(),
 								func() uintptr {
 									if zOrder != 0 {
-										return ts + 23309
+										return ts + 23356
 									}
 									return ts + 1547
 								}(), zOrder,
@@ -134010,9 +134068,9 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp
 			var zPrefix uintptr = ts + 1547
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB {
-				zPrefix = ts + 30743
+				zPrefix = ts + 30790
 			}
-			zUpdate = Xsqlite3_mprintf(tls, ts+31404,
+			zUpdate = Xsqlite3_mprintf(tls, ts+31451,
 				libc.VaList(bp, zPrefix, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere))
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate)
@@ -134071,7 +134129,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr {
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 16)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8, p+64,
-		Xsqlite3_mprintf(tls, ts+31434, libc.VaList(bp, p+48)))
+		Xsqlite3_mprintf(tls, ts+31481, libc.VaList(bp, p+48)))
 	for *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 		switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0) {
 		case RBU_STATE_STAGE:
@@ -134144,18 +134202,18 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6844, SQLITE_FCNTL_RBUCNT, p)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) {
 			var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6844)
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31464, libc.VaList(bp, zFile, zFile))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31511, libc.VaList(bp, zFile, zFile))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 {
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31492, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31539, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
 		libc.X__builtin___memcpy_chk(tls, p+48, ts+3279, uint64(4), libc.X__builtin_object_size(tls, p+48, 0))
 	} else {
 		libc.X__builtin___memcpy_chk(tls, p+48, ts+6844, uint64(4), libc.X__builtin_object_size(tls, p+48, 0))
 	}
 
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31510, libc.VaList(bp+24, p+48))
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31557, libc.VaList(bp+24, p+48))
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		var bOpen int32 = 0
@@ -134195,11 +134253,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				return
 			}
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31576, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31623, 0)
 		} else {
 			var zTarget uintptr
 			var zExtra uintptr = uintptr(0)
-			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24656, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
+			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24703, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
 				zExtra = (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5
 				for *(*int8)(unsafe.Pointer(zExtra)) != 0 {
 					if int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zExtra, 1)))) == '?' {
@@ -134211,13 +134269,13 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				}
 			}
 
-			zTarget = Xsqlite3_mprintf(tls, ts+31608,
+			zTarget = Xsqlite3_mprintf(tls, ts+31655,
 				libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6844),
 					func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1547
 						}
-						return ts + 31640
+						return ts + 31687
 					}(), func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1547
@@ -134236,21 +134294,21 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31642, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31689, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTmpInsertFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31657, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31704, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuFossilDeltaFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+31674, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31721, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTargetNameFunc})), uintptr(0), uintptr(0))
 	}
@@ -134258,7 +134316,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6844, SQLITE_FCNTL_RBU, p)
 	}
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31690, 0)
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31737, 0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6844, SQLITE_FCNTL_RBU, p)
@@ -134266,7 +134324,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31718, 0)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31765, 0)
 	}
 }
 
@@ -134295,14 +134353,14 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
 	if pState == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = 0
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31690, uintptr(0), uintptr(0), uintptr(0))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31737, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var rc2 int32
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CAPTURE
-		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31736, uintptr(0), uintptr(0), uintptr(0))
+		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31783, uintptr(0), uintptr(0), uintptr(0))
 		if rc2 != SQLITE_NOTICE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 		}
@@ -134428,7 +134486,7 @@ func rbuLockDatabase(tls *libc.TLS, db uintptr) int32 {
 
 func rbuExclusiveCheckpoint(tls *libc.TLS, db uintptr) int32 {
 	var zUri uintptr = Xsqlite3_db_filename(tls, db, uintptr(0))
-	return Xsqlite3_uri_boolean(tls, zUri, ts+31771, 0)
+	return Xsqlite3_uri_boolean(tls, zUri, ts+31818, 0)
 }
 
 func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
@@ -134443,8 +134501,8 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6844)
 	}
-	zOal = Xsqlite3_mprintf(tls, ts+31796, libc.VaList(bp, zMove))
-	zWal = Xsqlite3_mprintf(tls, ts+31803, libc.VaList(bp+8, zMove))
+	zOal = Xsqlite3_mprintf(tls, ts+31843, libc.VaList(bp, zMove))
+	zWal = Xsqlite3_mprintf(tls, ts+31850, libc.VaList(bp+8, zMove))
 
 	if zWal == uintptr(0) || zOal == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
@@ -134561,7 +134619,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) {
 			(*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 &&
 			Xsqlite3_column_type(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect, i) == SQLITE_NULL {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_MISMATCH
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+24294, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+24341, 0)
 			return
 		}
 
@@ -134654,7 +134712,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 		var iCookie int32 = 1000000
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8, p+64,
-			ts+31810)
+			ts+31857)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 				iCookie = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0)
@@ -134662,7 +134720,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8)))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31832, libc.VaList(bp, iCookie+1))
+			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31879, libc.VaList(bp, iCookie+1))
 		}
 	}
 }
@@ -134683,7 +134741,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) {
 
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+31859,
+				ts+31906,
 				libc.VaList(bp, p+48,
 					RBU_STATE_STAGE, eStage,
 					RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl,
@@ -134713,9 +134771,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+32017, libc.VaList(bp, zPragma)))
+			Xsqlite3_mprintf(tls, ts+32064, libc.VaList(bp, zPragma)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32032,
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32079,
 				libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 0)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -134729,10 +134787,10 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 
-	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32052, uintptr(0), uintptr(0), p+64)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32099, uintptr(0), uintptr(0), p+64)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+32077)
+			ts+32124)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -134746,12 +134804,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+32185)
+			ts+32232)
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64,
-			ts+32250)
+			ts+32297)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -134763,7 +134821,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
 	}
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32294, uintptr(0), uintptr(0), p+64)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32341, uintptr(0), uintptr(0), p+64)
 	}
 
 	rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp)))
@@ -134791,7 +134849,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 {
 						if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 							rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-								ts+32319, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
+								ts+32366, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 						}
 					} else {
 						rbuObjIterPrepareAll(tls, p, pIter, 0)
@@ -134913,7 +134971,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) {
 
 		if rc == SQLITE_OK && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) {
 			rc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32347, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32394, 0)
 		}
 
 		if rc == SQLITE_OK {
@@ -134929,7 +134987,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	var zOal uintptr = rbuMPrintf(tls, p, ts+31796, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
+	var zOal uintptr = rbuMPrintf(tls, p, ts+31843, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
 	if zOal != 0 {
 		*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6844, SQLITE_FCNTL_VFS_POINTER, bp+8)
@@ -134946,7 +135004,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) {
 	defer tls.Free(76)
 
 	Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8)
-	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+32372, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
+	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+32419, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12, uintptr(0))
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12)
@@ -134980,7 +135038,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) {
 
 	rc = prepareFreeAndCollectError(tls, db, bp+8, bp+16,
 		Xsqlite3_mprintf(tls,
-			ts+32383, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
+			ts+32430, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
 	if rc != SQLITE_OK {
 		Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 16)), -1)
 	} else {
@@ -135010,13 +135068,13 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+32455, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+32502, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuIndexCntFunc})), uintptr(0), uintptr(0))
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32469)
+				ts+32516)
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
@@ -135027,7 +135085,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && bExists != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32526)
+				ts+32573)
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
@@ -135101,7 +135159,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd != 0 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32600, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32647, 0)
 			} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_MOVE {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CKPT
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FnStep = 0
@@ -135119,12 +135177,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 			}()
 			if (*Rbu_file)(unsafe.Pointer(pFd)).FiCookie != (*RbuState)(unsafe.Pointer(pState)).FiCookie {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32632,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32679,
 					libc.VaList(bp+8, func() uintptr {
 						if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-							return ts + 32664
+							return ts + 32711
 						}
-						return ts + 32671
+						return ts + 32718
 					}()))
 			}
 		}
@@ -135148,14 +135206,14 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32678, uintptr(0), uintptr(0), p+64)
+						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32725, uintptr(0), uintptr(0), p+64)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 						var frc int32 = Xsqlite3_file_control(tls, db, ts+6844, SQLITE_FCNTL_ZIPVFS, uintptr(0))
 						if frc == SQLITE_OK {
 							(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls,
-								db, ts+32694, uintptr(0), uintptr(0), p+64)
+								db, ts+32741, uintptr(0), uintptr(0), p+64)
 						}
 					}
 
@@ -135209,7 +135267,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr
 	}
 	if zState != 0 {
 		var n int32 = int32(libc.Xstrlen(tls, zState))
-		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32718, zState+uintptr(n-7), uint64(7)) {
+		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32765, zState+uintptr(n-7), uint64(7)) {
 			return rbuMisuseError(tls)
 		}
 	}
@@ -135236,7 +135294,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) {
 		var i uint32
 		var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg)
 		for i = uint32(0); Size_t(i) < nErrmsg-uint64(8); i++ {
-			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30743, uint64(8)) == 0 {
+			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30790, uint64(8)) == 0 {
 				var nDel int32 = 8
 				for int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= '0' && int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= '9' {
 					nDel++
@@ -135272,7 +135330,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 {
 		rbuObjIterFinalize(tls, p+80)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 {
-			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32726, uintptr(0), uintptr(0), uintptr(0))
+			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32773, uintptr(0), uintptr(0), uintptr(0))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE && rc2 != SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 			}
@@ -135391,12 +135449,12 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 				zBegin = ts + 14906
 			} else {
-				zBegin = ts + 32678
+				zBegin = ts + 32725
 			}
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32678, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32725, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -135742,7 +135800,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 			})(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16)
 			if rc == SQLITE_OK {
 				rc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32753, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32800, 0)
 			} else if rc == SQLITE_NOTFOUND {
 				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p
 				(*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu
@@ -135767,7 +135825,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 	if rc == SQLITE_OK && op == SQLITE_FCNTL_VFSNAME {
 		var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs
 		var zIn uintptr = *(*uintptr)(unsafe.Pointer(pArg))
-		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32776, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
+		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32823, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
 		*(*uintptr)(unsafe.Pointer(pArg)) = zOut
 		if zOut == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -135927,7 +135985,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags
 	}
 
 	if oflags&SQLITE_OPEN_MAIN_DB != 0 &&
-		Xsqlite3_uri_boolean(tls, zName, ts+32787, 0) != 0 {
+		Xsqlite3_uri_boolean(tls, zName, ts+32834, 0) != 0 {
 		oflags = SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE
 		zOpen = uintptr(0)
 	}
@@ -136756,7 +136814,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 		rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0))
 		if rc == SQLITE_OK {
 			zPragma = Xsqlite3_mprintf(tls,
-				ts+32798, 0)
+				ts+32845, 0)
 		} else if rc == SQLITE_ERROR {
 			zPragma = Xsqlite3_mprintf(tls, ts+1547, 0)
 		} else {
@@ -136769,7 +136827,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 			return rc
 		}
 	} else {
-		zPragma = Xsqlite3_mprintf(tls, ts+32919, libc.VaList(bp, zDb, zThis))
+		zPragma = Xsqlite3_mprintf(tls, ts+32966, libc.VaList(bp, zDb, zThis))
 	}
 	if !(zPragma != 0) {
 		*(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0)
@@ -137449,9 +137507,9 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr,
 
 	for i = 0; i < nCol; i++ {
 		if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
-			zRet = Xsqlite3_mprintf(tls, ts+32948,
+			zRet = Xsqlite3_mprintf(tls, ts+32995,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 21975
+			zSep = ts + 22022
 			if zRet == uintptr(0) {
 				break
 			}
@@ -137474,9 +137532,9 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 		if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 {
 			bHave = 1
 			zRet = Xsqlite3_mprintf(tls,
-				ts+32982,
+				ts+33029,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 33023
+			zSep = ts + 33070
 			if zRet == uintptr(0) {
 				break
 			}
@@ -137484,7 +137542,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 	}
 
 	if bHave == 0 {
-		zRet = Xsqlite3_mprintf(tls, ts+7933, 0)
+		zRet = Xsqlite3_mprintf(tls, ts+7922, 0)
 	}
 
 	return zRet
@@ -137495,7 +137553,7 @@ func sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, zTbl uintpt
 	defer tls.Free(40)
 
 	var zRet uintptr = Xsqlite3_mprintf(tls,
-		ts+33028,
+		ts+33075,
 		libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr))
 	return zRet
 }
@@ -137538,7 +137596,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro
 		rc = SQLITE_NOMEM
 	} else {
 		var zStmt uintptr = Xsqlite3_mprintf(tls,
-			ts+33106,
+			ts+33153,
 			libc.VaList(bp, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2))
 		if zStmt == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -137665,7 +137723,7 @@ __6:
 	if !(pzErrMsg != 0) {
 		goto __16
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+33159, 0)
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+33206, 0)
 __16:
 	;
 	rc = SQLITE_SCHEMA
@@ -138141,7 +138199,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 
 	if 0 == Xsqlite3_stricmp(tls, ts+11751, zTab) {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+33186, libc.VaList(bp, zDb))
+			ts+33233, libc.VaList(bp, zDb))
 		if zSql == uintptr(0) {
 			*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_NOMEM
 		}
@@ -138150,18 +138208,18 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 		var zSep uintptr = ts + 1547
 		*(*SessionBuffer)(unsafe.Pointer(bp + 8)) = SessionBuffer{}
 
-		sessionAppendStr(tls, bp+8, ts+33296, bp+24)
+		sessionAppendStr(tls, bp+8, ts+33343, bp+24)
 		sessionAppendIdent(tls, bp+8, zDb, bp+24)
 		sessionAppendStr(tls, bp+8, ts+1560, bp+24)
 		sessionAppendIdent(tls, bp+8, zTab, bp+24)
-		sessionAppendStr(tls, bp+8, ts+33311, bp+24)
+		sessionAppendStr(tls, bp+8, ts+33358, bp+24)
 		for i = 0; i < nCol; i++ {
 			if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
 				sessionAppendStr(tls, bp+8, zSep, bp+24)
 				sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+24)
-				sessionAppendStr(tls, bp+8, ts+33319, bp+24)
+				sessionAppendStr(tls, bp+8, ts+33366, bp+24)
 				sessionAppendInteger(tls, bp+8, i+1, bp+24)
-				zSep = ts + 21975
+				zSep = ts + 22022
 			}
 		}
 		zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8)).FaBuf
@@ -138270,7 +138328,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 {
 		return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc
 	}
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+33325, uintptr(0), uintptr(0), uintptr(0))
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+33372, uintptr(0), uintptr(0), uintptr(0))
 	if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
@@ -138362,7 +138420,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	}
 
 	Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24)).FaBuf)
-	Xsqlite3_exec(tls, db, ts+33345, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+33392, uintptr(0), uintptr(0), uintptr(0))
 	Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db))
 	return *(*int32)(unsafe.Pointer(bp + 40))
 }
@@ -138625,7 +138683,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 		rc = sessionInputBuffer(tls, pIn, 9)
 		if rc == SQLITE_OK {
 			if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData {
-				rc = Xsqlite3CorruptError(tls, 219078)
+				rc = Xsqlite3CorruptError(tls, 219169)
 			} else {
 				eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1)))))
 
@@ -138648,7 +138706,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 				rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
 				if rc == SQLITE_OK {
 					if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext {
-						rc = Xsqlite3CorruptError(tls, 219098)
+						rc = Xsqlite3CorruptError(tls, 219189)
 					} else {
 						var enc U8 = func() uint8 {
 							if eType == SQLITE_TEXT {
@@ -138690,7 +138748,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in
 		nRead = nRead + sessionVarintGet(tls, (*SessionInput)(unsafe.Pointer(pIn)).FaData+uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext+nRead), bp)
 
 		if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > 65536 {
-			rc = Xsqlite3CorruptError(tls, 219152)
+			rc = Xsqlite3CorruptError(tls, 219243)
 		} else {
 			rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100)
 			nRead = nRead + *(*int32)(unsafe.Pointer(bp))
@@ -138751,7 +138809,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 {
 			(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
 			sessionBufferGrow(tls, p+72, int64(nByte), bp+4)
 		} else {
-			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219240)
+			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219331)
 		}
 	}
 
@@ -138825,13 +138883,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 	}
 
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219326))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219417))
 	}
 
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op)
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))))
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219332))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219423))
 	}
 
 	if paRec != 0 {
@@ -138893,7 +138951,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 				if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8))
 					if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) {
-						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219376))
+						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219467))
 					}
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0)
 				}
@@ -139266,7 +139324,7 @@ __27:
 	goto __6
 
 __11:
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219741)
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219832)
 	goto finished_invert
 __6:
 	;
@@ -139445,34 +139503,34 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32,
 				(*SessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24
 				libc.X__builtin___memcpy_chk(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(unsafe.Sizeof(U32(0))), libc.X__builtin_object_size(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FaMask, 0))
 
-				sessionAppendStr(tls, bp, ts+33363, bp+16)
+				sessionAppendStr(tls, bp, ts+33410, bp+16)
 				sessionAppendIdent(tls, bp, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+16)
-				sessionAppendStr(tls, bp, ts+33376, bp+16)
+				sessionAppendStr(tls, bp, ts+33423, bp+16)
 
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-						sessionAppendStr(tls, bp, ts+33382, bp+16)
+						sessionAppendStr(tls, bp, ts+33429, bp+16)
 						sessionAppendInteger(tls, bp, ii*2+1, bp+16)
 						zSep = ts + 15017
 					}
 				}
 
 				zSep = ts + 1547
-				sessionAppendStr(tls, bp, ts+33311, bp+16)
+				sessionAppendStr(tls, bp, ts+33358, bp+16)
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						if bStat1 != 0 && ii == 1 {
 							sessionAppendStr(tls, bp,
-								ts+33387, bp+16)
+								ts+33434, bp+16)
 						} else {
 							sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-							sessionAppendStr(tls, bp, ts+33319, bp+16)
+							sessionAppendStr(tls, bp, ts+33366, bp+16)
 							sessionAppendInteger(tls, bp, ii*2+2, bp+16)
 						}
-						zSep = ts + 21975
+						zSep = ts + 22022
 					}
 				}
 
@@ -139524,34 +139582,34 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 	var nPk int32 = 0
 
-	sessionAppendStr(tls, bp, ts+33462, bp+16)
+	sessionAppendStr(tls, bp, ts+33509, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+33311, bp+16)
+	sessionAppendStr(tls, bp, ts+33358, bp+16)
 
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 			nPk++
 			sessionAppendStr(tls, bp, zSep, bp+16)
 			sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-			sessionAppendStr(tls, bp, ts+33382, bp+16)
+			sessionAppendStr(tls, bp, ts+33429, bp+16)
 			sessionAppendInteger(tls, bp, i+1, bp+16)
-			zSep = ts + 21975
+			zSep = ts + 22022
 		}
 	}
 
 	if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol {
-		sessionAppendStr(tls, bp, ts+33480, bp+16)
+		sessionAppendStr(tls, bp, ts+33527, bp+16)
 		sessionAppendInteger(tls, bp, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol+1, bp+16)
-		sessionAppendStr(tls, bp, ts+33023, bp+16)
+		sessionAppendStr(tls, bp, ts+33070, bp+16)
 
 		zSep = ts + 1547
 		for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 			if !(int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i)))) != 0) {
 				sessionAppendStr(tls, bp, zSep, bp+16)
 				sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-				sessionAppendStr(tls, bp, ts+33319, bp+16)
+				sessionAppendStr(tls, bp, ts+33366, bp+16)
 				sessionAppendInteger(tls, bp, i+1, bp+16)
-				zSep = ts + 33488
+				zSep = ts + 33535
 			}
 		}
 		sessionAppendStr(tls, bp, ts+5360, bp+16)
@@ -139578,9 +139636,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	var i int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 
-	sessionAppendStr(tls, bp, ts+33493, bp+16)
+	sessionAppendStr(tls, bp, ts+33540, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+21981, bp+16)
+	sessionAppendStr(tls, bp, ts+22028, bp+16)
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if i != 0 {
 			sessionAppendStr(tls, bp, ts+15017, bp+16)
@@ -139588,9 +139646,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 		sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
 	}
 
-	sessionAppendStr(tls, bp, ts+33511, bp+16)
+	sessionAppendStr(tls, bp, ts+33558, bp+16)
 	for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
-		sessionAppendStr(tls, bp, ts+33522, bp+16)
+		sessionAppendStr(tls, bp, ts+33569, bp+16)
 	}
 	sessionAppendStr(tls, bp, ts+5360, bp+16)
 
@@ -139609,11 +139667,11 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 {
 	var rc int32 = sessionSelectRow(tls, db, ts+11751, p)
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+16,
-			ts+33526)
+			ts+33573)
 	}
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+8,
-			ts+33639)
+			ts+33686)
 	}
 	return rc
 }
@@ -139641,7 +139699,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab
 				f func(*libc.TLS, uintptr, int32, uintptr) int32
 			})(unsafe.Pointer(&struct{ uintptr }{xValue})).f(tls, pIter, i, bp)
 			if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
-				rc = Xsqlite3CorruptError(tls, 220219)
+				rc = Xsqlite3CorruptError(tls, 220310)
 			} else {
 				rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp)))
 			}
@@ -139894,7 +139952,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 		if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
 			rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 		} else if *(*int32)(unsafe.Pointer(bp)) != 0 {
-			rc = Xsqlite3_exec(tls, db, ts+33783, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33830, uintptr(0), uintptr(0), uintptr(0))
 			if rc == SQLITE_OK {
 				rc = sessionBindRow(tls, pIter,
 					*(*uintptr)(unsafe.Pointer(&struct {
@@ -139910,7 +139968,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 				rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 			}
 			if rc == SQLITE_OK {
-				rc = Xsqlite3_exec(tls, db, ts+33804, uintptr(0), uintptr(0), uintptr(0))
+				rc = Xsqlite3_exec(tls, db, ts+33851, uintptr(0), uintptr(0), uintptr(0))
 			}
 		}
 	}
@@ -139983,10 +140041,10 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 	(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FbInvertConstraints = libc.BoolInt32(!!(flags&SQLITE_CHANGESETAPPLY_INVERT != 0))
 	Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db))
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
-		rc = Xsqlite3_exec(tls, db, ts+33823, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33870, uintptr(0), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_exec(tls, db, ts+33849, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33896, uintptr(0), uintptr(0), uintptr(0))
 	}
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3changeset_next(tls, pIter) {
 		Xsqlite3changeset_op(tls, pIter, bp+176, bp+184, bp+188, uintptr(0))
@@ -140045,16 +140103,16 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 				if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol == 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33879, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+33926, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol < *(*int32)(unsafe.Pointer(bp + 184)) {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33923,
+						ts+33970,
 						libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 200)), (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol, *(*int32)(unsafe.Pointer(bp + 184))))
 				} else if *(*int32)(unsafe.Pointer(bp + 184)) < nMinCol || libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 192)), uint64(*(*int32)(unsafe.Pointer(bp + 184)))) != 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33994, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+34041, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else {
 					(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FnCol = *(*int32)(unsafe.Pointer(bp + 184))
 					if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), ts+11751) {
@@ -140108,14 +140166,14 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 			}
 		}
 	}
-	Xsqlite3_exec(tls, db, ts+34054, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+34101, uintptr(0), uintptr(0), uintptr(0))
 
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, db, ts+34084, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+34131, uintptr(0), uintptr(0), uintptr(0))
 		} else {
-			Xsqlite3_exec(tls, db, ts+34108, uintptr(0), uintptr(0), uintptr(0))
-			Xsqlite3_exec(tls, db, ts+34084, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+34155, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+34131, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -141363,7 +141421,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) {
 		fts5yy_pop_parser_stack(tls, fts5yypParser)
 	}
 
-	sqlite3Fts5ParseError(tls, pParse, ts+34136, 0)
+	sqlite3Fts5ParseError(tls, pParse, ts+34183, 0)
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -141651,7 +141709,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32
 
 	_ = fts5yymajor
 	sqlite3Fts5ParseError(tls,
-		pParse, ts+34164, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
+		pParse, ts+34211, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -141838,7 +141896,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int
 		if n < 0 {
 			n = int32(libc.Xstrlen(tls, z))
 		}
-		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+34195, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
+		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+34242, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
 		if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) {
 			*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 		}
@@ -141906,7 +141964,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp
 	var iCol int32
 
 	if nVal != 3 {
-		var zErr uintptr = ts + 34202
+		var zErr uintptr = ts + 34249
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -142088,7 +142146,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
 	var nCol int32
 
 	if nVal != 5 {
-		var zErr uintptr = ts + 34252
+		var zErr uintptr = ts + 34299
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -142412,13 +142470,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(96)
 
 	*(*[3]Builtin)(unsafe.Pointer(bp)) = [3]Builtin{
-		{FzFunc: ts + 34300, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 34347, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5SnippetFunction}))},
-		{FzFunc: ts + 34308, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 34355, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5HighlightFunction}))},
-		{FzFunc: ts + 34318, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 34365, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5Bm25Function}))},
 	}
@@ -142969,7 +143027,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 	var nCmd int32 = int32(libc.Xstrlen(tls, zCmd))
-	if Xsqlite3_strnicmp(tls, ts+34323, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34370, zCmd, nCmd) == 0 {
 		var nByte int32 = int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))
 		var p uintptr
 		var bFirst int32 = 1
@@ -142996,14 +143054,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 				break
 			}
 			if int32(*(*int8)(unsafe.Pointer(p))) < '0' || int32(*(*int8)(unsafe.Pointer(p))) > '9' {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34330, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34377, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
 
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES {
 				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-					ts+34361, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
+					ts+34408, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -143014,7 +143072,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 			}
 
 			if nPre <= 0 || nPre >= 1000 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34394, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34441, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -143027,7 +143085,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34431, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34478, zCmd, nCmd) == 0 {
 		var p uintptr = zArg
 		var nArg Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zArg) + uint64(1))
 		var azArg uintptr = sqlite3Fts5MallocZero(tls, bp+40, int64(uint64(unsafe.Sizeof(uintptr(0)))*uint64(nArg)))
@@ -143036,7 +143094,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 		if azArg != 0 && pSpace != 0 {
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34440, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34487, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				for nArg = int64(0); p != 0 && *(*int8)(unsafe.Pointer(p)) != 0; nArg++ {
@@ -143055,7 +143113,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 					}
 				}
 				if p == uintptr(0) {
-					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34473, 0)
+					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34520, 0)
 					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				} else {
 					*(*int32)(unsafe.Pointer(bp + 40)) = sqlite3Fts5GetTokenizer(tls, pGlobal,
@@ -143070,14 +143128,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34507, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34554, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34515, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34562, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			if *(*int8)(unsafe.Pointer(zArg)) != 0 {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_EXTERNAL
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34547, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34594, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
 			} else {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE
 			}
@@ -143085,9 +143143,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34553, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34600, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34567, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34614, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40, zArg, -1)
@@ -143095,9 +143153,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34605, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34652, zCmd, nCmd) == 0 {
 		if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34616, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34663, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')
@@ -143109,17 +143167,17 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		*(*[4]Fts5Enum)(unsafe.Pointer(bp + 48)) = [4]Fts5Enum{
 			{FzName: ts + 8429, FeVal: FTS5_DETAIL_NONE},
 			{FzName: ts + 17767},
-			{FzName: ts + 34651, FeVal: FTS5_DETAIL_COLUMNS},
+			{FzName: ts + 34698, FeVal: FTS5_DETAIL_COLUMNS},
 			{},
 		}
 
 		if libc.AssignPtrInt32(bp+40, fts5ConfigSetEnum(tls, bp+48, zArg, pConfig+92)) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34659, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34706, 0)
 		}
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34690, libc.VaList(bp+24, nCmd, zCmd))
+	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34737, libc.VaList(bp+24, nCmd, zCmd))
 	return SQLITE_ERROR
 }
 
@@ -143166,15 +143224,15 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr,
 	defer tls.Free(16)
 
 	var rc int32 = SQLITE_OK
-	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22641) ||
+	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22688) ||
 		0 == Xsqlite3_stricmp(tls, zCol, ts+16673) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34718, libc.VaList(bp, zCol))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34765, libc.VaList(bp, zCol))
 		rc = SQLITE_ERROR
 	} else if zArg != 0 {
-		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34748) {
+		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34795) {
 			*(*U8)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*Fts5Config)(unsafe.Pointer(p)).FnCol))) = U8(1)
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34758, libc.VaList(bp+8, zArg))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34805, libc.VaList(bp+8, zArg))
 			rc = SQLITE_ERROR
 		}
 	}
@@ -143191,13 +143249,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_OK
 	*(*Fts5Buffer)(unsafe.Pointer(bp + 32)) = Fts5Buffer{}
 
-	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34789, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
+	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34836, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
 	if (*Fts5Config)(unsafe.Pointer(p)).FeContent != FTS5_CONTENT_NONE {
 		for i = 0; i < (*Fts5Config)(unsafe.Pointer(p)).FnCol; i++ {
 			if (*Fts5Config)(unsafe.Pointer(p)).FeContent == FTS5_CONTENT_EXTERNAL {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34794, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34841, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
 			} else {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34801, libc.VaList(bp+16, i))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34848, libc.VaList(bp+16, i))
 			}
 		}
 	}
@@ -143235,8 +143293,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 	(*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -1)
 	(*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize = 1
 	(*Fts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL
-	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22641) == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34809, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
+	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22688) == 0 {
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34856, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
 		*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 	}
 
@@ -143268,7 +143326,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 
 		if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK {
 			if z == uintptr(0) {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34838, libc.VaList(bp+8, zOrig))
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34885, libc.VaList(bp+8, zOrig))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				if bOption != 0 {
@@ -143305,14 +143363,14 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 		var zTail uintptr = uintptr(0)
 
 		if (*Fts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL {
-			zTail = ts + 34507
+			zTail = ts + 34554
 		} else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 {
-			zTail = ts + 34858
+			zTail = ts + 34905
 		}
 
 		if zTail != 0 {
 			(*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls,
-				bp+40, ts+34866, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
+				bp+40, ts+34913, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
 		}
 	}
 
@@ -143361,7 +143419,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_OK
 	var zSql uintptr
 
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34877, 0)
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34924, 0)
 	for i = 0; zSql != 0 && i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
 		var zSep uintptr = func() uintptr {
 			if i == 0 {
@@ -143369,10 +143427,10 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 			}
 			return ts + 15017
 		}()
-		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34893, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
+		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34940, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
 	}
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34900,
-		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22641))
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34947,
+		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22688))
 
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql)
@@ -143482,7 +143540,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 
 	var rc int32 = SQLITE_OK
 
-	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34926) {
+	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34973) {
 		var pgsz int32 = 0
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			pgsz = Xsqlite3_value_int(tls, pVal)
@@ -143492,7 +143550,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34931) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34978) {
 		var nHashSize int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nHashSize = Xsqlite3_value_int(tls, pVal)
@@ -143502,7 +143560,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34940) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34987) {
 		var nAutomerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nAutomerge = Xsqlite3_value_int(tls, pVal)
@@ -143515,7 +143573,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34950) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34997) {
 		var nUsermerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nUsermerge = Xsqlite3_value_int(tls, pVal)
@@ -143525,7 +143583,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34960) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+35007) {
 		var nCrisisMerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nCrisisMerge = Xsqlite3_value_int(tls, pVal)
@@ -143541,7 +143599,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22641) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22688) {
 		var zIn uintptr = Xsqlite3_value_text(tls, pVal)
 
 		rc = sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8)
@@ -143564,7 +143622,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 	bp := tls.Alloc(52)
 	defer tls.Free(52)
 
-	var zSelect uintptr = ts + 34972
+	var zSelect uintptr = ts + 35019
 	var zSql uintptr
 	*(*uintptr)(unsafe.Pointer(bp + 40)) = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
@@ -143586,7 +143644,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) {
 			var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 0)
 			var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 1)
-			if 0 == Xsqlite3_stricmp(tls, zK, ts+35004) {
+			if 0 == Xsqlite3_stricmp(tls, zK, ts+35051) {
 				iVersion = Xsqlite3_value_int(tls, pVal)
 			} else {
 				*(*int32)(unsafe.Pointer(bp + 48)) = 0
@@ -143600,7 +143658,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 {
 			*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-				ts+35012,
+				ts+35059,
 				libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION))
 		}
 	}
@@ -143698,7 +143756,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 					}
 				}
 				if int32(*(*int8)(unsafe.Pointer(z2))) == 0 {
-					sqlite3Fts5ParseError(tls, pParse, ts+35077, 0)
+					sqlite3Fts5ParseError(tls, pParse, ts+35124, 0)
 					return FTS5_EOF
 				}
 			}
@@ -143711,20 +143769,20 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 		{
 			var z2 uintptr
 			if sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z))) == 0 {
-				sqlite3Fts5ParseError(tls, pParse, ts+35097, libc.VaList(bp, z))
+				sqlite3Fts5ParseError(tls, pParse, ts+35144, libc.VaList(bp, z))
 				return FTS5_EOF
 			}
 			tok = FTS5_STRING
 			for z2 = z + 1; sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z2))) != 0; z2++ {
 			}
 			(*Fts5Token)(unsafe.Pointer(pToken)).Fn = int32((int64(z2) - int64(z)) / 1)
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+35128, uint64(2)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+35175, uint64(2)) == 0 {
 				tok = FTS5_OR
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+35131, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+35178, uint64(3)) == 0 {
 				tok = FTS5_NOT
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30513, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30560, uint64(3)) == 0 {
 				tok = FTS5_AND
 			}
 			break
@@ -145502,9 +145560,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+35135, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
+	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+35182, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
 		sqlite3Fts5ParseError(tls,
-			pParse, ts+34164, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
+			pParse, ts+34211, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
 	}
 }
 
@@ -145520,7 +145578,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p
 				var c int8 = *(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))
 				if int32(c) < '0' || int32(c) > '9' {
 					sqlite3Fts5ParseError(tls,
-						pParse, ts+35140, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
+						pParse, ts+35187, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
 					return
 				}
 				nNear = nNear*10 + (int32(*(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - '0')
@@ -145607,7 +145665,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui
 			}
 		}
 		if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol {
-			sqlite3Fts5ParseError(tls, pParse, ts+20978, libc.VaList(bp, z))
+			sqlite3Fts5ParseError(tls, pParse, ts+21025, libc.VaList(bp, z))
 		} else {
 			pRet = fts5ParseColset(tls, pParse, pColset, iCol)
 		}
@@ -145688,7 +145746,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo
 	*(*uintptr)(unsafe.Pointer(bp)) = pColset
 	if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE {
 		sqlite3Fts5ParseError(tls, pParse,
-			ts+35169, 0)
+			ts+35216, 0)
 	} else {
 		fts5ParseSetColset(tls, pParse, pExpr, pColset, bp)
 	}
@@ -145858,12 +145916,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 1 ||
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*Fts5ExprTerm)(unsafe.Pointer(pPhrase+32)).FbFirst != 0 {
 							sqlite3Fts5ParseError(tls, pParse,
-								ts+35222,
+								ts+35269,
 								libc.VaList(bp, func() uintptr {
 									if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 {
-										return ts + 35272
+										return ts + 35319
 									}
-									return ts + 35135
+									return ts + 35182
 								}()))
 							Xsqlite3_free(tls, pRet)
 							pRet = uintptr(0)
@@ -146806,7 +146864,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK {
 			var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 			rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb,
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+35279, iRowid, 0, p+56)
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+35326, iRowid, 0, p+56)
 		}
 
 		if rc == SQLITE_ERROR {
@@ -146885,7 +146943,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in
 	if (*Fts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+64, Xsqlite3_mprintf(tls,
-			ts+35285,
+			ts+35332,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 		if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 			return
@@ -146910,7 +146968,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = Xsqlite3_mprintf(tls,
-			ts+35336,
+			ts+35383,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if fts5IndexPrepareStmt(tls, p, p+72, zSql) != 0 {
 			return
@@ -146933,7 +146991,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+88, Xsqlite3_mprintf(tls,
-			ts+35385,
+			ts+35432,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -147172,7 +147230,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 {
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) {
 			(*Fts5Index)(unsafe.Pointer(p)).Frc = fts5IndexPrepareStmt(tls, p, p+112,
-				Xsqlite3_mprintf(tls, ts+35425, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
+				Xsqlite3_mprintf(tls, ts+35472, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
 			if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 				return int64(0)
 			}
@@ -148371,7 +148429,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls,
-			ts+35448,
+			ts+35495,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect
@@ -149837,7 +149895,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls,
-			ts+35532,
+			ts+35579,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 
@@ -150919,13 +150977,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		(*Fts5Index)(unsafe.Pointer(p)).FpConfig = pConfig
 		(*Fts5Index)(unsafe.Pointer(p)).FnWorkUnit = FTS5_WORK_UNIT
-		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35589, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35636, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 {
 			*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+25506, ts+35597, 0, pzErr)
+				pConfig, ts+25553, ts+35644, 0, pzErr)
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 				*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls, pConfig, ts+11891,
-					ts+35632,
+					ts+35679,
 					1, pzErr)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
@@ -151178,7 +151236,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 {
 	sqlite3Fts5Put32(tls, bp, iNew)
 
 	rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl,
-		ts+35279, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
+		ts+35326, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
 	if rc == SQLITE_OK {
 		Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, 4, 0)
 		rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
@@ -151292,7 +151350,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) {
 	}
 
 	fts5IndexPrepareStmt(tls, p, bp+24, Xsqlite3_mprintf(tls,
-		ts+35676,
+		ts+35723,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid)))
 
 	for (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
@@ -151462,7 +151520,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks
 		} else {
 			(*Fts5Buffer)(unsafe.Pointer(bp + 16)).Fn = 0
 			fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp))+96+uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaFirst+1*4)).FiFirst)*120, uintptr(0), bp+16)
-			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35762)
+			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35809)
 			for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fn, bp+32, bp+40) {
 				var iCol int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) >> 32)
 				var iTokOff int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) & int64(0x7FFFFFFF))
@@ -151733,7 +151791,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 {
 
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 {
 		(*Fts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+35767, 0)
+			ts+35814, 0)
 		return SQLITE_ERROR
 	}
 
@@ -152157,7 +152215,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 	(*Fts5Sorter)(unsafe.Pointer(pSorter)).FnIdx = nPhrase
 
 	rc = fts5PrepareStatement(tls, pSorter, pConfig,
-		ts+35806,
+		ts+35853,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			func() uintptr {
 				if zRankArgs != 0 {
@@ -152173,9 +152231,9 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 			}(),
 			func() uintptr {
 				if bDesc != 0 {
-					return ts + 35861
+					return ts + 35908
 				}
-				return ts + 35866
+				return ts + 35913
 			}()))
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter
@@ -152221,12 +152279,12 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr)
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan = FTS5_PLAN_SPECIAL
 
-	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35870, z, n) {
+	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35917, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = I64(sqlite3Fts5IndexReads(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex))
 	} else if n == 2 && 0 == Xsqlite3_strnicmp(tls, ts+5460, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId
 	} else {
-		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35876, libc.VaList(bp, n, z))
+		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35923, libc.VaList(bp, n, z))
 		rc = SQLITE_ERROR
 	}
 
@@ -152257,7 +152315,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs
 
 	if zRankArgs != 0 {
-		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35904, libc.VaList(bp, zRankArgs))
+		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35951, libc.VaList(bp, zRankArgs))
 		if zSql != 0 {
 			*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 			*(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1,
@@ -152288,7 +152346,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 		pAux = fts5FindAuxiliary(tls, pTab, zRank)
 		if pAux == uintptr(0) {
-			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35914, libc.VaList(bp+8, zRank))
+			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35961, libc.VaList(bp+8, zRank))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		}
 	}
@@ -152320,14 +152378,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin
 			*(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_FREE_ZRANK
 		} else if rc == SQLITE_ERROR {
 			(*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35935, libc.VaList(bp, z))
+				ts+35982, libc.VaList(bp, z))
 		}
 	} else {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank != 0 {
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRankArgs
 		} else {
-			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 34318
+			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 34365
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0)
 		}
 	}
@@ -152383,7 +152441,7 @@ func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintp
 		goto __1
 	}
 	(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+35767, 0)
+		ts+35814, 0)
 	return SQLITE_ERROR
 __1:
 	;
@@ -152600,7 +152658,7 @@ __35:
 		goto __40
 	}
 	*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-		ts+35968, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		ts+36015, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	rc = SQLITE_ERROR
 	goto __41
 __40:
@@ -152745,28 +152803,28 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr)
 	var rc int32 = SQLITE_OK
 	*(*int32)(unsafe.Pointer(bp)) = 0
 
-	if 0 == Xsqlite3_stricmp(tls, ts+36004, zCmd) {
+	if 0 == Xsqlite3_stricmp(tls, ts+36051, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			fts5SetVtabError(tls, pTab,
-				ts+36015, 0)
+				ts+36062, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, ts+36095, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+36142, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE {
 			fts5SetVtabError(tls, pTab,
-				ts+36103, 0)
+				ts+36150, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
 	} else if 0 == Xsqlite3_stricmp(tls, ts+17356, zCmd) {
 		rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+36159, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+36206, zCmd) {
 		var nMerge int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageMerge(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, nMerge)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+36165, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+36212, zCmd) {
 		var iArg int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg)
 	} else {
@@ -152837,12 +152895,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p
 
 		if eType0 == SQLITE_INTEGER && fts5IsContentless(tls, pTab) != 0 {
 			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+36181,
+				ts+36228,
 				libc.VaList(bp, func() uintptr {
 					if nArg > 1 {
-						return ts + 20879
+						return ts + 20926
 					}
-					return ts + 36218
+					return ts + 36265
 				}(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		} else if nArg == 1 {
@@ -153472,7 +153530,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 
 	pCsr = fts5CursorFromCsrid(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId)
 	if pCsr == uintptr(0) || (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 {
-		var zErr uintptr = Xsqlite3_mprintf(tls, ts+36230, libc.VaList(bp, iCsrId))
+		var zErr uintptr = Xsqlite3_mprintf(tls, ts+36277, libc.VaList(bp, iCsrId))
 		Xsqlite3_result_error(tls, context, zErr, -1)
 		Xsqlite3_free(tls, zErr)
 	} else {
@@ -153716,7 +153774,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 	}())
 	if pMod == uintptr(0) {
 		rc = SQLITE_ERROR
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+36251, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+36298, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
 	} else {
 		rc = (*struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
@@ -153735,7 +153793,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 		(*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16
 		if rc != SQLITE_OK {
 			if pzErr != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+36273, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+36320, 0)
 			}
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls,
@@ -153782,7 +153840,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 	var ppApi uintptr
 	_ = nArg
 
-	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+36304)
+	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+36351)
 	if ppApi != 0 {
 		*(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal
 	}
@@ -153791,7 +153849,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) {
 	_ = nArg
 	_ = apUnused
-	Xsqlite3_result_text(tls, pCtx, ts+36317, -1, libc.UintptrFromInt32(-1))
+	Xsqlite3_result_text(tls, pCtx, ts+36364, -1, libc.UintptrFromInt32(-1))
 }
 
 func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
@@ -153805,7 +153863,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName2 = [5]uintptr{
-	ts + 36408, ts + 34507, ts + 25506, ts + 34858, ts + 11891,
+	ts + 36455, ts + 34554, ts + 25553, ts + 34905, ts + 11891,
 }
 
 func fts5Init(tls *libc.TLS, db uintptr) int32 {
@@ -153829,7 +153887,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		(*Fts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32
 		}{fts5FindTokenizer}))
-		rc = Xsqlite3_create_module_v2(tls, db, ts+36415, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+36462, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5IndexInit(tls, db)
 		}
@@ -153847,13 +153905,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+36415, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+				db, ts+36462, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
 				}{fts5Fts5Func})), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+36420, 0,
+				db, ts+36467, 0,
 				SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
 				p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
@@ -153910,17 +153968,17 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p
 
 	if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) {
 		*(*[11]uintptr)(unsafe.Pointer(bp + 128)) = [11]uintptr{
-			ts + 36435,
-			ts + 36503,
-			ts + 36572,
-			ts + 36605,
-			ts + 36644,
-			ts + 36684,
-			ts + 36723,
-			ts + 36764,
-			ts + 36803,
-			ts + 36845,
-			ts + 36885,
+			ts + 36482,
+			ts + 36550,
+			ts + 36619,
+			ts + 36652,
+			ts + 36691,
+			ts + 36731,
+			ts + 36770,
+			ts + 36811,
+			ts + 36850,
+			ts + 36892,
+			ts + 36932,
 		}
 		var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = uintptr(0)
@@ -154022,18 +154080,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 {
 	defer tls.Free(80)
 
 	var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36908,
+		ts+36955,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+37012,
+			ts+37059,
 			libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+37050,
+			ts+37097,
 			libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	return rc
@@ -154045,7 +154103,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin
 
 	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(pRc)) = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+37088,
+			ts+37135,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail))
 	}
 }
@@ -154057,14 +154115,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in
 	var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig
 	*(*int32)(unsafe.Pointer(bp)) = sqlite3Fts5StorageSync(tls, pStorage)
 
-	fts5StorageRenameOne(tls, pConfig, bp, ts+25506, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+25553, zName)
 	fts5StorageRenameOne(tls, pConfig, bp, ts+11891, zName)
-	fts5StorageRenameOne(tls, pConfig, bp, ts+36408, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+36455, zName)
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34858, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34905, zName)
 	}
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34507, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34554, zName)
 	}
 	return *(*int32)(unsafe.Pointer(bp))
 }
@@ -154076,17 +154134,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn
 	var rc int32
 	*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
-	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+37130,
+	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+37177,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn,
 			func() uintptr {
 				if bWithout != 0 {
-					return ts + 30159
+					return ts + 30206
 				}
 				return ts + 1547
 			}()))
 	if *(*uintptr)(unsafe.Pointer(bp + 64)) != 0 {
 		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-			ts+37160,
+			ts+37207,
 			libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64))))
 		Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
@@ -154123,27 +154181,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre
 			} else {
 				var i int32
 				var iOff int32
-				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+37204, 0)
+				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+37251, 0)
 				iOff = int32(libc.Xstrlen(tls, zDefn))
 				for i = 0; i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
-					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+37227, libc.VaList(bp, i))
+					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+37274, libc.VaList(bp, i))
 					iOff = iOff + int32(libc.Xstrlen(tls, zDefn+uintptr(iOff)))
 				}
-				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34507, zDefn, 0, pzErr)
+				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34554, zDefn, 0, pzErr)
 			}
 			Xsqlite3_free(tls, zDefn)
 		}
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+34858, ts+37233, 0, pzErr)
+				pConfig, ts+34905, ts+37280, 0, pzErr)
 		}
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+36408, ts+37265, 1, pzErr)
+				pConfig, ts+36455, ts+37312, 1, pzErr)
 		}
 		if rc == SQLITE_OK {
-			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+35004, uintptr(0), FTS5_CURRENT_VERSION)
+			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+35051, uintptr(0), FTS5_CURRENT_VERSION)
 		}
 	}
 
@@ -154349,12 +154407,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 	(*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0
 
 	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+37282,
+		ts+37329,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+37332,
+			ts+37379,
 			libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 
@@ -154362,7 +154420,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 		rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex)
 	}
 	if rc == SQLITE_OK {
-		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+35004, uintptr(0), FTS5_CURRENT_VERSION)
+		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+35051, uintptr(0), FTS5_CURRENT_VERSION)
 	}
 	return rc
 }
@@ -154538,7 +154596,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr)
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+37361,
+	zSql = Xsqlite3_mprintf(tls, ts+37408,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix))
 	if zSql == uintptr(0) {
 		rc = SQLITE_NOMEM
@@ -154720,14 +154778,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 {
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			*(*I64)(unsafe.Pointer(bp + 48)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34507, bp+48)
+			rc = fts5StorageCount(tls, p, ts+34554, bp+48)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 48)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
 		}
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			*(*I64)(unsafe.Pointer(bp + 56)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34858, bp+56)
+			rc = fts5StorageCount(tls, p, ts+34905, bp+56)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 56)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
@@ -154922,9 +154980,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32,
 			libc.X__builtin___memcpy_chk(tls, p, uintptr(unsafe.Pointer(&aAsciiTokenChar)), uint64(unsafe.Sizeof(aAsciiTokenChar)), libc.X__builtin_object_size(tls, p, 0))
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37393) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37440) {
 					fts5AsciiAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37404) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37451) {
 					fts5AsciiAddExceptions(tls, p, zArg, 0)
 				} else {
 					rc = SQLITE_ERROR
@@ -155139,7 +155197,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 	} else {
 		p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Unicode61Tokenizer{})))
 		if p != 0 {
-			var zCat uintptr = ts + 37415
+			var zCat uintptr = ts + 37462
 			var i int32
 			libc.X__builtin___memset_chk(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{})), libc.X__builtin_object_size(tls, p, 0))
 
@@ -155151,7 +155209,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 			}
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37424) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37471) {
 					zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
 				}
 			}
@@ -155162,18 +155220,18 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37435) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37482) {
 					if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' && int32(*(*int8)(unsafe.Pointer(zArg))) != '2' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 						rc = SQLITE_ERROR
 					} else {
 						(*Unicode61Tokenizer)(unsafe.Pointer(p)).FeRemoveDiacritic = int32(*(*int8)(unsafe.Pointer(zArg))) - '0'
 
 					}
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37393) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37440) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37404) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37451) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 0)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37424) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37471) {
 				} else {
 					rc = SQLITE_ERROR
 				}
@@ -155449,7 +155507,7 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp
 	var rc int32 = SQLITE_OK
 	var pRet uintptr
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
-	var zBase uintptr = ts + 37453
+	var zBase uintptr = ts + 37500
 
 	if nArg > 0 {
 		zBase = *(*uintptr)(unsafe.Pointer(azArg))
@@ -155591,7 +155649,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37463, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37510, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -155599,11 +155657,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37466, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37513, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37471, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37518, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -155611,7 +155669,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'e':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37476, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37523, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -155619,7 +155677,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37479, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37526, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -155627,11 +155685,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37482, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37529, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37487, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37534, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -155639,19 +155697,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37492, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37539, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37496, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37543, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37502, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37549, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37507, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37554, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -155659,11 +155717,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'o':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37511, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37558, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37515, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37562, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -155671,7 +155729,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 's':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37518, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37565, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -155679,11 +155737,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37522, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37569, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37526, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37573, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -155691,7 +155749,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37530, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37577, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -155699,7 +155757,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37534, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37581, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -155707,7 +155765,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37538, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37585, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -155723,24 +155781,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37542, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-2), ts+37522, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-2), 0))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37589, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-2), ts+37569, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-2), 0))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'b':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37545, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-2), ts+37548, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-2), 0))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37592, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-2), ts+37595, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-2), 0))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37552, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-2), ts+37538, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-2), 0))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37599, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-2), ts+37585, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-2), 0))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
@@ -155755,44 +155813,44 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37555, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37602, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-7), ts+37522, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-7), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-7), ts+37569, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-7), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37563, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37610, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-6), ts+37570, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-6), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-6), ts+37617, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-6), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 4
 			}
 		}
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37575, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37622, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37471, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37518, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37580, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37627, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37466, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37513, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
 		}
 		break
 
 	case 'e':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37585, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37632, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37538, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37585, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 'g':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37590, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37637, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+15883, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
@@ -155801,91 +155859,91 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37595, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37642, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-3), ts+37548, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-3), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-3), ts+37595, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-3), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37599, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37646, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37463, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37510, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37604, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37651, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37507, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37554, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37610, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37657, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-3), ts+37614, uint64(1), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-3), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-3), ts+37661, uint64(1), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-3), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 1
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37616, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37663, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37530, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37577, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
 		}
 		break
 
 	case 'o':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37622, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37669, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-7), ts+37538, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-7), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-7), ts+37585, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-7), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37630, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37677, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37522, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37569, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37636, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37683, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37522, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37569, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37641, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37688, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37463, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37510, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37647, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37694, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-7), ts+37534, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-7), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-7), ts+37581, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-7), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37655, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37702, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-7), ts+37663, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-7), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-7), ts+37710, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-7), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37667, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37714, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-7), ts+37530, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-7), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-7), ts+37577, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-7), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
 		}
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37675, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37722, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37463, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37510, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37681, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37728, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37534, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37581, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37687, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37734, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-6), ts+37548, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-6), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-6), ts+37595, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-6), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 3
 			}
 		}
@@ -155900,16 +155958,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37694, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37741, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37479, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37526, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37699, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37746, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -155917,21 +155975,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37704, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37751, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37479, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37526, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37710, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37757, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37479, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37526, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37663, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37710, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -155939,7 +155997,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37716, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37763, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
@@ -155947,9 +156005,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37722, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37769, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37463, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37510, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
@@ -155964,12 +156022,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'e':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37728, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37775, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-3), ts+37732, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-3), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-3), ts+37779, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-3), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 2
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37735, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37782, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 				ret = 1
@@ -155978,7 +156036,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37738, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37785, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 				ret = 1
@@ -156134,7 +156192,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp
 		(*TrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = 1
 		for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 			var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37742) {
+			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37789) {
 				if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 					rc = SQLITE_ERROR
 				} else {
@@ -156314,22 +156372,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(128)
 
 	*(*[4]BuiltinTokenizer)(unsafe.Pointer(bp)) = [4]BuiltinTokenizer{
-		{FzName: ts + 37453, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37500, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5UnicodeCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5UnicodeDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5UnicodeTokenize}))}},
-		{FzName: ts + 37757, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37804, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5AsciiCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5AsciiDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5AsciiTokenize}))}},
-		{FzName: ts + 37763, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37810, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5PorterCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5PorterDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5PorterTokenize}))}},
-		{FzName: ts + 37770, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37817, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5TriCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5TriDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
@@ -157472,14 +157530,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint
 	var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8, zType, -1)
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		sqlite3Fts5Dequote(tls, zCopy)
-		if Xsqlite3_stricmp(tls, zCopy, ts+37778) == 0 {
+		if Xsqlite3_stricmp(tls, zCopy, ts+37825) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37782) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37829) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37786) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37833) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37795, libc.VaList(bp, zCopy))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37842, libc.VaList(bp, zCopy))
 			*(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_ERROR
 		}
 		Xsqlite3_free(tls, zCopy)
@@ -157505,19 +157563,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	defer tls.Free(36)
 
 	*(*[3]uintptr)(unsafe.Pointer(bp + 8)) = [3]uintptr{
-		ts + 37829,
-		ts + 37869,
-		ts + 37904,
+		ts + 37876,
+		ts + 37916,
+		ts + 37951,
 	}
 
 	var pRet uintptr = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
 	var bDb int32
 
-	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23802, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
+	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23849, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
 
 	if argc != 5 && bDb == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37947, 0)
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37994, 0)
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 	} else {
 		var nByte int32
@@ -157650,11 +157708,11 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 
 	if (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 {
 		(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+37980, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+			ts+38027, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 		return SQLITE_ERROR
 	}
 	zSql = sqlite3Fts5Mprintf(tls, bp+64,
-		ts+38011,
+		ts+38058,
 		libc.VaList(bp+16, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 64)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+72, uintptr(0))
@@ -157678,7 +157736,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 			*(*uintptr)(unsafe.Pointer(bp + 72)) = uintptr(0)
 			if *(*int32)(unsafe.Pointer(bp + 64)) == SQLITE_OK {
 				(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-					ts+38062, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+					ts+38109, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 				*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 			}
 		} else {
@@ -158073,7 +158131,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32
 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 {
 	var p uintptr = pGlobal
 
-	return Xsqlite3_create_module_v2(tls, db, ts+38088, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
+	return Xsqlite3_create_module_v2(tls, db, ts+38135, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
 }
 
 var fts5Vocab = Sqlite3_module{
@@ -158095,7 +158153,7 @@ var fts5Vocab = Sqlite3_module{
 // ************* End of stmt.c ***********************************************
 // Return the source-id for this library
 func Xsqlite3_sourceid(tls *libc.TLS) uintptr {
-	return ts + 38098
+	return ts + 38145
 }
 
 func init() {
@@ -159238,5 +159296,5 @@ func init() {
 	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError
 }
 
-var ts1 = "3.41.0\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-12.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00S\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00nfs\x00hfs\x00ufs\x00afpfs\x00smbfs\x00webdav\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00msdos\x00exfat\x00SQLITE_FORCE_PROXY_LOCKING\x00:auto:\x00fsync\x00/dev/urandom\x00sqliteplocks\x00/\x00dummy\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00break\x00path error (len %d)\x00read error (len %d)\x00create failed (%d)\x00write failed (%d)\x00rename failed (%d)\x00broke stale lock on %s\n\x00failed to break stale lock on %s, %s\n\x00-conch\x00.lock\x00:auto: (not held)\x00unix\x00unix-none\x00unix-dotfile\x00unix-posix\x00unix-flock\x00unix-afp\x00unix-nfs\x00unix-proxy\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00dylib\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00lock_proxy_file\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00failed to set lock proxy file\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00"
+var ts1 = "3.41.2\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-12.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00S\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00nfs\x00hfs\x00ufs\x00afpfs\x00smbfs\x00webdav\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00msdos\x00exfat\x00SQLITE_FORCE_PROXY_LOCKING\x00:auto:\x00fsync\x00/dev/urandom\x00sqliteplocks\x00/\x00dummy\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00break\x00path error (len %d)\x00read error (len %d)\x00create failed (%d)\x00write failed (%d)\x00rename failed (%d)\x00broke stale lock on %s\n\x00failed to break stale lock on %s, %s\n\x00-conch\x00.lock\x00:auto: (not held)\x00unix\x00unix-none\x00unix-dotfile\x00unix-posix\x00unix-flock\x00unix-afp\x00unix-nfs\x00unix-proxy\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00dylib\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00lock_proxy_file\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00failed to set lock proxy file\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00"
 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_darwin_arm64.go b/vendor/modernc.org/sqlite/lib/sqlite_darwin_arm64.go
index 985e1aa2..f4e53174 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_darwin_arm64.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_darwin_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_darwin_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_darwin_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1 -DSQLITE_WITHOUT_ZONEMALLOC', DO NOT EDIT.
 
 package sqlite3
 
@@ -1277,11 +1277,11 @@ const (
 	NC_OrderAgg                                    = 0x8000000
 	NC_PartIdx                                     = 0x000002
 	NC_SelfRef                                     = 0x00002e
+	NC_Subquery                                    = 0x000040
 	NC_UAggInfo                                    = 0x000100
 	NC_UBaseReg                                    = 0x000400
 	NC_UEList                                      = 0x000080
 	NC_UUpsert                                     = 0x000200
-	NC_VarSelect                                   = 0x000040
 	NDEBUG                                         = 1
 	NFSV2_MAX_FH_SIZE                              = 32
 	NFSV3_MAX_FH_SIZE                              = 64
@@ -2620,7 +2620,7 @@ const (
 	SQLITE_SHM_UNLOCK                              = 1
 	SQLITE_SORTER_PMASZ                            = 250
 	SQLITE_SOUNDEX                                 = 1
-	SQLITE_SOURCE_ID                               = "2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d"
+	SQLITE_SOURCE_ID                               = "2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da"
 	SQLITE_SO_ASC                                  = 0
 	SQLITE_SO_DESC                                 = 1
 	SQLITE_SO_UNDEFINED                            = -1
@@ -2728,8 +2728,8 @@ const (
 	SQLITE_UTF8                                    = 1
 	SQLITE_VDBEINT_H                               = 0
 	SQLITE_VDBE_H                                  = 0
-	SQLITE_VERSION                                 = "3.41.0"
-	SQLITE_VERSION_NUMBER                          = 3041000
+	SQLITE_VERSION                                 = "3.41.2"
+	SQLITE_VERSION_NUMBER                          = 3041002
 	SQLITE_VTABRISK_High                           = 2
 	SQLITE_VTABRISK_Low                            = 0
 	SQLITE_VTABRISK_Normal                         = 1
@@ -7273,7 +7273,8 @@ type IndexedExpr1 = struct {
 	FiIdxCur       int32
 	FiIdxCol       int32
 	FbMaybeNullRow U8
-	F__ccgo_pad1   [3]byte
+	Faff           U8
+	F__ccgo_pad1   [2]byte
 	FpIENext       uintptr
 }
 
@@ -7915,17 +7916,18 @@ type Pager = Pager1
 
 // Handle type for pages.
 type PgHdr2 = struct {
-	FpPage      uintptr
-	FpData      uintptr
-	FpExtra     uintptr
-	FpCache     uintptr
-	FpDirty     uintptr
-	FpPager     uintptr
-	Fpgno       Pgno
-	Fflags      U16
-	FnRef       I16
-	FpDirtyNext uintptr
-	FpDirtyPrev uintptr
+	FpPage       uintptr
+	FpData       uintptr
+	FpExtra      uintptr
+	FpCache      uintptr
+	FpDirty      uintptr
+	FpPager      uintptr
+	Fpgno        Pgno
+	Fflags       U16
+	F__ccgo_pad1 [2]byte
+	FnRef        I64
+	FpDirtyNext  uintptr
+	FpDirtyPrev  uintptr
 }
 
 // Handle type for pages.
@@ -8146,14 +8148,14 @@ type PCache2 = struct {
 	FpDirty      uintptr
 	FpDirtyTail  uintptr
 	FpSynced     uintptr
-	FnRefSum     int32
+	FnRefSum     I64
 	FszCache     int32
 	FszSpill     int32
 	FszPage      int32
 	FszExtra     int32
 	FbPurgeable  U8
 	FeCreate     U8
-	F__ccgo_pad1 [2]byte
+	F__ccgo_pad1 [6]byte
 	FxStress     uintptr
 	FpStress     uintptr
 	FpCache      uintptr
@@ -8960,7 +8962,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
 	_ = pMutex
 
 	if op < 0 || op >= int32(uint64(unsafe.Sizeof([10]Sqlite3StatValueType{}))/uint64(unsafe.Sizeof(Sqlite3StatValueType(0)))) {
-		return Xsqlite3MisuseError(tls, 23229)
+		return Xsqlite3MisuseError(tls, 23233)
 	}
 	if statMutex[op] != 0 {
 		pMutex = Xsqlite3Pcache1Mutex(tls)
@@ -18319,7 +18321,7 @@ func closePendingFds(tls *libc.TLS, pFile uintptr) {
 
 	for p = (*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused; p != 0; p = pNext {
 		pNext = (*UnixUnusedFd)(unsafe.Pointer(p)).FpNext
-		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38271)
+		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38275)
 		Xsqlite3_free(tls, p)
 	}
 	(*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused = uintptr(0)
@@ -18864,7 +18866,7 @@ func closeUnixFile(tls *libc.TLS, id uintptr) int32 {
 	var pFile uintptr = id
 	unixUnmapfile(tls, pFile)
 	if (*UnixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
-		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39055)
+		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39059)
 		(*UnixFile)(unsafe.Pointer(pFile)).Fh = -1
 	}
 
@@ -19631,7 +19633,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 {
 	if fd >= 0 {
 		return SQLITE_OK
 	}
-	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40676), ts+3371, bp+8, 40676)
+	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40680), ts+3371, bp+8, 40680)
 }
 
 func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
@@ -19648,14 +19650,14 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
 
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3661, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40717)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3661, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40721)
 	}
 
 	if int32((*UnixFile)(unsafe.Pointer(pFile)).FctrlFlags)&UNIXFILE_DIRSYNC != 0 {
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, bp)
 		if rc == SQLITE_OK {
 			full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0)
-			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40731)
+			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40735)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -19675,7 +19677,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 {
 	rc = robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte)
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40762)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40766)
 	} else {
 		if nByte < (*UnixFile)(unsafe.Pointer(pFile)).FmmapSize {
 			(*UnixFile)(unsafe.Pointer(pFile)).FmmapSize = nByte
@@ -19743,7 +19745,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 {
 		if (*UnixFile)(unsafe.Pointer(pFile)).FszChunk <= 0 {
 			if robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte) != 0 {
 				storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
-				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40883)
+				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40887)
 			}
 		}
 
@@ -19977,7 +19979,7 @@ func unixShmPurge(tls *libc.TLS, pFd uintptr) {
 		}
 		Xsqlite3_free(tls, (*UnixShmNode)(unsafe.Pointer(p)).FapRegion)
 		if (*UnixShmNode)(unsafe.Pointer(p)).FhShm >= 0 {
-			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41442)
+			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41446)
 			(*UnixShmNode)(unsafe.Pointer(p)).FhShm = -1
 		}
 		(*UnixInodeInfo)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0)
@@ -20005,7 +20007,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32
 			rc = unixShmSystemLock(tls, pDbFd, F_WRLCK, (22+SQLITE_SHM_NLOCK)*4+SQLITE_SHM_NLOCK, 1)
 
 			if rc == SQLITE_OK && robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3290, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41499)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3290, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41503)
 			}
 		}
 	} else if int32((*flock)(unsafe.Pointer(bp+8)).Fl_type) == F_WRLCK {
@@ -20104,7 +20106,7 @@ __8:
 	if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) {
 		goto __10
 	}
-	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41624), ts+3254, zShm, 41624)
+	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41628), ts+3254, zShm, 41628)
 	goto shm_open_err
 __10:
 	;
@@ -20234,7 +20236,7 @@ __11:
 		goto __14
 	}
 	zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3325, zFile, 41768)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3325, zFile, 41772)
 	goto shmpage_out
 __14:
 	;
@@ -20280,7 +20282,7 @@ __16:
 	if !(pMem == libc.UintptrFromInt32(-1)) {
 		goto __20
 	}
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3412, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41795)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3412, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41799)
 	goto shmpage_out
 __20:
 	;
@@ -20519,7 +20521,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) {
 	if pNew == libc.UintptrFromInt32(-1) {
 		pNew = uintptr(0)
 		nNew = int64(0)
-		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42169)
+		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42173)
 
 		(*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeMax = int64(0)
 	}
@@ -20746,7 +20748,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 		unixEnterMutex(tls)
 		rc = findInodeInfo(tls, pNew, pNew+16)
 		if rc != SQLITE_OK {
-			robust_close(tls, pNew, h, 42672)
+			robust_close(tls, pNew, h, 42676)
 			h = -1
 		}
 		unixLeaveMutex(tls)
@@ -20763,7 +20765,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 			rc = findInodeInfo(tls, pNew, pNew+16)
 			if rc != SQLITE_OK {
 				Xsqlite3_free(tls, (*UnixFile)(unsafe.Pointer(pNew)).FlockingContext)
-				robust_close(tls, pNew, h, 42698)
+				robust_close(tls, pNew, h, 42702)
 				h = -1
 			}
 			unixLeaveMutex(tls)
@@ -20785,7 +20787,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 	storeLastErrno(tls, pNew, 0)
 	if rc != SQLITE_OK {
 		if h >= 0 {
-			robust_close(tls, pNew, h, 42757)
+			robust_close(tls, pNew, h, 42761)
 		}
 	} else {
 		(*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle
@@ -21105,7 +21107,7 @@ __15:
 	if !(fd < 0) {
 		goto __19
 	}
-	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43198), ts+3254, zName, 43198)
+	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43202), ts+3254, zName, 43202)
 	if !(rc == SQLITE_OK) {
 		goto __20
 	}
@@ -21149,7 +21151,7 @@ __25:
 		goto __26
 	}
 	storeLastErrno(tls, p, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
-	robust_close(tls, p, fd, 43252)
+	robust_close(tls, p, fd, 43256)
 	return SQLITE_IOERR | int32(13)<<8
 __26:
 	;
@@ -21257,7 +21259,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		if *(*int32)(unsafe.Pointer(libc.X__error(tls))) == ENOENT {
 			rc = SQLITE_IOERR | int32(23)<<8
 		} else {
-			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3364, zPath, 43337)
+			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3364, zPath, 43341)
 		}
 		return rc
 	}
@@ -21265,9 +21267,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, zPath, bp)
 		if rc == SQLITE_OK {
 			if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3860, zPath, 43347)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3860, zPath, 43351)
 			}
-			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43349)
+			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43353)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -21331,18 +21333,18 @@ func appendOnePathElement(tls *libc.TLS, pPath uintptr, zName uintptr, nName int
 		zIn = (*DbPath)(unsafe.Pointer(pPath)).FzOut
 		if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8)))(tls, zIn, bp) != 0 {
 			if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != ENOENT {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43443), ts+3452, zIn, 43443)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43447), ts+3452, zIn, 43447)
 			}
 		} else if int32((*stat)(unsafe.Pointer(bp)).Fst_mode)&S_IFMT == S_IFLNK {
 			var got Ssize_t
 
 			if libc.PostIncInt32(&(*DbPath)(unsafe.Pointer(pPath)).FnSymlink, 1) > SQLITE_MAX_SYMLINK {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43449)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43453)
 				return
 			}
 			got = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls, zIn, bp+144, uint64(unsafe.Sizeof([1026]int8{}))-uint64(2))
 			if got <= int64(0) || got >= Ssize_t(unsafe.Sizeof([1026]int8{}))-int64(2) {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43454), ts+3443, zIn, 43454)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43458), ts+3443, zIn, 43458)
 				return
 			}
 			*(*int8)(unsafe.Pointer(bp + 144 + uintptr(got))) = int8(0)
@@ -21382,14 +21384,14 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO
 	(*DbPath)(unsafe.Pointer(bp + 1032)).FzOut = zOut
 	if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' {
 		if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, bp, uint64(unsafe.Sizeof([1026]int8{}))-uint64(2)) == uintptr(0) {
-			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43512), ts+3272, zPath, 43512)
+			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43516), ts+3272, zPath, 43516)
 		}
 		appendAllPathElements(tls, bp+1032, bp)
 	}
 	appendAllPathElements(tls, bp+1032, zPath)
 	*(*int8)(unsafe.Pointer(zOut + uintptr((*DbPath)(unsafe.Pointer(bp+1032)).FnUsed))) = int8(0)
 	if (*DbPath)(unsafe.Pointer(bp+1032)).Frc != 0 || (*DbPath)(unsafe.Pointer(bp+1032)).FnUsed < 2 {
-		return Xsqlite3CantopenError(tls, 43518)
+		return Xsqlite3CantopenError(tls, 43522)
 	}
 	if (*DbPath)(unsafe.Pointer(bp+1032)).FnSymlink != 0 {
 		return SQLITE_OK | int32(2)<<8
@@ -21464,7 +21466,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in
 			for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__error(tls))) == EINTR {
 				got = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*24 + 8)))(tls, fd, zBuf, uint64(nBuf)))
 			}
-			robust_close(tls, uintptr(0), fd, 43619)
+			robust_close(tls, uintptr(0), fd, 43623)
 		}
 
 	}
@@ -21678,7 +21680,7 @@ __11:
 __12:
 	return SQLITE_IOERR | int32(15)<<8
 __13:
-	return Xsqlite3CantopenError(tls, 44048)
+	return Xsqlite3CantopenError(tls, 44052)
 __10:
 	;
 __8:
@@ -21709,7 +21711,7 @@ __14:
 __15:
 	;
 end_create_proxy:
-	robust_close(tls, pNew, fd, 44072)
+	robust_close(tls, pNew, fd, 44076)
 	Xsqlite3_free(tls, pNew)
 	Xsqlite3_free(tls, pUnused)
 	return rc
@@ -21798,7 +21800,7 @@ __5:
 	;
 	rc = 0
 	libc.Xfprintf(tls, libc.X__stderrp, ts+4066, libc.VaList(bp+40, cPath))
-	robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(conchFile)).Fh, 44175)
+	robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(conchFile)).Fh, 44179)
 	(*UnixFile)(unsafe.Pointer(conchFile)).Fh = fd
 	(*UnixFile)(unsafe.Pointer(conchFile)).FopenFlags = O_RDWR | O_CREAT
 
@@ -21810,7 +21812,7 @@ end_breaklock:
 		goto __7
 	}
 	(*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 16*24 + 8)))(tls, bp+64)
-	robust_close(tls, pFile, fd, 44183)
+	robust_close(tls, pFile, fd, 44187)
 __7:
 	;
 	libc.Xfprintf(tls, libc.X__stderrp, ts+4090, libc.VaList(bp+48, cPath, bp+1088))
@@ -22090,7 +22092,7 @@ end_takeconch:
 	if !((*UnixFile)(unsafe.Pointer(pFile)).Fh >= 0) {
 		goto __29
 	}
-	robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 44436)
+	robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 44440)
 __29:
 	;
 	(*UnixFile)(unsafe.Pointer(pFile)).Fh = -1
@@ -22102,7 +22104,7 @@ __29:
 	(*UnixFile)(unsafe.Pointer(pFile)).Fh = fd
 	goto __31
 __30:
-	rc = Xsqlite3CantopenError(tls, 44444)
+	rc = Xsqlite3CantopenError(tls, 44448)
 
 __31:
 	;
@@ -23887,7 +23889,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 	libc.X__builtin___memset_chk(tls, pPgHdr+32, 0, uint64(unsafe.Sizeof(PgHdr{}))-uint64(uintptr(0)+32), libc.X__builtin_object_size(tls, pPgHdr+32, 0))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpPage = pPage
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpData = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpBuf
-	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*72
+	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*80
 	libc.X__builtin___memset_chk(tls, (*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra, 0, uint64(8), libc.X__builtin_object_size(tls, (*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra, 0))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpCache = pCache
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).Fpgno = pgno
@@ -23917,7 +23919,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 // reference count drops to 0, then it is made eligible for recycling.
 func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) {
 	(*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum--
-	if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 {
+	if libc.PreDecInt64(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1) == int64(0) {
 		if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_CLEAN != 0 {
 			pcacheUnpin(tls, p)
 		} else {
@@ -23968,7 +23970,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) {
 	*(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE))
 	*(*U16)(unsafe.Pointer(p + 52)) |= U16(PGHDR_CLEAN)
 
-	if int32((*PgHdr)(unsafe.Pointer(p)).FnRef) == 0 {
+	if (*PgHdr)(unsafe.Pointer(p)).FnRef == int64(0) {
 		pcacheUnpin(tls, p)
 	}
 }
@@ -24072,8 +24074,8 @@ func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) {
 }
 
 func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr {
-	bp := tls.Alloc(72)
-	defer tls.Free(72)
+	bp := tls.Alloc(80)
+	defer tls.Free(80)
 
 	var pTail uintptr
 	pTail = bp
@@ -24151,13 +24153,13 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr {
 //
 // This is not the total number of pages referenced, but the sum of the
 // reference count for all pages.
-func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 {
+func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) I64 {
 	return (*PCache)(unsafe.Pointer(pCache)).FnRefSum
 }
 
 // Return the number of references to the page supplied as an argument.
-func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 {
-	return int32((*PgHdr)(unsafe.Pointer(p)).FnRef)
+func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) I64 {
+	return (*PgHdr)(unsafe.Pointer(p)).FnRef
 }
 
 // Return the total number of pages in the cache.
@@ -26450,7 +26452,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 {
 
 	pPg = Xsqlite3PagerLookup(tls, pPager, iPg)
 	if pPg != 0 {
-		if Xsqlite3PcachePageRefcount(tls, pPg) == 1 {
+		if Xsqlite3PcachePageRefcount(tls, pPg) == int64(1) {
 			Xsqlite3PcacheDrop(tls, pPg)
 		} else {
 			rc = readDbPage(tls, pPg)
@@ -26883,7 +26885,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr,
 	var pageSize U32 = *(*U32)(unsafe.Pointer(pPageSize))
 
 	if (int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) == 0 || (*Pager)(unsafe.Pointer(pPager)).FdbSize == Pgno(0)) &&
-		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 &&
+		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) &&
 		pageSize != 0 && pageSize != U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) {
 		var pNew uintptr = uintptr(0)
 		*(*I64)(unsafe.Pointer(bp)) = int64(0)
@@ -27035,9 +27037,9 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr
 			Xsqlite3OsUnfetch(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, I64(pgno-Pgno(1))*(*Pager)(unsafe.Pointer(pPager)).FpageSize, pData)
 			return SQLITE_NOMEM
 		}
-		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*72
+		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*80
 		(*PgHdr)(unsafe.Pointer(p)).Fflags = U16(PGHDR_MMAP)
-		(*PgHdr)(unsafe.Pointer(p)).FnRef = int16(1)
+		(*PgHdr)(unsafe.Pointer(p)).FnRef = int64(1)
 		(*PgHdr)(unsafe.Pointer(p)).FpPager = pPager
 	}
 
@@ -27369,7 +27371,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 {
 
 		for rc == SQLITE_OK && pList != 0 {
 			var pNext uintptr = (*PgHdr)(unsafe.Pointer(pList)).FpDirty
-			if int32((*PgHdr)(unsafe.Pointer(pList)).FnRef) == 0 {
+			if (*PgHdr)(unsafe.Pointer(pList)).FnRef == int64(0) {
 				rc = pagerStress(tls, pPager, pList)
 			}
 			pList = pNext
@@ -27519,7 +27521,7 @@ __11:
 		goto __12
 	}
 
-	rc = Xsqlite3CantopenError(tls, 60235)
+	rc = Xsqlite3CantopenError(tls, 60239)
 __12:
 	;
 	if !(rc != SQLITE_OK) {
@@ -27900,7 +27902,7 @@ __7:
 	if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) {
 		goto __10
 	}
-	rc = Xsqlite3CantopenError(tls, 60754)
+	rc = Xsqlite3CantopenError(tls, 60758)
 	Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd)
 __10:
 	;
@@ -28006,7 +28008,7 @@ __24:
 }
 
 func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) {
-	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 {
+	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) {
 		pagerUnlockAndRollback(tls, pPager)
 	}
 }
@@ -28024,7 +28026,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla
 	if !(pgno == Pgno(0)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 60967)
+	return Xsqlite3CorruptError(tls, 60971)
 __1:
 	;
 	*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3)
@@ -28063,7 +28065,7 @@ __5:
 	if !(pgno == (*Pager)(unsafe.Pointer(pPager)).FlckPgno) {
 		goto __7
 	}
-	rc = Xsqlite3CorruptError(tls, 60999)
+	rc = Xsqlite3CorruptError(tls, 61003)
 	goto pager_acquire_err
 __7:
 	;
@@ -28140,7 +28142,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags
 		(int32((*Pager)(unsafe.Pointer(pPager)).FeState) == PAGER_READER || flags&PAGER_GET_READONLY != 0))
 
 	if pgno <= Pgno(1) && pgno == Pgno(0) {
-		return Xsqlite3CorruptError(tls, 61078)
+		return Xsqlite3CorruptError(tls, 61082)
 	}
 
 	if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
@@ -28898,7 +28900,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 {
 
 // Return the number of references to the specified page.
 func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 {
-	return Xsqlite3PcachePageRefcount(tls, pPage)
+	return int32(Xsqlite3PcachePageRefcount(tls, pPage))
 }
 
 // Parameter eStat must be one of SQLITE_DBSTATUS_CACHE_HIT, _MISS, _WRITE,
@@ -29141,9 +29143,9 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno
 	pPgOld = Xsqlite3PagerLookup(tls, pPager, pgno)
 
 	if pPgOld != 0 {
-		if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 {
+		if (*PgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
 			Xsqlite3PagerUnrefNotNull(tls, pPgOld)
-			return Xsqlite3CorruptError(tls, 62623)
+			return Xsqlite3CorruptError(tls, 62627)
 		}
 		*(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC)
 		if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 {
@@ -29899,7 +29901,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 {
 		nCollide = idx
 		for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) {
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 64387)
+				return Xsqlite3CorruptError(tls, 64391)
 			}
 		}
 		*(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaPgno + uintptr(idx-1)*4)) = iPage
@@ -29998,7 +30000,7 @@ __6:
 	if !(version != U32(WAL_MAX_VERSION)) {
 		goto __7
 	}
-	rc = Xsqlite3CantopenError(tls, 64519)
+	rc = Xsqlite3CantopenError(tls, 64523)
 	goto finished
 __7:
 	;
@@ -30584,7 +30586,7 @@ __10:
 		goto __14
 	}
 
-	rc = Xsqlite3CorruptError(tls, 65333)
+	rc = Xsqlite3CorruptError(tls, 65337)
 	goto __15
 __14:
 	Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16)
@@ -30859,7 +30861,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 {
 	}
 
 	if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) {
-		rc = Xsqlite3CantopenError(tls, 65682)
+		rc = Xsqlite3CantopenError(tls, 65686)
 	}
 	if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
 		if rc != SQLITE_OK {
@@ -31332,7 +31334,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr
 				iRead = iFrame
 			}
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 66419)
+				return Xsqlite3CorruptError(tls, 66423)
 			}
 			iKey = walNextHash(tls, iKey)
 		}
@@ -31837,7 +31839,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
 
 	if rc == SQLITE_OK {
 		if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf {
-			rc = Xsqlite3CorruptError(tls, 67138)
+			rc = Xsqlite3CorruptError(tls, 67142)
 		} else {
 			rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
 		}
@@ -32495,7 +32497,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32
 		}
 		Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
 		if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
-			rc = Xsqlite3CorruptError(tls, 69249)
+			rc = Xsqlite3CorruptError(tls, 69253)
 		} else {
 			rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
 		}
@@ -32632,7 +32634,7 @@ __1:
 	if !(key == Pgno(0)) {
 		goto __2
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69430)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69434)
 	return
 __2:
 	;
@@ -32649,7 +32651,7 @@ __3:
 		goto __4
 	}
 
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69443)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69447)
 	goto ptrmap_exit
 __4:
 	;
@@ -32657,7 +32659,7 @@ __4:
 	if !(offset < 0) {
 		goto __5
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69448)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69452)
 	goto ptrmap_exit
 __5:
 	;
@@ -32700,7 +32702,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 	offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1)))
 	if offset < 0 {
 		Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
-		return Xsqlite3CorruptError(tls, 69493)
+		return Xsqlite3CorruptError(tls, 69497)
 	}
 
 	*(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
@@ -32710,7 +32712,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 
 	Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
 	if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 {
-		return Xsqlite3CorruptError(tls, 69501)
+		return Xsqlite3CorruptError(tls, 69505)
 	}
 	return SQLITE_OK
 }
@@ -32960,7 +32962,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr,
 	if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 		var ovfl Pgno
 		if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) {
-			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69893)
+			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69897)
 			return
 		}
 		ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4))
@@ -33007,7 +33009,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 {
 	if !(iFree > usableSize-4) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 69951)
+	return Xsqlite3CorruptError(tls, 69955)
 __2:
 	;
 	if !(iFree != 0) {
@@ -33017,7 +33019,7 @@ __2:
 	if !(iFree2 > usableSize-4) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 69954)
+	return Xsqlite3CorruptError(tls, 69958)
 __4:
 	;
 	if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) {
@@ -33030,7 +33032,7 @@ __4:
 	if !(top >= iFree) {
 		goto __6
 	}
-	return Xsqlite3CorruptError(tls, 69962)
+	return Xsqlite3CorruptError(tls, 69966)
 __6:
 	;
 	if !(iFree2 != 0) {
@@ -33039,14 +33041,14 @@ __6:
 	if !(iFree+sz > iFree2) {
 		goto __9
 	}
-	return Xsqlite3CorruptError(tls, 69965)
+	return Xsqlite3CorruptError(tls, 69969)
 __9:
 	;
 	sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1)))
 	if !(iFree2+sz2 > usableSize) {
 		goto __10
 	}
-	return Xsqlite3CorruptError(tls, 69967)
+	return Xsqlite3CorruptError(tls, 69971)
 __10:
 	;
 	libc.X__builtin___memmove_chk(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz)), libc.X__builtin_object_size(tls, data+uintptr(iFree+sz+sz2), 0))
@@ -33056,7 +33058,7 @@ __7:
 	if !(iFree+sz > usableSize) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 69971)
+	return Xsqlite3CorruptError(tls, 69975)
 __11:
 	;
 __8:
@@ -33120,7 +33122,7 @@ __19:
 	if !(pc < iCellStart || pc > iCellLast) {
 		goto __22
 	}
-	return Xsqlite3CorruptError(tls, 70004)
+	return Xsqlite3CorruptError(tls, 70008)
 __22:
 	;
 	size = int32((*struct {
@@ -33130,7 +33132,7 @@ __22:
 	if !(cbrk < iCellStart || pc+size > usableSize) {
 		goto __23
 	}
-	return Xsqlite3CorruptError(tls, 70010)
+	return Xsqlite3CorruptError(tls, 70014)
 __23:
 	;
 	*(*U8)(unsafe.Pointer(pAddr1)) = U8(cbrk >> 8)
@@ -33152,7 +33154,7 @@ defragment_out:
 	if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) {
 		goto __24
 	}
-	return Xsqlite3CorruptError(tls, 70024)
+	return Xsqlite3CorruptError(tls, 70028)
 __24:
 	;
 	*(*uint8)(unsafe.Pointer(data + uintptr(hdr+5))) = U8(cbrk >> 8)
@@ -33187,7 +33189,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 				*(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x)))
 				return aData + uintptr(pc)
 			} else if x+pc > maxPC {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70081)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70085)
 				return uintptr(0)
 			} else {
 				*(*U8)(unsafe.Pointer(aData + uintptr(pc+2))) = U8(x >> 8)
@@ -33200,13 +33202,13 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 		pc = int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1)))
 		if pc <= iAddr {
 			if pc != 0 {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70096)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70100)
 			}
 			return uintptr(0)
 		}
 	}
 	if pc > maxPC+nByte-4 {
-		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70103)
+		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70107)
 	}
 	return uintptr(0)
 }
@@ -33231,7 +33233,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 		if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) {
 			top = 65536
 		} else {
-			return Xsqlite3CorruptError(tls, 70152)
+			return Xsqlite3CorruptError(tls, 70156)
 		}
 	}
 
@@ -33242,7 +33244,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 
 			*(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1))
 			if g2 <= gap {
-				return Xsqlite3CorruptError(tls, 70170)
+				return Xsqlite3CorruptError(tls, 70174)
 			} else {
 				return SQLITE_OK
 			}
@@ -33294,22 +33296,22 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 				if int32(iFreeBlk) == 0 {
 					break
 				}
-				return Xsqlite3CorruptError(tls, 70249)
+				return Xsqlite3CorruptError(tls, 70253)
 			}
 			iPtr = iFreeBlk
 		}
 		if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) {
-			return Xsqlite3CorruptError(tls, 70254)
+			return Xsqlite3CorruptError(tls, 70258)
 		}
 
 		if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) {
 			nFrag = U8(U32(iFreeBlk) - iEnd)
 			if iEnd > U32(iFreeBlk) {
-				return Xsqlite3CorruptError(tls, 70266)
+				return Xsqlite3CorruptError(tls, 70270)
 			}
 			iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1)))))
 			if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-				return Xsqlite3CorruptError(tls, 70269)
+				return Xsqlite3CorruptError(tls, 70273)
 			}
 			iSize = U16(iEnd - U32(iStart))
 			iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1))))
@@ -33319,7 +33321,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1))))
 			if iPtrEnd+3 >= int32(iStart) {
 				if iPtrEnd > int32(iStart) {
-					return Xsqlite3CorruptError(tls, 70282)
+					return Xsqlite3CorruptError(tls, 70286)
 				}
 				nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd))
 				iSize = U16(iEnd - U32(iPtr))
@@ -33327,7 +33329,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			}
 		}
 		if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) {
-			return Xsqlite3CorruptError(tls, 70288)
+			return Xsqlite3CorruptError(tls, 70292)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag))
 	}
@@ -33335,10 +33337,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 	x = U16(int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1))))
 	if int32(iStart) <= int32(x) {
 		if int32(iStart) < int32(x) {
-			return Xsqlite3CorruptError(tls, 70297)
+			return Xsqlite3CorruptError(tls, 70301)
 		}
 		if int32(iPtr) != int32(hdr)+1 {
-			return Xsqlite3CorruptError(tls, 70298)
+			return Xsqlite3CorruptError(tls, 70302)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8)
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk)
@@ -33398,7 +33400,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70357)
+			return Xsqlite3CorruptError(tls, 70361)
 		}
 	} else {
 		(*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize = U8(4)
@@ -33434,7 +33436,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70381)
+			return Xsqlite3CorruptError(tls, 70385)
 		}
 	}
 	return SQLITE_OK
@@ -33464,11 +33466,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 		var next U32
 		var size U32
 		if pc < top {
-			return Xsqlite3CorruptError(tls, 70432)
+			return Xsqlite3CorruptError(tls, 70436)
 		}
 		for 1 != 0 {
 			if pc > iCellLast {
-				return Xsqlite3CorruptError(tls, 70437)
+				return Xsqlite3CorruptError(tls, 70441)
 			}
 			next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1))))
 			size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1))))
@@ -33479,15 +33481,15 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 			pc = int32(next)
 		}
 		if next > U32(0) {
-			return Xsqlite3CorruptError(tls, 70447)
+			return Xsqlite3CorruptError(tls, 70451)
 		}
 		if U32(pc)+size > uint32(usableSize) {
-			return Xsqlite3CorruptError(tls, 70451)
+			return Xsqlite3CorruptError(tls, 70455)
 		}
 	}
 
 	if nFree > usableSize || nFree < iCellFirst {
-		return Xsqlite3CorruptError(tls, 70463)
+		return Xsqlite3CorruptError(tls, 70467)
 	}
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst))
 	return SQLITE_OK
@@ -33515,14 +33517,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 {
 		pc = int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2) + 1)))
 
 		if pc < iCellFirst || pc > iCellLast {
-			return Xsqlite3CorruptError(tls, 70494)
+			return Xsqlite3CorruptError(tls, 70498)
 		}
 		sz = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
 		})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc)))
 
 		if pc+sz > usableSize {
-			return Xsqlite3CorruptError(tls, 70499)
+			return Xsqlite3CorruptError(tls, 70503)
 		}
 	}
 	return SQLITE_OK
@@ -33536,7 +33538,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 	data = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 {
-		return Xsqlite3CorruptError(tls, 70531)
+		return Xsqlite3CorruptError(tls, 70535)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1))
@@ -33548,7 +33550,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1))))
 	if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) {
-		return Xsqlite3CorruptError(tls, 70545)
+		return Xsqlite3CorruptError(tls, 70549)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = -1
@@ -33651,7 +33653,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	rc = Xsqlite3CorruptError(tls, 70700)
+	rc = Xsqlite3CorruptError(tls, 70704)
 	goto getAndInitPage_error1
 __1:
 	;
@@ -33679,7 +33681,7 @@ __3:
 	if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) {
 		goto __5
 	}
-	rc = Xsqlite3CorruptError(tls, 70721)
+	rc = Xsqlite3CorruptError(tls, 70725)
 	goto getAndInitPage_error2
 __5:
 	;
@@ -33718,7 +33720,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 {
 			releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
 			*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
-			return Xsqlite3CorruptError(tls, 70787)
+			return Xsqlite3CorruptError(tls, 70791)
 		}
 		(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0)
 	} else {
@@ -34601,7 +34603,7 @@ __16:
 	if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) {
 		goto __18
 	}
-	rc = Xsqlite3CorruptError(tls, 71722)
+	rc = Xsqlite3CorruptError(tls, 71726)
 	goto page1_init_failed
 	goto __19
 __18:
@@ -35016,7 +35018,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 	if int32(eType) == PTRMAP_OVERFLOW2 {
 		if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
-			return Xsqlite3CorruptError(tls, 72143)
+			return Xsqlite3CorruptError(tls, 72147)
 		}
 		Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo)
 	} else {
@@ -35042,7 +35044,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp)
 				if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 					if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-						return Xsqlite3CorruptError(tls, 72162)
+						return Xsqlite3CorruptError(tls, 72166)
 					}
 					if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) {
 						Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo)
@@ -35051,7 +35053,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				}
 			} else {
 				if pCell+uintptr(4) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-					return Xsqlite3CorruptError(tls, 72171)
+					return Xsqlite3CorruptError(tls, 72175)
 				}
 				if Xsqlite3Get4byte(tls, pCell) == iFrom {
 					Xsqlite3Put4byte(tls, pCell, iTo)
@@ -35062,7 +35064,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 		if i == nCell {
 			if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom {
-				return Xsqlite3CorruptError(tls, 72183)
+				return Xsqlite3CorruptError(tls, 72187)
 			}
 			Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo)
 		}
@@ -35078,7 +35080,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag
 	var pPager uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPager
 
 	if iDbPage < Pgno(3) {
-		return Xsqlite3CorruptError(tls, 72218)
+		return Xsqlite3CorruptError(tls, 72222)
 	}
 
 	*(*int32)(unsafe.Pointer(bp)) = Xsqlite3PagerMovepage(tls, pPager, (*MemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -35139,7 +35141,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 			return rc
 		}
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE {
-			return Xsqlite3CorruptError(tls, 72316)
+			return Xsqlite3CorruptError(tls, 72320)
 		}
 
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE {
@@ -35174,7 +35176,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 				if *(*Pgno)(unsafe.Pointer(bp + 40)) > dbSize {
 					releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
-					return Xsqlite3CorruptError(tls, 72368)
+					return Xsqlite3CorruptError(tls, 72372)
 				}
 			}
 
@@ -35234,7 +35236,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 {
 		var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree)
 
 		if nOrig < nFin || nFree >= nOrig {
-			rc = Xsqlite3CorruptError(tls, 72436)
+			rc = Xsqlite3CorruptError(tls, 72440)
 		} else if nFree > Pgno(0) {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
 			if rc == SQLITE_OK {
@@ -35273,7 +35275,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 
 		nOrig = btreePagecount(tls, pBt)
 		if ptrmapPageno(tls, pBt, nOrig) == nOrig || nOrig == U32(Xsqlite3PendingByte)/(*BtShared)(unsafe.Pointer(pBt)).FpageSize+U32(1) {
-			return Xsqlite3CorruptError(tls, 72487)
+			return Xsqlite3CorruptError(tls, 72491)
 		}
 
 		nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
@@ -35304,7 +35306,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 		}
 		nFin = finalDbSize(tls, pBt, nOrig, nVac)
 		if nFin > nOrig {
-			return Xsqlite3CorruptError(tls, 72514)
+			return Xsqlite3CorruptError(tls, 72518)
 		}
 		if nFin < nOrig {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -35645,7 +35647,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u
 
 	if iTable <= Pgno(1) {
 		if iTable < Pgno(1) {
-			return Xsqlite3CorruptError(tls, 72978)
+			return Xsqlite3CorruptError(tls, 72982)
 		} else if btreePagecount(tls, pBt) == Pgno(0) {
 			iTable = Pgno(0)
 		}
@@ -35889,14 +35891,14 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt
 
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
-		return Xsqlite3CorruptError(tls, 73385)
+		return Xsqlite3CorruptError(tls, 73389)
 	}
 
 	getCellInfo(tls, pCur)
 	aPayload = (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
 
 	if Uptr((int64(aPayload)-int64((*MemPage)(unsafe.Pointer(pPage)).FaData))/1) > Uptr((*BtShared)(unsafe.Pointer(pBt)).FusableSize-U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal)) {
-		return Xsqlite3CorruptError(tls, 73400)
+		return Xsqlite3CorruptError(tls, 73404)
 	}
 
 	if offset < U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -35941,7 +35943,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 
 		for *(*Pgno)(unsafe.Pointer(bp)) != 0 {
 			if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage {
-				return Xsqlite3CorruptError(tls, 73462)
+				return Xsqlite3CorruptError(tls, 73466)
 			}
 
 			*(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp))
@@ -35990,7 +35992,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	}
 
 	if rc == SQLITE_OK && amt > U32(0) {
-		return Xsqlite3CorruptError(tls, 73547)
+		return Xsqlite3CorruptError(tls, 73551)
 	}
 	return rc
 }
@@ -36070,7 +36072,7 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt
 
 func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 {
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 {
-		return Xsqlite3CorruptError(tls, 73684)
+		return Xsqlite3CorruptError(tls, 73688)
 	}
 	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	*(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl))
@@ -36161,7 +36163,7 @@ __2:
 	if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 73823)
+	return Xsqlite3CorruptError(tls, 73827)
 __11:
 	;
 skip_init:
@@ -36181,7 +36183,7 @@ __12:
 	if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) {
 		goto __16
 	}
-	return Xsqlite3CorruptError(tls, 73835)
+	return Xsqlite3CorruptError(tls, 73839)
 __16:
 	;
 	subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8))
@@ -36391,7 +36393,7 @@ __19:
 	if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __21
 	}
-	return Xsqlite3CorruptError(tls, 74077)
+	return Xsqlite3CorruptError(tls, 74081)
 __21:
 	;
 	goto __19
@@ -36595,7 +36597,7 @@ __2:
 	if !!(int32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit) != 0) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 74273)
+	return Xsqlite3CorruptError(tls, 74277)
 __4:
 	;
 	goto bypass_moveto_root
@@ -36660,7 +36662,7 @@ __15:
 	if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) {
 		goto __17
 	}
-	rc = Xsqlite3CorruptError(tls, 74360)
+	rc = Xsqlite3CorruptError(tls, 74364)
 	goto moveto_index_finish
 __17:
 	;
@@ -36708,7 +36710,7 @@ __22:
 	if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) {
 		goto __24
 	}
-	rc = Xsqlite3CorruptError(tls, 74392)
+	rc = Xsqlite3CorruptError(tls, 74396)
 __24:
 	;
 	goto moveto_index_finish
@@ -36827,7 +36829,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 {
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1))
 	if !(int32((*MemPage)(unsafe.Pointer(pPage)).FisInit) != 0) || Xsqlite3FaultSim(tls, 412) != 0 {
-		return Xsqlite3CorruptError(tls, 74508)
+		return Xsqlite3CorruptError(tls, 74512)
 	}
 
 	if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
@@ -36987,7 +36989,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr
 	if !(n >= mxPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74688)
+	return Xsqlite3CorruptError(tls, 74692)
 __1:
 	;
 	if !(n > U32(0)) {
@@ -37052,7 +37054,7 @@ __15:
 	if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) {
 		goto __16
 	}
-	rc = Xsqlite3CorruptError(tls, 74744)
+	rc = Xsqlite3CorruptError(tls, 74748)
 	goto __17
 __16:
 	rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0)
@@ -37088,7 +37090,7 @@ __19:
 		goto __22
 	}
 
-	rc = Xsqlite3CorruptError(tls, 74773)
+	rc = Xsqlite3CorruptError(tls, 74777)
 	goto end_allocate_page
 	goto __23
 __22:
@@ -37132,7 +37134,7 @@ __27:
 	if !(iNewTrunk > mxPage) {
 		goto __32
 	}
-	rc = Xsqlite3CorruptError(tls, 74807)
+	rc = Xsqlite3CorruptError(tls, 74811)
 	goto end_allocate_page
 __32:
 	;
@@ -37244,7 +37246,7 @@ __40:
 	if !(iPage > mxPage || iPage < Pgno(2)) {
 		goto __51
 	}
-	rc = Xsqlite3CorruptError(tls, 74872)
+	rc = Xsqlite3CorruptError(tls, 74876)
 	goto end_allocate_page
 __51:
 	;
@@ -37402,7 +37404,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 {
 	if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74999)
+	return Xsqlite3CorruptError(tls, 75003)
 __1:
 	;
 	if !(pMemPage != 0) {
@@ -37459,7 +37461,7 @@ __7:
 	if !(iTrunk > btreePagecount(tls, pBt)) {
 		goto __10
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75046)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75050)
 	goto freepage_out
 __10:
 	;
@@ -37475,7 +37477,7 @@ __11:
 	if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) {
 		goto __12
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75057)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75061)
 	goto freepage_out
 __12:
 	;
@@ -37549,7 +37551,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 	var ovflPageSize U32
 
 	if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 75146)
+		return Xsqlite3CorruptError(tls, 75150)
 	}
 	ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
 	pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt
@@ -37561,7 +37563,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 		*(*Pgno)(unsafe.Pointer(bp + 8)) = Pgno(0)
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 		if ovflPgno < Pgno(2) || ovflPgno > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 75163)
+			return Xsqlite3CorruptError(tls, 75167)
 		}
 		if nOvfl != 0 {
 			rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8)
@@ -37572,7 +37574,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 
 		if (*(*uintptr)(unsafe.Pointer(bp)) != 0 || libc.AssignPtrUintptr(bp, btreePageLookup(tls, pBt, ovflPgno)) != uintptr(0)) &&
 			Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 {
-			rc = Xsqlite3CorruptError(tls, 75183)
+			rc = Xsqlite3CorruptError(tls, 75187)
 		} else {
 			rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp)), ovflPgno)
 		}
@@ -37737,7 +37739,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
 	hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75436)
+		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75440)
 		return
 	}
 	rc = freeSpace(tls, pPage, uint16(pc), uint16(sz))
@@ -38016,12 +38018,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 
 		if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) {
 			if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) {
-				return Xsqlite3CorruptError(tls, 75737)
+				return Xsqlite3CorruptError(tls, 75741)
 			}
 			pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1)
 		} else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) &&
 			Uptr(pCell) < Uptr(pSrcEnd) {
-			return Xsqlite3CorruptError(tls, 75742)
+			return Xsqlite3CorruptError(tls, 75746)
 		}
 
 		pData -= uintptr(sz)
@@ -38029,7 +38031,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 		*(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1)
 		pCellptr += uintptr(2)
 		if pData < pCellptr {
-			return Xsqlite3CorruptError(tls, 75748)
+			return Xsqlite3CorruptError(tls, 75752)
 		}
 		libc.X__builtin___memmove_chk(tls, pData, pCell, uint64(sz), libc.X__builtin_object_size(tls, pData, 0))
 
@@ -38089,7 +38091,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr,
 
 		if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) &&
 			Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) {
-			Xsqlite3CorruptError(tls, 75833)
+			Xsqlite3CorruptError(tls, 75837)
 			return 1
 		}
 		libc.X__builtin___memmove_chk(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz), libc.X__builtin_object_size(tls, pSlot, 0))
@@ -38178,7 +38180,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC
 	if !(nShift > nCell) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 75947)
+	return Xsqlite3CorruptError(tls, 75951)
 __2:
 	;
 	libc.X__builtin___memmove_chk(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2), libc.X__builtin_object_size(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, 0))
@@ -38294,7 +38296,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr
 	var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt
 
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
-		return Xsqlite3CorruptError(tls, 76060)
+		return Xsqlite3CorruptError(tls, 76064)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 136)) = allocateBtreePage(tls, pBt, bp, bp+8, uint32(0), uint8(0))
@@ -38614,7 +38616,7 @@ __22:
 	if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) {
 		goto __25
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76481)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76485)
 	goto balance_cleanup
 __25:
 	;
@@ -38625,7 +38627,7 @@ __25:
 	if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) {
 		goto __27
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76505)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76509)
 	goto balance_cleanup
 __27:
 	;
@@ -38783,7 +38785,7 @@ __52:
 	if !(k > NB+2) {
 		goto __55
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76606)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76610)
 	goto balance_cleanup
 __55:
 	;
@@ -38857,7 +38859,7 @@ __65:
 	}()) {
 		goto __67
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76639)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76643)
 	goto balance_cleanup
 __67:
 	;
@@ -38920,7 +38922,7 @@ __73:
 	}()) {
 		goto __75
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76683)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76687)
 	goto balance_cleanup
 __75:
 	;
@@ -38948,7 +38950,7 @@ __76:
 		*(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) {
 		goto __81
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76716)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76720)
 __81:
 	;
 	if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) {
@@ -39209,7 +39211,7 @@ __120:
 	if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) {
 		goto __121
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76916)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76920)
 	goto balance_cleanup
 __121:
 	;
@@ -39399,7 +39401,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 {
 		if pOther != pCur &&
 			int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID &&
 			(*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage {
-			return Xsqlite3CorruptError(tls, 77146)
+			return Xsqlite3CorruptError(tls, 77150)
 		}
 	}
 	return SQLITE_OK
@@ -39437,7 +39439,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 {
 				break
 			}
 		} else if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) > 1 {
-			rc = Xsqlite3CorruptError(tls, 77206)
+			rc = Xsqlite3CorruptError(tls, 77210)
 		} else {
 			var pParent uintptr = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-1)*8))
 			var iIdx int32 = int32(*(*U16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-1)*2)))
@@ -39543,7 +39545,7 @@ func btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 			return rc
 		}
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
-			rc = Xsqlite3CorruptError(tls, 77370)
+			rc = Xsqlite3CorruptError(tls, 77374)
 		} else {
 			if U32(iOffset)+ovflPageSize < U32(nTotal) {
 				ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -39568,7 +39570,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 
 	if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd ||
 		(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FcellOffset) {
-		return Xsqlite3CorruptError(tls, 77398)
+		return Xsqlite3CorruptError(tls, 77402)
 	}
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
 		return btreeOverwriteContent(tls, pPage, (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX,
@@ -39638,7 +39640,7 @@ __2:
 		goto __3
 	}
 
-	return Xsqlite3CorruptError(tls, 77479)
+	return Xsqlite3CorruptError(tls, 77483)
 __3:
 	;
 __1:
@@ -39751,7 +39753,7 @@ __7:
 		goto __21
 	}
 
-	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77602)
+	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77606)
 	goto __22
 __21:
 	*(*int32)(unsafe.Pointer(bp + 120)) = btreeComputeFreeSpace(tls, pPage)
@@ -39811,6 +39813,7 @@ __30:
 __25:
 	;
 	idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
+	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !(*(*int32)(unsafe.Pointer(bp)) == 0) {
 		goto __31
 	}
@@ -39818,7 +39821,7 @@ __25:
 	if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) {
 		goto __33
 	}
-	return Xsqlite3CorruptError(tls, 77640)
+	return Xsqlite3CorruptError(tls, 77645)
 __33:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage)
@@ -39856,13 +39859,13 @@ __37:
 	if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) {
 		goto __39
 	}
-	return Xsqlite3CorruptError(tls, 77667)
+	return Xsqlite3CorruptError(tls, 77672)
 __39:
 	;
 	if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 124))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __40
 	}
-	return Xsqlite3CorruptError(tls, 77670)
+	return Xsqlite3CorruptError(tls, 77675)
 __40:
 	;
 	libc.X__builtin___memcpy_chk(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 124))), libc.X__builtin_object_size(tls, oldCell, 0))
@@ -39893,7 +39896,6 @@ __32:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 124)), uintptr(0), uint32(0))
 
-	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) {
 		goto __44
 	}
@@ -39968,7 +39970,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 	nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
 	aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
 	if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 77773)
+		return Xsqlite3CorruptError(tls, 77777)
 	}
 	nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
 	if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -39993,7 +39995,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 
 		if nRem > nIn {
 			if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-				return Xsqlite3CorruptError(tls, 77798)
+				return Xsqlite3CorruptError(tls, 77802)
 			}
 			ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
 		}
@@ -40094,7 +40096,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 				return *(*int32)(unsafe.Pointer(bp + 24))
 			}
 		} else {
-			return Xsqlite3CorruptError(tls, 77894)
+			return Xsqlite3CorruptError(tls, 77898)
 		}
 	}
 
@@ -40102,11 +40104,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 	iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
-		return Xsqlite3CorruptError(tls, 77903)
+		return Xsqlite3CorruptError(tls, 77907)
 	}
 	pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx) + 1)))))
 	if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 {
-		return Xsqlite3CorruptError(tls, 77907)
+		return Xsqlite3CorruptError(tls, 77911)
 	}
 
 	bPreserve = U8(libc.Bool32(int32(flags)&BTREE_SAVEPOSITION != 0))
@@ -40181,7 +40183,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 		}
 		pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)) + 1)))))
 		if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 {
-			return Xsqlite3CorruptError(tls, 77998)
+			return Xsqlite3CorruptError(tls, 78002)
 		}
 		nCell = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
@@ -40250,7 +40252,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 
 		Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp)
 		if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 78114)
+			return Xsqlite3CorruptError(tls, 78118)
 		}
 		*(*Pgno)(unsafe.Pointer(bp))++
 
@@ -40279,7 +40281,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 			}
 			*(*int32)(unsafe.Pointer(bp + 40)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp)), bp+32, bp+36)
 			if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE {
-				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78162)
+				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78166)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -40355,7 +40357,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 78252)
+	return Xsqlite3CorruptError(tls, 78256)
 __1:
 	;
 	*(*int32)(unsafe.Pointer(bp + 32)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0)
@@ -40369,7 +40371,7 @@ __2:
 		Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) {
 		goto __3
 	}
-	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78259)
+	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78263)
 	goto cleardatabasepage_out
 __3:
 	;
@@ -40503,7 +40505,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3
 	var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt
 
 	if iTable > btreePagecount(tls, pBt) {
-		return Xsqlite3CorruptError(tls, 78363)
+		return Xsqlite3CorruptError(tls, 78367)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 12)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0))
@@ -42972,7 +42974,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32,
 	var rc int32
 	(*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null)
 	if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) {
-		return Xsqlite3CorruptError(tls, 81630)
+		return Xsqlite3CorruptError(tls, 81634)
 	}
 	if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) {
 		rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz)
@@ -43621,7 +43623,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		return Xsqlite3GetVarint32(tls, a, bp)
 	}())
 	if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) {
-		return Xsqlite3CorruptError(tls, 82270)
+		return Xsqlite3CorruptError(tls, 82274)
 	}
 	iField = *(*int32)(unsafe.Pointer(bp))
 	for i = 0; i <= iCol; i++ {
@@ -43636,14 +43638,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		}())
 
 		if iHdr > *(*int32)(unsafe.Pointer(bp)) {
-			return Xsqlite3CorruptError(tls, 82276)
+			return Xsqlite3CorruptError(tls, 82280)
 		}
 		szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4))))
 		iField = iField + szField
 	}
 
 	if iField > nRec {
-		return Xsqlite3CorruptError(tls, 82282)
+		return Xsqlite3CorruptError(tls, 82286)
 	}
 	if pMem == uintptr(0) {
 		pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db))
@@ -45947,7 +45949,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 {
 		return rc
 	}
 	if *(*int32)(unsafe.Pointer(bp)) != 0 {
-		return Xsqlite3CorruptError(tls, 86058)
+		return Xsqlite3CorruptError(tls, 86062)
 	}
 	(*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0)
 	(*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE)
@@ -46498,7 +46500,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		i = 0
 	}
 	if d1 > uint32(nKey1) {
-		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86985))
+		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86989))
 		return 0
 	}
 
@@ -46563,7 +46565,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 
 				if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) ||
 					int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87062))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87066))
 					return 0
 				} else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 {
 					(*Mem)(unsafe.Pointer(bp + 8)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc
@@ -46597,7 +46599,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 				var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2))
 
 				if d1+U32(nStr) > uint32(nKey1) {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87092))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87096))
 					return 0
 				} else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 {
 					if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) {
@@ -46647,7 +46649,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		}
 		idx1 = idx1 + U32(Xsqlite3VarintLen(tls, uint64(*(*U32)(unsafe.Pointer(bp + 64)))))
 		if idx1 >= *(*U32)(unsafe.Pointer(bp + 4)) {
-			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87136))
+			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87140))
 			return 0
 		}
 	}
@@ -46793,7 +46795,7 @@ __5:
 	if !(szHdr+nStr > nKey1) {
 		goto __7
 	}
-	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87299))
+	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87303))
 	return 0
 __7:
 	;
@@ -46964,7 +46966,7 @@ __6:
 idx_rowid_corruption:
 	;
 	Xsqlite3VdbeMemReleaseMalloc(tls, bp)
-	return Xsqlite3CorruptError(tls, 87457)
+	return Xsqlite3CorruptError(tls, 87461)
 }
 
 // Compare the key of the index entry that cursor pC is pointing to against
@@ -46990,7 +46992,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
 
 	if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) {
 		*(*int32)(unsafe.Pointer(res)) = 0
-		return Xsqlite3CorruptError(tls, 87490)
+		return Xsqlite3CorruptError(tls, 87494)
 	}
 	Xsqlite3VdbeMemInit(tls, bp, db, uint16(0))
 	rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp)
@@ -47264,7 +47266,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 {
 		var v uintptr = pStmt
 		var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb
 		if vdbeSafety(tls, v) != 0 {
-			return Xsqlite3MisuseError(tls, 87854)
+			return Xsqlite3MisuseError(tls, 87858)
 		}
 		Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) {
@@ -47879,7 +47881,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 {
 	var db uintptr
 
 	if vdbeSafetyNotNull(tls, v) != 0 {
-		return Xsqlite3MisuseError(tls, 88544)
+		return Xsqlite3MisuseError(tls, 88548)
 	}
 	db = (*Vdbe)(unsafe.Pointer(v)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -48399,7 +48401,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 
 	var pVar uintptr
 	if vdbeSafetyNotNull(tls, p) != 0 {
-		return Xsqlite3MisuseError(tls, 89208)
+		return Xsqlite3MisuseError(tls, 89212)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 	if int32((*Vdbe)(unsafe.Pointer(p)).FeVdbeState) != VDBE_READY_STATE {
@@ -48407,7 +48409,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 		Xsqlite3_log(tls, SQLITE_MISUSE,
 			ts+5760, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql))
-		return Xsqlite3MisuseError(tls, 89216)
+		return Xsqlite3MisuseError(tls, 89220)
 	}
 	if i >= uint32((*Vdbe)(unsafe.Pointer(p)).FnVar) {
 		Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE)
@@ -48812,7 +48814,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89707)
+	rc = Xsqlite3MisuseError(tls, 89711)
 	goto preupdate_old_out
 __1:
 	;
@@ -48956,7 +48958,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89809)
+	rc = Xsqlite3MisuseError(tls, 89813)
 	goto preupdate_new_out
 __1:
 	;
@@ -49400,10 +49402,6 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 {
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Real != 0 {
 			h = h + U64(Xsqlite3VdbeIntValue(tls, p))
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 {
-			h = h + U64((*Mem)(unsafe.Pointer(p)).Fn)
-			if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Zero != 0 {
-				h = h + U64(*(*int32)(unsafe.Pointer(p)))
-			}
 		}
 	}
 	return h
@@ -52052,7 +52050,7 @@ op_column_corrupt:
 	goto __9
 	goto __425
 __424:
-	rc = Xsqlite3CorruptError(tls, 93317)
+	rc = Xsqlite3CorruptError(tls, 93320)
 	goto abort_due_to_error
 __425:
 	;
@@ -53812,7 +53810,7 @@ notExistsWithKey:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) {
 		goto __682
 	}
-	rc = Xsqlite3CorruptError(tls, 95560)
+	rc = Xsqlite3CorruptError(tls, 95563)
 	goto __683
 __682:
 	goto jump_to_p2
@@ -54590,7 +54588,7 @@ __767:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) {
 		goto __770
 	}
-	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96635, ts+6269)
+	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96638, ts+6269)
 	goto abort_due_to_error
 __770:
 	;
@@ -54700,7 +54698,7 @@ __780:
 	if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) {
 		goto __781
 	}
-	rc = Xsqlite3CorruptError(tls, 96840)
+	rc = Xsqlite3CorruptError(tls, 96843)
 	goto abort_due_to_error
 __781:
 	;
@@ -54894,7 +54892,7 @@ __802:
 		goto __803
 	}
 
-	rc = Xsqlite3CorruptError(tls, 97092)
+	rc = Xsqlite3CorruptError(tls, 97095)
 __803:
 	;
 	Xsqlite3DbFreeNN(tls, db, zSql)
@@ -56261,7 +56259,7 @@ __955:
 	if !(rc == SQLITE_IOERR|int32(33)<<8) {
 		goto __957
 	}
-	rc = Xsqlite3CorruptError(tls, 99031)
+	rc = Xsqlite3CorruptError(tls, 99034)
 __957:
 	;
 __956:
@@ -56781,7 +56779,7 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99516)
+		return Xsqlite3MisuseError(tls, 99519)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -56864,7 +56862,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99616)
+		return Xsqlite3MisuseError(tls, 99619)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -60304,14 +60302,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			;
 			Xsqlite3WalkExpr(tls, pWalker, (*Expr)(unsafe.Pointer(pExpr)).FpLeft)
 			if 0 == Xsqlite3ExprCanBeNull(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
-				if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 7167
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsTrue)
-				} else {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 7172
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
-				}
-				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
+				*(*int32)(unsafe.Pointer(pExpr + 8)) = libc.Bool32(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL)
+				*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IntValue)
+				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_INTEGER)
+
 				i = 0
 				p = pNC
 			__4:
@@ -60355,7 +60349,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_GenCol) != 0 {
-					notValidImpl(tls, pParse, pNC, ts+7178, uintptr(0), pExpr)
+					notValidImpl(tls, pParse, pNC, ts+7167, uintptr(0), pExpr)
 				}
 
 				pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight
@@ -60419,7 +60413,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 						(*Expr)(unsafe.Pointer(pExpr)).FiTable = exprProbability(tls, (*ExprList_item)(unsafe.Pointer(pList+8+1*32)).FpExpr)
 						if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 {
 							Xsqlite3ErrorMsg(tls, pParse,
-								ts+7195, libc.VaList(bp, pExpr))
+								ts+7184, libc.VaList(bp, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
 					} else {
@@ -60435,7 +60429,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 					var auth int32 = Xsqlite3AuthCheck(tls, pParse, SQLITE_FUNCTION, uintptr(0), (*FuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0))
 					if auth != SQLITE_OK {
 						if auth == SQLITE_DENY {
-							Xsqlite3ErrorMsg(tls, pParse, ts+7259,
+							Xsqlite3ErrorMsg(tls, pParse, ts+7248,
 								libc.VaList(bp+8, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
@@ -60449,7 +60443,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				}
 				if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_CONSTANT) == U32(0) {
 					if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_PartIdx|NC_GenCol) != 0 {
-						notValidImpl(tls, pParse, pNC, ts+7295, uintptr(0), pExpr)
+						notValidImpl(tls, pParse, pNC, ts+7284, uintptr(0), pExpr)
 					}
 
 				} else {
@@ -60472,30 +60466,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			if 0 == libc.Bool32(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 				if pDef != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7323, libc.VaList(bp+16, pExpr))
+						ts+7312, libc.VaList(bp+16, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowAgg == 0 ||
 					is_agg != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) ||
 					is_agg != 0 && pWin != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowWin == 0 {
 					var zType uintptr
 					if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 {
-						zType = ts + 7366
+						zType = ts + 7355
 					} else {
-						zType = ts + 7373
+						zType = ts + 7362
 					}
-					Xsqlite3ErrorMsg(tls, pParse, ts+7383, libc.VaList(bp+24, zType, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+7372, libc.VaList(bp+24, zType, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 					is_agg = 0
 				} else if no_such_func != 0 && int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7411, libc.VaList(bp+40, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+7400, libc.VaList(bp+40, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if wrong_num_args != 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7433,
+					Xsqlite3ErrorMsg(tls, pParse, ts+7422,
 						libc.VaList(bp+48, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg == 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7477,
+						ts+7466,
 						libc.VaList(bp+56, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				}
@@ -60567,15 +60561,15 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_SelfRef != 0 {
-					notValidImpl(tls, pParse, pNC, ts+7525, pExpr, pExpr)
+					notValidImpl(tls, pParse, pNC, ts+7514, pExpr, pExpr)
 				} else {
 					Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32)))
 				}
 
 				if nRef != (*NameContext)(unsafe.Pointer(pNC)).FnRef {
 					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_VarSelect)
-					*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_VarSelect
 				}
+				*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_Subquery
 			}
 			break
 
@@ -60583,7 +60577,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 	case TK_VARIABLE:
 		{
 			if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IsCheck|NC_PartIdx|NC_IdxExpr|NC_GenCol) != 0 {
-				notValidImpl(tls, pParse, pNC, ts+7536, pExpr, pExpr)
+				notValidImpl(tls, pParse, pNC, ts+7525, pExpr, pExpr)
 			}
 
 			break
@@ -60714,7 +60708,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3
 	defer tls.Free(24)
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+7547, libc.VaList(bp, i, zType, mx))
+		ts+7536, libc.VaList(bp, i, zType, mx))
 	Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pError)
 }
 
@@ -60734,7 +60728,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	}
 	db = (*Parse)(unsafe.Pointer(pParse)).Fdb
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7603, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7592, 0)
 		return 1
 	}
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
@@ -60769,7 +60763,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 			}
 			if Xsqlite3ExprIsInteger(tls, pE, bp+8) != 0 {
 				if *(*int32)(unsafe.Pointer(bp + 8)) <= 0 || *(*int32)(unsafe.Pointer(bp + 8)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr {
-					resolveOutOfRangeError(tls, pParse, ts+7637, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
+					resolveOutOfRangeError(tls, pParse, ts+7626, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
 					return 1
 				}
 			} else {
@@ -60826,7 +60820,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
 		if int32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2) == 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+7643, libc.VaList(bp, i+1))
+				ts+7632, libc.VaList(bp, i+1))
 			return 1
 		}
 	}
@@ -60854,7 +60848,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr,
 		return 0
 	}
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7704, libc.VaList(bp, zType))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7693, libc.VaList(bp, zType))
 		return 1
 	}
 	pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList
@@ -61068,7 +61062,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		*(*int32)(unsafe.Pointer(bp + 40)) |= NC_UEList
 		if (*Select)(unsafe.Pointer(p)).FpHaving != 0 {
 			if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Aggregate) == U32(0) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7735, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+7724, 0)
 				return WRC_Abort
 			}
 			if Xsqlite3ResolveExprNames(tls, bp, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 {
@@ -61108,7 +61102,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 
 		if (*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) &&
 			isCompound <= nCompound &&
-			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7637) != 0 {
+			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7626) != 0 {
 			return WRC_Abort
 		}
 		if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -61119,7 +61113,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		if pGroupBy != 0 {
 			var pItem uintptr
 
-			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7774) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
+			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7763) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 				return WRC_Abort
 			}
 			i = 0
@@ -61131,7 +61125,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 			{
 				if (*Expr)(unsafe.Pointer((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr)).Fflags&U32(EP_Agg) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7780, 0)
+						ts+7769, 0)
 					return WRC_Abort
 				}
 
@@ -61995,7 +61989,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32
 	var mxHeight int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4))
 	if nHeight > mxHeight {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+7839, libc.VaList(bp, mxHeight))
+			ts+7828, libc.VaList(bp, mxHeight))
 		rc = SQLITE_ERROR
 	}
 	return rc
@@ -62244,10 +62238,10 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList
 			nExprElem = 1
 		}
 		if nExprElem != nElem {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7887,
+			Xsqlite3ErrorMsg(tls, pParse, ts+7876,
 				libc.VaList(bp, nExprElem, func() uintptr {
 					if nExprElem > 1 {
-						return ts + 7931
+						return ts + 7920
 					}
 					return ts + 1547
 				}(), nElem))
@@ -62288,7 +62282,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt
 		!(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 		Xsqlite3ExprDeferredDelete(tls, pParse, pLeft)
 		Xsqlite3ExprDeferredDelete(tls, pParse, pRight)
-		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7933)
+		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7922)
 	} else {
 		return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight)
 	}
@@ -62314,7 +62308,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u
 	if pList != 0 &&
 		(*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) &&
 		!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7935, libc.VaList(bp, pToken))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7924, libc.VaList(bp, pToken))
 	}
 	*(*uintptr)(unsafe.Pointer(pNew + 32)) = pList
 	*(*U32)(unsafe.Pointer(pNew + 4)) |= U32(EP_HasFunc)
@@ -62342,7 +62336,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD
 	if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromDDL) != U32(0) {
 		if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_DIRECT) != U32(0) ||
 			(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) == uint64(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7969, libc.VaList(bp, pExpr))
+			Xsqlite3ErrorMsg(tls, pParse, ts+7958, libc.VaList(bp, pExpr))
 		}
 	}
 }
@@ -62389,7 +62383,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 			}
 
 			if bOk == 0 || *(*I64)(unsafe.Pointer(bp + 8)) < int64(1) || *(*I64)(unsafe.Pointer(bp + 8)) > I64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7989,
+				Xsqlite3ErrorMsg(tls, pParse, ts+7978,
 					libc.VaList(bp, *(*int32)(unsafe.Pointer(db + 136 + 9*4))))
 				Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 				return
@@ -62414,7 +62408,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 	}
 	(*Expr)(unsafe.Pointer(pExpr)).FiColumn = x
 	if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+8032, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+8021, 0)
 		Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 	}
 }
@@ -62989,7 +62983,7 @@ __2:
 	if !(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_SELECT && (*IdList)(unsafe.Pointer(pColumns)).FnId != libc.AssignInt32(&n, Xsqlite3ExprVectorSize(tls, pExpr))) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+8055,
+	Xsqlite3ErrorMsg(tls, pParse, ts+8044,
 		libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n))
 	goto vector_append_error
 __3:
@@ -63112,7 +63106,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr,
 	var mx int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4))
 
 	if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx {
-		Xsqlite3ErrorMsg(tls, pParse, ts+8085, libc.VaList(bp, zObject))
+		Xsqlite3ErrorMsg(tls, pParse, ts+8074, libc.VaList(bp, zObject))
 	}
 }
 
@@ -63168,10 +63162,10 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int
 //	  "false"                        EP_IsFalse
 //	  anything else                  0
 func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 {
-	if Xsqlite3StrICmp(tls, zIn, ts+7167) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+8097) == 0 {
 		return U32(EP_IsTrue)
 	}
-	if Xsqlite3StrICmp(tls, zIn, ts+7172) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+8102) == 0 {
 		return U32(EP_IsFalse)
 	}
 	return U32(0)
@@ -64246,7 +64240,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 {
 	}
 	if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
-		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7933)
+		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7922)
 		if pLimit != 0 {
 			(*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC)
 			pLimit = Xsqlite3PExpr(tls, pParse, TK_NE,
@@ -64684,6 +64678,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr
 func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) {
 	var iAddr int32
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
+	var nErr int32 = (*Parse)(unsafe.Pointer(pParse)).FnErr
 
 	if (*Parse)(unsafe.Pointer(pParse)).FiSelfTab > 0 {
 		iAddr = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Parse)(unsafe.Pointer(pParse)).FiSelfTab-1, 0, regOut)
@@ -64697,6 +64692,9 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr
 	if iAddr != 0 {
 		Xsqlite3VdbeJumpHere(tls, v, iAddr)
 	}
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr > nErr {
+		(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FerrByteOffset = -1
+	}
 }
 
 // Generate code to extract the value of the iCol-th column of a table.
@@ -64915,6 +64913,7 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 	var p uintptr
 	var v uintptr
 	for p = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr; p != 0; p = (*IndexedExpr)(unsafe.Pointer(p)).FpIENext {
+		var exprAff U8
 		var iDataCur int32 = (*IndexedExpr)(unsafe.Pointer(p)).FiDataCur
 		if iDataCur < 0 {
 			continue
@@ -64928,6 +64927,14 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 		if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IndexedExpr)(unsafe.Pointer(p)).FpExpr, iDataCur) != 0 {
 			continue
 		}
+
+		exprAff = U8(Xsqlite3ExprAffinity(tls, pExpr))
+		if int32(exprAff) <= SQLITE_AFF_BLOB && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_BLOB ||
+			int32(exprAff) == SQLITE_AFF_TEXT && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_TEXT ||
+			int32(exprAff) >= SQLITE_AFF_NUMERIC && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_NUMERIC {
+			continue
+		}
+
 		v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 
 		if (*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow != 0 {
@@ -65701,7 +65708,7 @@ __121:
 	if !((*Expr)(unsafe.Pointer(pExpr)).FiTable != n1) {
 		goto __122
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+8055,
+	Xsqlite3ErrorMsg(tls, pParse, ts+8044,
 		libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1))
 __122:
 	;
@@ -65723,11 +65730,10 @@ __49:
 	return target
 
 __50:
-	if !(!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) &&
-		(*Expr)(unsafe.Pointer(pExpr)).FpLeft != 0 &&
-		int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_FUNCTION) {
+	if !!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) {
 		goto __123
 	}
+
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	if !(inReg != target) {
 		goto __125
@@ -65798,13 +65804,19 @@ __129:
 	;
 __127:
 	;
-	addrINR = Xsqlite3VdbeAddOp1(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable)
+	addrINR = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable, 0, target)
 
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = U8(0)
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = okConstFactor
+	if !(inReg != target) {
+		goto __130
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, inReg, target)
+	inReg = target
+__130:
+	;
 	Xsqlite3VdbeJumpHere(tls, v, addrINR)
-	Xsqlite3VdbeChangeP3(tls, v, addrINR, inReg)
 	goto __5
 
 __56:
@@ -65817,15 +65829,15 @@ __56:
 	nExpr = (*ExprList)(unsafe.Pointer(pEList)).FnExpr
 	endLabel = Xsqlite3VdbeMakeLabel(tls, pParse)
 	if !(libc.AssignUintptr(&pX, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) != uintptr(0)) {
-		goto __130
+		goto __131
 	}
 	pDel = Xsqlite3ExprDup(tls, db1, pX, 0)
 	if !((*Sqlite3)(unsafe.Pointer(db1)).FmallocFailed != 0) {
-		goto __131
+		goto __132
 	}
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	goto __5
-__131:
+__132:
 	;
 	exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+40))
 
@@ -65835,22 +65847,22 @@ __131:
 	pTest = bp + 120
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = 0
-__130:
+__131:
 	;
 	i1 = 0
-__132:
+__133:
 	if !(i1 < nExpr-1) {
-		goto __134
+		goto __135
 	}
 	if !(pX != 0) {
-		goto __135
+		goto __136
 	}
 
 	(*Expr)(unsafe.Pointer(bp + 120)).FpRight = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
-	goto __136
-__135:
-	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+	goto __137
 __136:
+	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+__137:
 	;
 	nextCase = Xsqlite3VdbeMakeLabel(tls, pParse)
 
@@ -65859,21 +65871,21 @@ __136:
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(aListelem+uintptr(i1+1)*32)).FpExpr, target)
 	Xsqlite3VdbeGoto(tls, v, endLabel)
 	Xsqlite3VdbeResolveLabel(tls, v, nextCase)
-	goto __133
-__133:
-	i1 = i1 + 2
-	goto __132
 	goto __134
 __134:
+	i1 = i1 + 2
+	goto __133
+	goto __135
+__135:
 	;
 	if !(nExpr&1 != 0) {
-		goto __137
+		goto __138
 	}
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(pEList+8+uintptr(nExpr-1)*32)).FpExpr, target)
-	goto __138
-__137:
-	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+	goto __139
 __138:
+	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+__139:
 	;
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	setDoNotMergeFlagOnCopy(tls, v)
@@ -65883,27 +65895,27 @@ __138:
 __57:
 	;
 	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).FpTriggerTab) != 0) && !(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0)) {
-		goto __139
+		goto __140
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
 		ts+8485, 0)
 	return 0
-__139:
-	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
-		goto __140
-	}
-	Xsqlite3MayAbort(tls, pParse)
 __140:
 	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
 		goto __141
 	}
+	Xsqlite3MayAbort(tls, pParse)
+__141:
+	;
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+		goto __142
+	}
 	Xsqlite3VdbeAddOp4(tls,
 		v, OP_Halt, SQLITE_OK, OE_Ignore, 0, *(*uintptr)(unsafe.Pointer(pExpr + 8)), 0)
 
-	goto __142
-__141:
+	goto __143
+__142:
 	Xsqlite3HaltConstraint(tls, pParse,
 		func() int32 {
 			if (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab != 0 {
@@ -65912,7 +65924,7 @@ __141:
 			return SQLITE_ERROR
 		}(),
 		int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr), *(*uintptr)(unsafe.Pointer(pExpr + 8)), int8(0), uint8(0))
-__142:
+__143:
 	;
 	goto __5
 
@@ -68583,7 +68595,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 		return SQLITE_NOMEM
 	}
 	if Xsqlite3_strnicmp(tls, zSql, ts+11325, 7) != 0 {
-		return Xsqlite3CorruptError(tls, 113494)
+		return Xsqlite3CorruptError(tls, 113516)
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 {
 		if bTemp != 0 {
@@ -68600,7 +68612,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 	}
 	if rc == SQLITE_OK &&
 		((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
-		rc = Xsqlite3CorruptError(tls, 113505)
+		rc = Xsqlite3CorruptError(tls, 113527)
 	}
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
@@ -69520,7 +69532,7 @@ __1:
 		goto __2
 	}
 
-	rc = Xsqlite3CorruptError(tls, 114441)
+	rc = Xsqlite3CorruptError(tls, 114463)
 	goto drop_column_done
 __2:
 	;
@@ -73883,6 +73895,12 @@ __10:
 
 	pExpr = Xsqlite3PExpr(tls, pParse, TK_UPLUS, pExpr, uintptr(0))
 __11:
+	;
+	if !(pExpr != 0 && int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_RAISE) {
+		goto __12
+	}
+	(*Expr)(unsafe.Pointer(pExpr)).FaffExpr = (*Column)(unsafe.Pointer(pCol)).Faffinity
+__12:
 	;
 	Xsqlite3ColumnSetExpr(tls, pParse, pTab, pCol, pExpr)
 	pExpr = uintptr(0)
@@ -75048,7 +75066,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 {
 		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3279, 4) == 0 {
 			return 0
 		}
-		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7536, 10) == 0 {
+		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7525, 10) == 0 {
 			return 0
 		}
 		return 1
@@ -76294,7 +76312,7 @@ __81:
 		goto __101
 	}
 	Xsqlite3ErrorMsg(tls, pParse, ts+14543, 0)
-	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121835)
+	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121859)
 	goto exit_create_index
 __101:
 	;
@@ -78339,7 +78357,7 @@ __20:
 	goto __16
 __15:
 	wcf = U16(WHERE_ONEPASS_DESIRED | WHERE_DUPLICATES_OK)
-	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_VarSelect != 0) {
+	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_Subquery != 0) {
 		goto __23
 	}
 	bComplex = 1
@@ -84804,7 +84822,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca
 	if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) {
 		goto __1
 	}
-	return Xsqlite3MisuseError(tls, 131895)
+	return Xsqlite3MisuseError(tls, 131931)
 __1:
 	;
 	if !(zSql == uintptr(0)) {
@@ -86206,7 +86224,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh
 		} else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) {
 			zType = ts + 17935
 		} else {
-			zType = ts + 7931
+			zType = ts + 7920
 		}
 		Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17937,
 			libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin,
@@ -86373,6 +86391,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p
 	var zErr2 uintptr
 	var k3 int32
 	var pCheck uintptr
+	var jmp7 int32
 	var jmp6 int32
 	var iCol1 int32
 	var uniqOk int32
@@ -87730,7 +87749,7 @@ __221:
 		goto __223
 	}
 	pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7931, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7920, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
 	goto __222
 __222:
 	j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext
@@ -87746,7 +87765,7 @@ __224:
 	if !(i6 < int32(uint64(unsafe.Sizeof(aPragmaName))/uint64(unsafe.Sizeof(PragmaName{})))) {
 		goto __226
 	}
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7931, libc.VaList(bp+272, aPragmaName[i6].FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7920, libc.VaList(bp+272, aPragmaName[i6].FzName))
 	goto __225
 __225:
 	i6++
@@ -88551,80 +88570,94 @@ __350:
 	jmp4 = integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, jmp21)
 
+	if !((*Table)(unsafe.Pointer(pTab9)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) {
+		goto __351
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_IdxRowid, *(*int32)(unsafe.Pointer(bp + 624))+j4, 3)
+	jmp7 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 3, 0, r1+int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)-1)
+
+	Xsqlite3VdbeLoadString(tls, v, 3,
+		ts+18381)
+	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+18417)
+	Xsqlite3VdbeGoto(tls, v, jmp5-1)
+	Xsqlite3VdbeJumpHere(tls, v, jmp7)
+__351:
+	;
 	label6 = 0
 	kk = 0
-__351:
+__352:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __353
-	}
-	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __354
 	}
-	goto __352
-__354:
-	;
-	if !(label6 == 0) {
+	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __355
 	}
-	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+	goto __353
 __355:
+	;
+	if !(label6 == 0) {
+		goto __356
+	}
+	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+__356:
 	;
 	Xsqlite3VdbeAddOp3(tls, v, OP_Column, *(*int32)(unsafe.Pointer(bp + 624))+j4, kk, 3)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Ne, 3, label6, r1+kk)
-	goto __352
-__352:
-	kk++
-	goto __351
 	goto __353
 __353:
+	kk++
+	goto __352
+	goto __354
+__354:
 	;
 	if !(label6 != 0) {
-		goto __356
+		goto __357
 	}
 	jmp6 = Xsqlite3VdbeAddOp0(tls, v, OP_Goto)
 	Xsqlite3VdbeResolveLabel(tls, v, label6)
 	Xsqlite3VdbeLoadString(tls, v, 3, ts+18355)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
-	Xsqlite3VdbeLoadString(tls, v, 4, ts+18381)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+18428)
 	Xsqlite3VdbeGoto(tls, v, jmp5-1)
 	Xsqlite3VdbeJumpHere(tls, v, jmp6)
-__356:
+__357:
 	;
 	if !(int32((*Index)(unsafe.Pointer(pIdx5)).FonError) != OE_None) {
-		goto __357
+		goto __358
 	}
 	uniqOk = Xsqlite3VdbeMakeLabel(tls, pParse)
 	kk = 0
-__358:
+__359:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __360
+		goto __361
 	}
 	iCol1 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2)))
 
 	if !(iCol1 >= 0 && uint32(int32(*(*uint8)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*24 + 8))&0xf>>0)) != 0) {
-		goto __361
+		goto __362
 	}
-	goto __359
-__361:
+	goto __360
+__362:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_IsNull, r1+kk, uniqOk)
 
-	goto __359
-__359:
-	kk++
-	goto __358
 	goto __360
 __360:
+	kk++
+	goto __359
+	goto __361
+__361:
 	;
 	jmp61 = Xsqlite3VdbeAddOp1(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 624))+j4)
 	Xsqlite3VdbeGoto(tls, v, uniqOk)
 	Xsqlite3VdbeJumpHere(tls, v, jmp61)
 	Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, *(*int32)(unsafe.Pointer(bp + 624))+j4, uniqOk, r1,
 		int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol))
-	Xsqlite3VdbeLoadString(tls, v, 3, ts+18408)
+	Xsqlite3VdbeLoadString(tls, v, 3, ts+18455)
 	Xsqlite3VdbeGoto(tls, v, jmp5)
 	Xsqlite3VdbeResolveLabel(tls, v, uniqOk)
-__357:
+__358:
 	;
 	Xsqlite3VdbeJumpHere(tls, v, jmp4)
 	Xsqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 640)))
@@ -88641,20 +88674,20 @@ __346:
 	Xsqlite3VdbeAddOp2(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 620)), loopTop)
 	Xsqlite3VdbeJumpHere(tls, v, loopTop-1)
 	if !!(isQuick != 0) {
-		goto __362
+		goto __363
 	}
-	Xsqlite3VdbeLoadString(tls, v, 2, ts+18435)
+	Xsqlite3VdbeLoadString(tls, v, 2, ts+18482)
 	j4 = 0
 	pIdx5 = (*Table)(unsafe.Pointer(pTab9)).FpIndex
-__363:
+__364:
 	if !(pIdx5 != 0) {
-		goto __365
-	}
-	if !(pPk1 == pIdx5) {
 		goto __366
 	}
-	goto __364
-__366:
+	if !(pPk1 == pIdx5) {
+		goto __367
+	}
+	goto __365
+__367:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_Count, *(*int32)(unsafe.Pointer(bp + 624))+j4, 3)
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 8+j4, 0, 3)
@@ -88663,21 +88696,21 @@ __366:
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 2, 3)
 	integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
-	goto __364
-__364:
-	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
-	j4++
-	goto __363
 	goto __365
 __365:
+	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
+	j4++
+	goto __364
+	goto __366
+__366:
 	;
 	if !(pPk1 != 0) {
-		goto __367
+		goto __368
 	}
 	Xsqlite3ReleaseTempRange(tls, pParse, r2, int32((*Index)(unsafe.Pointer(pPk1)).FnKeyCol))
-__367:
+__368:
 	;
-__362:
+__363:
 	;
 	goto __297
 __297:
@@ -88695,14 +88728,14 @@ __272:
 	;
 	aOp2 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(endCode))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&endCode)), iLn5)
 	if !(aOp2 != 0) {
-		goto __368
+		goto __369
 	}
 	(*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = 1 - *(*int32)(unsafe.Pointer(bp + 616))
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1)
-	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 18464
+	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 18511
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 5*24)).Fp4type = int8(-1)
 	*(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT)
-__368:
+__369:
 	;
 	Xsqlite3VdbeChangeP3(tls, v, 0, Xsqlite3VdbeCurrentAddr(tls, v)-2)
 
@@ -88710,27 +88743,27 @@ __368:
 
 __46:
 	if !!(zRight != 0) {
-		goto __369
+		goto __370
 	}
 	if !(Xsqlite3ReadSchema(tls, pParse) != 0) {
-		goto __371
-	}
-	goto pragma_out
-__371:
-	;
-	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
-	goto __370
-__369:
-	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
 		goto __372
 	}
+	goto pragma_out
+__372:
+	;
+	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
+	goto __371
+__370:
+	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
+		goto __373
+	}
 	pEnc = uintptr(unsafe.Pointer(&encnames1))
-__373:
+__374:
 	if !((*EncName)(unsafe.Pointer(pEnc)).FzName != 0) {
-		goto __375
+		goto __376
 	}
 	if !(0 == Xsqlite3StrICmp(tls, zRight, (*EncName)(unsafe.Pointer(pEnc)).FzName)) {
-		goto __376
+		goto __377
 	}
 	if (*EncName)(unsafe.Pointer(pEnc)).Fenc != 0 {
 		enc = (*EncName)(unsafe.Pointer(pEnc)).Fenc
@@ -88739,25 +88772,25 @@ __373:
 	}
 	(*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema)).Fenc = enc
 	Xsqlite3SetTextEncoding(tls, db, enc)
-	goto __375
-__376:
-	;
-	goto __374
-__374:
-	pEnc += 16
-	goto __373
-	goto __375
-__375:
-	;
-	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
-		goto __377
-	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18467, libc.VaList(bp+456, zRight))
+	goto __376
 __377:
 	;
-__372:
+	goto __375
+__375:
+	pEnc += 16
+	goto __374
+	goto __376
+__376:
 	;
-__370:
+	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
+		goto __378
+	}
+	Xsqlite3ErrorMsg(tls, pParse, ts+18514, libc.VaList(bp+456, zRight))
+__378:
+	;
+__373:
+	;
+__371:
 	;
 	goto __15
 
@@ -88765,15 +88798,15 @@ __47:
 	iCookie = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiArg)
 	Xsqlite3VdbeUsesBtree(tls, v, iDb)
 	if !(zRight != 0 && int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_ReadOnly == 0) {
-		goto __378
+		goto __379
 	}
 
 	aOp3 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(setCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&setCookie)), 0)
 	if !(0 != 0) {
-		goto __380
+		goto __381
 	}
 	goto __15
-__380:
+__381:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp3)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp1 = iDb
@@ -88781,41 +88814,41 @@ __380:
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp3 = Xsqlite3Atoi(tls, zRight)
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp5 = U16(1)
 	if !(iCookie == BTREE_SCHEMA_VERSION && (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0)) {
-		goto __381
+		goto __382
 	}
 
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fopcode = U8(OP_Noop)
-__381:
+__382:
 	;
-	goto __379
-__378:
+	goto __380
+__379:
 	;
 	aOp4 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(readCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&readCookie)), 0)
 	if !(0 != 0) {
-		goto __382
+		goto __383
 	}
 	goto __15
-__382:
+__383:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp4)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp3 = iCookie
 	Xsqlite3VdbeReusable(tls, v)
-__379:
+__380:
 	;
 	goto __15
 
 __48:
 	i10 = 0
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 1
-__383:
+__384:
 	if !(libc.AssignUintptr(&zOpt, Xsqlite3_compileoption_get(tls, libc.PostIncInt32(&i10, 1))) != uintptr(0)) {
-		goto __384
+		goto __385
 	}
 	Xsqlite3VdbeLoadString(tls, v, 1, zOpt)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1)
-	goto __383
-__384:
+	goto __384
+__385:
 	;
 	Xsqlite3VdbeReusable(tls, v)
 
@@ -88830,31 +88863,31 @@ __49:
 	}()
 	eMode2 = SQLITE_CHECKPOINT_PASSIVE
 	if !(zRight != 0) {
-		goto __385
-	}
-	if !(Xsqlite3StrICmp(tls, zRight, ts+17767) == 0) {
 		goto __386
 	}
+	if !(Xsqlite3StrICmp(tls, zRight, ts+17767) == 0) {
+		goto __387
+	}
 	eMode2 = SQLITE_CHECKPOINT_FULL
-	goto __387
-__386:
-	if !(Xsqlite3StrICmp(tls, zRight, ts+18492) == 0) {
-		goto __388
+	goto __388
+__387:
+	if !(Xsqlite3StrICmp(tls, zRight, ts+18539) == 0) {
+		goto __389
 	}
 	eMode2 = SQLITE_CHECKPOINT_RESTART
-	goto __389
-__388:
+	goto __390
+__389:
 	if !(Xsqlite3StrICmp(tls, zRight, ts+17920) == 0) {
-		goto __390
+		goto __391
 	}
 	eMode2 = SQLITE_CHECKPOINT_TRUNCATE
+__391:
+	;
 __390:
 	;
-__389:
+__388:
 	;
-__387:
-	;
-__385:
+__386:
 	;
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 3
 	Xsqlite3VdbeAddOp3(tls, v, OP_Checkpoint, iBt, eMode2, 1)
@@ -88864,10 +88897,10 @@ __385:
 
 __50:
 	if !(zRight != 0) {
-		goto __391
+		goto __392
 	}
 	Xsqlite3_wal_autocheckpoint(tls, db, Xsqlite3Atoi(tls, zRight))
-__391:
+__392:
 	;
 	returnSingleInt(tls, v,
 		func() int64 {
@@ -88887,19 +88920,19 @@ __51:
 
 __52:
 	if !(zRight != 0) {
-		goto __392
+		goto __393
 	}
 	opMask = U32(Xsqlite3Atoi(tls, zRight))
 	if !(opMask&U32(0x02) == U32(0)) {
-		goto __394
+		goto __395
 	}
 	goto __15
-__394:
+__395:
 	;
-	goto __393
-__392:
-	opMask = U32(0xfffe)
+	goto __394
 __393:
+	opMask = U32(0xfffe)
+__394:
 	;
 	iTabCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1)
 	iDbLast = func() int32 {
@@ -88908,86 +88941,86 @@ __393:
 		}
 		return (*Sqlite3)(unsafe.Pointer(db)).FnDb - 1
 	}()
-__395:
+__396:
 	if !(iDb <= iDbLast) {
-		goto __397
-	}
-	if !(iDb == 1) {
 		goto __398
 	}
-	goto __396
-__398:
+	if !(iDb == 1) {
+		goto __399
+	}
+	goto __397
+__399:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
 	pSchema = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema
 	k4 = (*Hash)(unsafe.Pointer(pSchema + 8)).Ffirst
-__399:
+__400:
 	if !(k4 != 0) {
-		goto __401
+		goto __402
 	}
 	pTab10 = (*HashElem)(unsafe.Pointer(k4)).Fdata
 
 	if !((*Table)(unsafe.Pointer(pTab10)).FtabFlags&U32(TF_StatsUsed) == U32(0)) {
-		goto __402
+		goto __403
 	}
-	goto __400
-__402:
+	goto __401
+__403:
 	;
 	szThreshold = LogEst(int32((*Table)(unsafe.Pointer(pTab10)).FnRowLogEst) + 46)
 	pIdx6 = (*Table)(unsafe.Pointer(pTab10)).FpIndex
-__403:
+__404:
 	if !(pIdx6 != 0) {
-		goto __405
-	}
-	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
 		goto __406
 	}
+	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
+		goto __407
+	}
 	szThreshold = int16(0)
-	goto __405
-__406:
+	goto __406
+__407:
 	;
-	goto __404
-__404:
-	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
-	goto __403
 	goto __405
 __405:
+	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
+	goto __404
+	goto __406
+__406:
 	;
 	if !(szThreshold != 0) {
-		goto __407
+		goto __408
 	}
 	Xsqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab10, OP_OpenRead)
 	Xsqlite3VdbeAddOp3(tls, v, OP_IfSmaller, iTabCur,
 		int32(U32(Xsqlite3VdbeCurrentAddr(tls, v)+2)+opMask&U32(1)), int32(szThreshold))
 
-__407:
+__408:
 	;
-	zSubSql = Xsqlite3MPrintf(tls, db, ts+18500,
+	zSubSql = Xsqlite3MPrintf(tls, db, ts+18547,
 		libc.VaList(bp+464, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab10)).FzName))
 	if !(opMask&U32(0x01) != 0) {
-		goto __408
+		goto __409
 	}
 	r11 = Xsqlite3GetTempReg(tls, pParse)
 	Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, r11, 0, zSubSql, -6)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, r11, 1)
-	goto __409
-__408:
-	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+	goto __410
 __409:
+	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+__410:
 	;
-	goto __400
-__400:
-	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
-	goto __399
 	goto __401
 __401:
+	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
+	goto __400
+	goto __402
+__402:
 	;
-	goto __396
-__396:
-	iDb++
-	goto __395
 	goto __397
 __397:
+	iDb++
+	goto __396
+	goto __398
+__398:
 	;
 	Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
 	goto __15
@@ -88995,36 +89028,36 @@ __397:
 __53:
 	;
 	if !(zRight != 0) {
-		goto __410
+		goto __411
 	}
 	Xsqlite3_busy_timeout(tls, db, Xsqlite3Atoi(tls, zRight))
-__410:
+__411:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout))
 	goto __15
 
 __54:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+648) == SQLITE_OK) {
-		goto __411
+		goto __412
 	}
 	Xsqlite3_soft_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 648)))
-__411:
+__412:
 	;
 	returnSingleInt(tls, v, Xsqlite3_soft_heap_limit64(tls, int64(-1)))
 	goto __15
 
 __55:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+656) == SQLITE_OK) {
-		goto __412
+		goto __413
 	}
 	iPrior = Xsqlite3_hard_heap_limit64(tls, int64(-1))
 	if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 656)) > int64(0) && (iPrior == int64(0) || iPrior > *(*Sqlite3_int64)(unsafe.Pointer(bp + 656)))) {
-		goto __413
+		goto __414
 	}
 	Xsqlite3_hard_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 656)))
-__413:
+__414:
 	;
-__412:
+__413:
 	;
 	returnSingleInt(tls, v, Xsqlite3_hard_heap_limit64(tls, int64(-1)))
 	goto __15
@@ -89033,10 +89066,10 @@ __56:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+664) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 664)) >= int64(0)) {
-		goto __414
+		goto __415
 	}
 	Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 664))&int64(0x7fffffff)))
-__414:
+__415:
 	;
 	returnSingleInt(tls, v, int64(Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, -1)))
 	goto __15
@@ -89045,10 +89078,10 @@ __57:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+672) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 672)) >= int64(0)) {
-		goto __415
+		goto __416
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 672)) & int64(0x7fffffff))
-__415:
+__416:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit))
 	goto __15
@@ -89056,10 +89089,10 @@ __415:
 __15:
 	;
 	if !(int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_NoColumns1 != 0 && zRight != 0) {
-		goto __416
+		goto __417
 	}
 
-__416:
+__417:
 	;
 pragma_out:
 	Xsqlite3DbFree(tls, db, zLeft)
@@ -89111,14 +89144,14 @@ var endCode = [7]VdbeOpList{
 	{Fopcode: U8(OP_Goto), Fp2: int8(3)},
 }
 var encnames1 = [9]EncName{
-	{FzName: ts + 18518, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18523, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18529, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18538, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18547, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18555, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18563},
-	{FzName: ts + 18570},
+	{FzName: ts + 18565, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18570, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18576, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18585, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18594, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18602, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18610},
+	{FzName: ts + 18617},
 	{},
 }
 var setCookie = [2]VdbeOpList{
@@ -89170,7 +89203,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	_ = argc
 	_ = argv
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), bp+64, int32(unsafe.Sizeof([200]int8{})), 0)
-	Xsqlite3_str_appendall(tls, bp+32, ts+18576)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18623)
 	i = 0
 	j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName)
 __1:
@@ -89178,7 +89211,7 @@ __1:
 		goto __3
 	}
 	{
-		Xsqlite3_str_appendf(tls, bp+32, ts+18591, libc.VaList(bp, int32(cSep), pragCName[j]))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18638, libc.VaList(bp, int32(cSep), pragCName[j]))
 		cSep = int8(',')
 
 	}
@@ -89191,16 +89224,16 @@ __2:
 __3:
 	;
 	if i == 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18598, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18645, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
 		i++
 	}
 	j = 0
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_Result1 != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18604)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18651)
 		j++
 	}
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(PragFlg_SchemaOpt|PragFlg_SchemaReq) != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18616)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18663)
 		j++
 	}
 	Xsqlite3_str_append(tls, bp+32, ts+5360, 1)
@@ -89383,13 +89416,13 @@ __2:
 __3:
 	;
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4)))
-	Xsqlite3_str_appendall(tls, bp+32, ts+18631)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18678)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18639, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18686, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
 	}
 	Xsqlite3_str_appendall(tls, bp+32, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18643, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18690, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
 	}
 	zSql = Xsqlite3StrAccumFinish(tls, bp+32)
 	if zSql == uintptr(0) {
@@ -89466,12 +89499,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 	} else if *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) != uintptr(0) {
 	} else if (*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask) != 0 {
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db,
-			ts+18647, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
+			ts+18694, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
 				azAlterType[(*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask)-U32(1)],
 				zExtra))
 		(*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR
 	} else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137196)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137249)
 	} else {
 		var z uintptr
 		var zObj uintptr
@@ -89480,19 +89513,19 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 		} else {
 			zObj = ts + 5411
 		}
-		z = Xsqlite3MPrintf(tls, db, ts+18675, libc.VaList(bp+32, zObj))
+		z = Xsqlite3MPrintf(tls, db, ts+18722, libc.VaList(bp+32, zObj))
 		if zExtra != 0 && *(*int8)(unsafe.Pointer(zExtra)) != 0 {
-			z = Xsqlite3MPrintf(tls, db, ts+18706, libc.VaList(bp+40, z, zExtra))
+			z = Xsqlite3MPrintf(tls, db, ts+18753, libc.VaList(bp+40, z, zExtra))
 		}
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137203)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137256)
 	}
 }
 
 var azAlterType = [3]uintptr{
-	ts + 18714,
-	ts + 18721,
-	ts + 18733,
+	ts + 18761,
+	ts + 18768,
+	ts + 18780,
 }
 
 // Check to see if any sibling index (another index on the same table)
@@ -89584,7 +89617,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr
 		var pIndex uintptr
 		pIndex = Xsqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName)
 		if pIndex == uintptr(0) {
-			corruptSchema(tls, pData, argv, ts+18744)
+			corruptSchema(tls, pData, argv, ts+18791)
 		} else if Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2) ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage ||
@@ -89632,7 +89665,7 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl
 	}())
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 16 + 1*8))
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 3*8)) = ts + 8341
-	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18757
+	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18804
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 5*8)) = uintptr(0)
 	(*InitData)(unsafe.Pointer(bp + 64)).Fdb = db
 	(*InitData)(unsafe.Pointer(bp + 64)).FiDb = iDb
@@ -89761,7 +89794,7 @@ __18:
 	if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) {
 		goto __19
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+18829)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+18876)
 	rc = SQLITE_ERROR
 	goto initone_error_out
 __19:
@@ -89775,7 +89808,7 @@ __20:
 	(*InitData)(unsafe.Pointer(bp + 64)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt)
 
 	zSql = Xsqlite3MPrintf(tls, db,
-		ts+18853,
+		ts+18900,
 		libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zSchemaTabName))
 
 	xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth
@@ -90107,7 +90140,7 @@ __4:
 		goto __8
 	}
 	zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName
-	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18887, libc.VaList(bp, zDb))
+	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18934, libc.VaList(bp, zDb))
 
 	goto end_prepare
 __8:
@@ -90137,7 +90170,7 @@ __9:
 	if !(nBytes > mxLen) {
 		goto __12
 	}
-	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18917, 0)
+	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18964, 0)
 	rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG)
 	goto end_prepare
 __12:
@@ -90233,7 +90266,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 137995)
+		return Xsqlite3MisuseError(tls, 138048)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	Xsqlite3BtreeEnterAll(tls, db)
@@ -90332,7 +90365,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 138143)
+		return Xsqlite3MisuseError(tls, 138196)
 	}
 	if nBytes >= 0 {
 		var sz int32
@@ -90659,13 +90692,13 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC
 			zSp2++
 		}
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+18936, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
+			ts+18983, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
 		jointype = JT_INNER
 	}
 	return jointype
 }
 
-var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18966))
+var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 19013))
 var aKeyword = [7]struct {
 	Fi     U8
 	FnChar U8
@@ -90840,7 +90873,7 @@ __1:
 			var pUsing uintptr = uintptr(0)
 			if uint32(int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+19000, libc.VaList(bp, 0))
+					ts+19047, libc.VaList(bp, 0))
 				return 1
 			}
 			for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ {
@@ -90885,7 +90918,7 @@ __1:
 					tableAndColumnIndex(tls, pSrc, 0, i, zName, bp+24, bp+28,
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) == 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+19050, libc.VaList(bp+8, zName))
+						ts+19097, libc.VaList(bp+8, zName))
 					return 1
 				}
 				pE1 = Xsqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 28)))
@@ -90896,7 +90929,7 @@ __1:
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) != 0 {
 						if int32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 60 + 4))&0x400>>10) == 0 ||
 							Xsqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 72)), zName) < 0 {
-							Xsqlite3ErrorMsg(tls, pParse, ts+19114,
+							Xsqlite3ErrorMsg(tls, pParse, ts+19161,
 								libc.VaList(bp+16, zName))
 							break
 						}
@@ -91524,16 +91557,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr {
 	var z uintptr
 	switch id {
 	case TK_ALL:
-		z = ts + 19151
+		z = ts + 19198
 		break
 	case TK_INTERSECT:
-		z = ts + 19161
+		z = ts + 19208
 		break
 	case TK_EXCEPT:
-		z = ts + 19171
+		z = ts + 19218
 		break
 	default:
-		z = ts + 19178
+		z = ts + 19225
 		break
 	}
 	return z
@@ -91543,7 +91576,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19184, libc.VaList(bp, zUsage))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19231, libc.VaList(bp, zUsage))
 }
 
 func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) {
@@ -91569,9 +91602,9 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n
 	var nRefKey int32 = 0
 	var aOutEx uintptr = (*Select)(unsafe.Pointer(p)).FpEList + 8
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19207, libc.VaList(bp, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19254, libc.VaList(bp, func() uintptr {
 		if (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 {
-			return ts + 19238
+			return ts + 19285
 		}
 		return ts + 1547
 	}()))
@@ -91915,7 +91948,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr)
 		} else {
 			var z uintptr = (*ExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32)).FzEName
 			if z == uintptr(0) {
-				z = Xsqlite3MPrintf(tls, db, ts+19253, libc.VaList(bp+16, i+1))
+				z = Xsqlite3MPrintf(tls, db, ts+19300, libc.VaList(bp+16, i+1))
 			} else {
 				z = Xsqlite3DbStrDup(tls, db, z)
 			}
@@ -92015,7 +92048,7 @@ __1:
 		if zName != 0 && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) {
 			zName = Xsqlite3DbStrDup(tls, db, zName)
 		} else {
-			zName = Xsqlite3MPrintf(tls, db, ts+19253, libc.VaList(bp, i+1))
+			zName = Xsqlite3MPrintf(tls, db, ts+19300, libc.VaList(bp, i+1))
 		}
 
 		*(*U32)(unsafe.Pointer(bp + 56)) = U32(0)
@@ -92031,7 +92064,7 @@ __1:
 					nName = j
 				}
 			}
-			zName = Xsqlite3MPrintf(tls, db, ts+19262, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
+			zName = Xsqlite3MPrintf(tls, db, ts+19309, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
 			Xsqlite3ProgressCheck(tls, pParse)
 			if *(*U32)(unsafe.Pointer(bp + 56)) > U32(3) {
 				Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56)
@@ -92114,8 +92147,6 @@ __1:
 		(*Column)(unsafe.Pointer(pCol)).Faffinity = Xsqlite3ExprAffinity(tls, p)
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) <= SQLITE_AFF_NONE {
 			(*Column)(unsafe.Pointer(pCol)).Faffinity = aff
-		} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
-			(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
 		}
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_TEXT && (*Select)(unsafe.Pointer(pSelect)).FpNext != 0 {
 			var m int32 = 0
@@ -92130,12 +92161,15 @@ __1:
 			} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && m&0x02 != 0 {
 				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_BLOB)
 			}
+			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
+				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
+			}
 		}
 		zType = columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0))
 		if zType == uintptr(0) || int32((*Column)(unsafe.Pointer(pCol)).Faffinity) != int32(Xsqlite3AffinityType(tls, zType, uintptr(0))) {
 			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_NUMERIC ||
 				int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_FLEXNUM {
-				zType = ts + 19270
+				zType = ts + 19317
 			} else {
 				zType = uintptr(0)
 				for j = 1; j < SQLITE_N_STDTYPE; j++ {
@@ -92351,7 +92385,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest
 	if !((*Select)(unsafe.Pointer(p)).FpWin != 0) {
 		goto __1
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19274, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19321, 0)
 	return
 __1:
 	;
@@ -92442,7 +92476,7 @@ __12:
 	if !((*Select)(unsafe.Pointer(pFirstRec)).FselFlags&U32(SF_Aggregate) != 0) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19323, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19370, 0)
 	goto end_of_recursive_query
 __15:
 	;
@@ -92462,7 +92496,7 @@ __14:
 	;
 	pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19365, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19412, 0)
 	rc = Xsqlite3Select(tls, pParse, pSetup, bp)
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = p
 	if !(rc != 0) {
@@ -92499,7 +92533,7 @@ __20:
 	Xsqlite3VdbeResolveLabel(tls, v, addrCont)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19371, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19418, 0)
 	Xsqlite3Select(tls, pParse, p, bp)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup
@@ -92533,7 +92567,7 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 		p = (*Select)(unsafe.Pointer(p)).FpPrior
 		nRow = nRow + bShowAll
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19386, libc.VaList(bp, nRow, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19433, libc.VaList(bp, nRow, func() uintptr {
 		if nRow == 1 {
 			return ts + 1547
 		}
@@ -92638,8 +92672,8 @@ __6:
 	if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) {
 		goto __8
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19409, 0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19424, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19456, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19471, 0)
 __8:
 	;
 	switch int32((*Select)(unsafe.Pointer(p)).Fop) {
@@ -92686,7 +92720,7 @@ __16:
 	;
 __15:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19151, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19198, 0)
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+16)
 
@@ -92753,7 +92787,7 @@ __23:
 	pLimit = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 64)).FeDest = op
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19443, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19490, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+64)
 
@@ -92815,7 +92849,7 @@ __26:
 	pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 104)).FiSDParm = tab2
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19443, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19490, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+104)
 
@@ -92968,10 +93002,10 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr)
 	defer tls.Free(8)
 
 	if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Values) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19464, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+19511, 0)
 	} else {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+19510,
+			ts+19557,
 			libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 	}
 }
@@ -93225,8 +93259,8 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	(*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0)
 
 	(*Select)(unsafe.Pointer(pPrior)).FpOrderBy = Xsqlite3ExprListDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7637)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7637)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7626)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7626)
 
 	computeLimitRegisters(tls, pParse, p, labelEnd)
 	if (*Select)(unsafe.Pointer(p)).FiLimit != 0 && op == TK_ALL {
@@ -93253,13 +93287,13 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	Xsqlite3SelectDestInit(tls, bp+8, SRT_Coroutine, regAddrA)
 	Xsqlite3SelectDestInit(tls, bp+48, SRT_Coroutine, regAddrB)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19592, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19639, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	addrSelectA = Xsqlite3VdbeCurrentAddr(tls, v) + 1
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA)
 
 	(*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19603, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19650, 0)
 	Xsqlite3Select(tls, pParse, pPrior, bp+8)
 	Xsqlite3VdbeEndCoroutine(tls, v, regAddrA)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
@@ -93271,7 +93305,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset
 	(*Select)(unsafe.Pointer(p)).FiLimit = regLimitB
 	(*Select)(unsafe.Pointer(p)).FiOffset = 0
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19608, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19655, 0)
 	Xsqlite3Select(tls, pParse, p, bp+48)
 	(*Select)(unsafe.Pointer(p)).FiLimit = savedLimit
 	(*Select)(unsafe.Pointer(p)).FiOffset = savedOffset
@@ -93459,7 +93493,8 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr {
 				Xsqlite3VectorErrorMsg(tls, (*SubstContext)(unsafe.Pointer(pSubst)).FpParse, pCopy)
 			} else {
 				var db uintptr = (*Parse)(unsafe.Pointer((*SubstContext)(unsafe.Pointer(pSubst)).FpParse)).Fdb
-				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 && int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN {
+				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 &&
+					(int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN || (*Expr)(unsafe.Pointer(pCopy)).FiTable != (*SubstContext)(unsafe.Pointer(pSubst)).FiNewTable) {
 					libc.X__builtin___memset_chk(tls, bp, 0, uint64(unsafe.Sizeof(Expr{})), libc.X__builtin_object_size(tls, bp, 0))
 					(*Expr)(unsafe.Pointer(bp)).Fop = U8(TK_IF_NULL_ROW)
 					(*Expr)(unsafe.Pointer(bp)).FpLeft = pCopy
@@ -94358,7 +94393,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	for pIdx = (*Table)(unsafe.Pointer(pTab)).FpIndex; pIdx != 0 && Xsqlite3StrICmp(tls, (*Index)(unsafe.Pointer(pIdx)).FzName, zIndexedBy) != 0; pIdx = (*Index)(unsafe.Pointer(pIdx)).FpNext {
 	}
 	if !(pIdx != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19614, libc.VaList(bp, zIndexedBy, 0))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19661, libc.VaList(bp, zIndexedBy, 0))
 		(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 		return SQLITE_ERROR
 	}
@@ -94441,7 +94476,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 {
 	defer tls.Free(8)
 
 	if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19632, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19679, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
 		return 1
 	}
 	return 0
@@ -94570,7 +94605,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		*(*U32)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= U32(SF_CopyCte)
 
 		if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19655, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
+			Xsqlite3ErrorMsg(tls, pParse, ts+19702, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
 			return 2
 		}
 		libc.SetBitFieldPtr16Uint32(pFrom+60+4, uint32(1), 8, 0x100)
@@ -94593,7 +94628,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 					libc.SetBitFieldPtr16Uint32(pItem+60+4, uint32(1), 6, 0x40)
 					if (*Select)(unsafe.Pointer(pRecTerm)).FselFlags&U32(SF_Recursive) != 0 {
 						Xsqlite3ErrorMsg(tls, pParse,
-							ts+19675, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
+							ts+19722, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
 						return 2
 					}
 					*(*U32)(unsafe.Pointer(pRecTerm + 4)) |= U32(SF_Recursive)
@@ -94609,7 +94644,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 			pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior
 		}
 
-		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19718
+		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19765
 		pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith
 		(*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 48))
 		if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
@@ -94635,7 +94670,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		pEList = (*Select)(unsafe.Pointer(pLeft)).FpEList
 		if (*Cte)(unsafe.Pointer(pCte)).FpCols != 0 {
 			if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr != (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19741,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19788,
 					libc.VaList(bp+24, (*Cte)(unsafe.Pointer(pCte)).FzName, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr))
 				(*Parse)(unsafe.Pointer(pParse)).FpWith = pSavedWith
 				return 2
@@ -94646,9 +94681,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		Xsqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8)
 		if bMayRecursive != 0 {
 			if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19779
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19826
 			} else {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19813
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19860
 			}
 			Xsqlite3WalkSelect(tls, pWalker, pSel)
 		}
@@ -94695,7 +94730,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	if (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 {
 		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3DbStrDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias)
 	} else {
-		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19851, libc.VaList(bp, pFrom))
+		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19898, libc.VaList(bp, pFrom))
 	}
 	for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 {
 		pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior
@@ -94807,7 +94842,7 @@ __1:
 				return WRC_Abort
 			}
 			if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19855,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19902,
 					libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 				(*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0)
 				return WRC_Abort
@@ -94826,7 +94861,7 @@ __1:
 				if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW {
 					if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) &&
 						(*Table)(unsafe.Pointer(pTab)).FpSchema != (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19894,
+						Xsqlite3ErrorMsg(tls, pParse, ts+19941,
 							libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName))
 					}
 					(*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, *(*uintptr)(unsafe.Pointer(pTab + 64)), 0)
@@ -94950,7 +94985,7 @@ __3:
 							if pNew != 0 {
 								var pX uintptr = pNew + 8 + uintptr((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1)*32
 
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19925, libc.VaList(bp+24, zUName))
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19972, libc.VaList(bp+24, zUName))
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(ENAME_TAB), 0, 0x3)
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(1), 7, 0x80)
 							}
@@ -95015,7 +95050,7 @@ __3:
 								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(pNestedFrom+8+uintptr(j)*32)).FzEName)
 
 							} else {
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19930,
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19977,
 									libc.VaList(bp+32, zSchemaName, zTabName, zName))
 
 							}
@@ -95046,9 +95081,9 @@ __3:
 				;
 				if !(tableSeen != 0) {
 					if zTName != 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19939, libc.VaList(bp+72, zTName))
+						Xsqlite3ErrorMsg(tls, pParse, ts+19986, libc.VaList(bp+72, zTName))
 					} else {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19957, 0)
+						Xsqlite3ErrorMsg(tls, pParse, ts+20004, 0)
 					}
 				}
 			}
@@ -95058,7 +95093,7 @@ __3:
 	}
 	if (*Select)(unsafe.Pointer(p)).FpEList != 0 {
 		if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19977, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+20024, 0)
 			return WRC_Abort
 		}
 		if elistFlags&U32(EP_HasFunc|EP_Subquery) != U32(0) {
@@ -95196,7 +95231,7 @@ func optimizeAggregateUseOfIndexedExpr(tls *libc.TLS, pParse uintptr, pSelect ui
 	(*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn = (*AggInfo)(unsafe.Pointer(pAggInfo)).FnAccumulator
 	if int32((*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn) > 0 {
 		if (*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn == 0 {
-			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(0)
+			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpGroupBy)).FnExpr)
 		} else {
 			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(int32((*AggInfo_col)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaCol+uintptr((*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn-1)*24)).FiSorterColumn) + 1)
 		}
@@ -95280,13 +95315,13 @@ __1:
 
 			if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != 1 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+20008, 0)
+					ts+20055, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1
 			} else {
 				var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral,
 					(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -8)
-				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20059, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
+				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20106, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
 			}
 		}
 
@@ -95475,11 +95510,11 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt
 
 	if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 {
 		var bCover int32 = libc.Bool32(pIdx != uintptr(0) && ((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0) || !(int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY)))
-		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20092,
+		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20139,
 			libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName,
 				func() uintptr {
 					if bCover != 0 {
-						return ts + 20104
+						return ts + 20151
 					}
 					return ts + 1547
 				}(),
@@ -95807,7 +95842,7 @@ __5:
 		goto __7
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20127,
+		ts+20174,
 		libc.VaList(bp, func() uintptr {
 			if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 {
 				return (*SrcItem)(unsafe.Pointer(p0)).FzAlias
@@ -95868,7 +95903,7 @@ __14:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20181,
+	Xsqlite3ErrorMsg(tls, pParse, ts+20228,
 		libc.VaList(bp+8, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr))
 	goto select_end
 __15:
@@ -96010,7 +96045,7 @@ __33:
 
 	(*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20221, libc.VaList(bp+32, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20268, libc.VaList(bp+32, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	libc.SetBitFieldPtr16Uint32(pItem1+60+4, uint32(1), 5, 0x20)
@@ -96069,7 +96104,7 @@ __43:
 	;
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20236, libc.VaList(bp+40, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20283, libc.VaList(bp+40, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	if !(onceAddr != 0) {
@@ -96540,9 +96575,9 @@ __101:
 	explainTempTable(tls, pParse,
 		func() uintptr {
 			if (*DistinctCtx)(unsafe.Pointer(bp+136)).FisTnct != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct) == U32(0) {
-				return ts + 20252
+				return ts + 20299
 			}
-			return ts + 20261
+			return ts + 20308
 		}())
 
 	groupBySort = 1
@@ -96893,7 +96928,7 @@ __65:
 	if !(int32((*DistinctCtx)(unsafe.Pointer(bp+136)).FeTnctType) == WHERE_DISTINCT_UNORDERED) {
 		goto __146
 	}
-	explainTempTable(tls, pParse, ts+20252)
+	explainTempTable(tls, pParse, ts+20299)
 __146:
 	;
 	if !((*SortCtx)(unsafe.Pointer(bp+48)).FpOrderBy != 0) {
@@ -96998,7 +97033,7 @@ __5:
 	}
 	Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg)
 	(*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+20270, 0)
+		ts+20317, 0)
 	(*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 	return 1
 __11:
@@ -97231,7 +97266,7 @@ func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2
 	if !((*Token)(unsafe.Pointer(pName2)).Fn > uint32(0)) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20335, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20382, 0)
 	goto trigger_cleanup
 __3:
 	;
@@ -97275,7 +97310,7 @@ __7:
 	goto trigger_cleanup
 __8:
 	;
-	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+20381, *(*uintptr)(unsafe.Pointer(bp + 32)))
+	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+20428, *(*uintptr)(unsafe.Pointer(bp + 32)))
 	if !(Xsqlite3FixSrcList(tls, bp+40, pTableName) != 0) {
 		goto __9
 	}
@@ -97293,7 +97328,7 @@ __10:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB) {
 		goto __11
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20389, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20436, 0)
 	goto trigger_orphan_error
 __11:
 	;
@@ -97305,7 +97340,7 @@ __11:
 	goto trigger_cleanup
 __12:
 	;
-	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+20381, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
+	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+20428, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
 		goto __13
 	}
 	goto trigger_cleanup
@@ -97320,11 +97355,12 @@ __13:
 	if !!(noErr != 0) {
 		goto __16
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20430, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20477, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
 	goto __17
 __16:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
+
 __17:
 	;
 	goto trigger_cleanup
@@ -97335,19 +97371,19 @@ __14:
 	if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+6784, 7) == 0) {
 		goto __18
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20456, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20503, 0)
 	goto trigger_cleanup
 __18:
 	;
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW && tr_tm != TK_INSTEAD) {
 		goto __19
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20494,
+	Xsqlite3ErrorMsg(tls, pParse, ts+20541,
 		libc.VaList(bp+8, func() uintptr {
 			if tr_tm == TK_BEFORE {
-				return ts + 20531
+				return ts + 20578
 			}
-			return ts + 20538
+			return ts + 20585
 		}(), pTableName+8))
 	goto trigger_orphan_error
 __19:
@@ -97356,7 +97392,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20544, libc.VaList(bp+24, pTableName+8))
+		ts+20591, libc.VaList(bp+24, pTableName+8))
 	goto trigger_orphan_error
 __20:
 	;
@@ -97505,7 +97541,7 @@ __2:
 __3:
 	;
 	Xsqlite3TokenInit(tls, bp+56, (*Trigger)(unsafe.Pointer(pTrig)).FzName)
-	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+20381, bp+56)
+	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+20428, bp+56)
 	if !(Xsqlite3FixTriggerStep(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 ||
 		Xsqlite3FixExpr(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0) {
 		goto __4
@@ -97538,7 +97574,7 @@ __9:
 		goto __12
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20590,
+		ts+20637,
 		libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrig)).FzName, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget))
 	goto triggerfinish_cleanup
 __12:
@@ -97563,13 +97599,13 @@ __13:
 	z = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pAll)).Fz, uint64((*Token)(unsafe.Pointer(pAll)).Fn))
 
 	Xsqlite3NestedParse(tls, pParse,
-		ts+20638,
+		ts+20685,
 		libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName,
 			(*Trigger)(unsafe.Pointer(pTrig)).Ftable, z))
 	Xsqlite3DbFree(tls, db, z)
 	Xsqlite3ChangeCookie(tls, pParse, iDb)
 	Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb,
-		Xsqlite3MPrintf(tls, db, ts+20713, libc.VaList(bp+48, zName)), uint16(0))
+		Xsqlite3MPrintf(tls, db, ts+20760, libc.VaList(bp+48, zName)), uint16(0))
 __7:
 	;
 __6:
@@ -97825,7 +97861,7 @@ __5:
 	if !!(noErr != 0) {
 		goto __9
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20742, libc.VaList(bp, pName+8))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20789, libc.VaList(bp, pName+8))
 	goto __10
 __9:
 	Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb)
@@ -97878,7 +97914,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) {
 
 	if libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse)) != uintptr(0) {
 		Xsqlite3NestedParse(tls, pParse,
-			ts+20762,
+			ts+20809,
 			libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Trigger)(unsafe.Pointer(pTrigger)).FzName))
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 		Xsqlite3VdbeAddOp4(tls, v, OP_DropTrigger, iDb, 0, 0, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, 0)
@@ -97992,12 +98028,12 @@ __9:
 		goto __15
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20824,
+		ts+20871,
 		libc.VaList(bp, func() uintptr {
 			if op == TK_DELETE {
-				return ts + 20872
+				return ts + 20919
 			}
-			return ts + 20879
+			return ts + 20926
 		}()))
 __15:
 	;
@@ -98111,7 +98147,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 {
 	if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK {
 		return 0
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20886, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20933, 0)
 	return 1
 }
 
@@ -98177,7 +98213,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab
 	}
 	Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(bp)).FpEList)
 	pNew = sqlite3ExpandReturning(tls, pParse, (*Returning)(unsafe.Pointer(pReturning)).FpReturnEL, pTab)
-	if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) {
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 {
 		libc.X__builtin___memset_chk(tls, bp+240, 0, uint64(unsafe.Sizeof(NameContext{})), libc.X__builtin_object_size(tls, bp+240, 0))
 		if (*Returning)(unsafe.Pointer(pReturning)).FnRetCol == 0 {
 			(*Returning)(unsafe.Pointer(pReturning)).FnRetCol = (*ExprList)(unsafe.Pointer(pNew)).FnExpr
@@ -98341,7 +98377,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt
 	if v != 0 {
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 {
 			Xsqlite3VdbeChangeP4(tls, v, -1,
-				Xsqlite3MPrintf(tls, db, ts+20928, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
+				Xsqlite3MPrintf(tls, db, ts+20975, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
 		}
 
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FpWhen != 0 {
@@ -98934,7 +98970,7 @@ __25:
 	}
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20942,
+		ts+20989,
 		libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*24)).FzCnName))
 	goto update_cleanup
 __27:
@@ -98966,7 +99002,7 @@ __21:
 	iRowidExpr = i
 	goto __30
 __29:
-	Xsqlite3ErrorMsg(tls, pParse, ts+20978, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
+	Xsqlite3ErrorMsg(tls, pParse, ts+21025, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
 	(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 	goto update_cleanup
 __30:
@@ -99292,7 +99328,12 @@ __74:
 	goto __77
 __76:
 	flags = WHERE_ONEPASS_DESIRED
-	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) && !(pTrigger != 0) && !(hasFK != 0) && !(chngKey != 0) && !(*(*int32)(unsafe.Pointer(bp + 104)) != 0)) {
+	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) &&
+		!(pTrigger != 0) &&
+		!(hasFK != 0) &&
+		!(chngKey != 0) &&
+		!(*(*int32)(unsafe.Pointer(bp + 104)) != 0) &&
+		(*NameContext)(unsafe.Pointer(bp+40)).FncFlags&NC_Subquery == 0) {
 		goto __78
 	}
 	flags = flags | WHERE_ONEPASS_MULTIROW
@@ -99846,7 +99887,7 @@ __168:
 	if !(regRowCount != 0) {
 		goto __169
 	}
-	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20997)
+	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+21044)
 __169:
 	;
 update_cleanup:
@@ -100152,10 +100193,10 @@ __1:
 			if nClause == 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) {
 				*(*int8)(unsafe.Pointer(bp + 216)) = int8(0)
 			} else {
-				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216, ts+21010, libc.VaList(bp, nClause+1))
+				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216, ts+21057, libc.VaList(bp, nClause+1))
 			}
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+21014, libc.VaList(bp+8, bp+216))
+				ts+21061, libc.VaList(bp+8, bp+216))
 			return SQLITE_ERROR
 		}
 
@@ -100278,7 +100319,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 {
 		var zSubSql uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
 
 		if zSubSql != 0 &&
-			(libc.Xstrncmp(tls, zSubSql, ts+21087, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+21091, uint64(3)) == 0) {
+			(libc.Xstrncmp(tls, zSubSql, ts+21134, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+21138, uint64(3)) == 0) {
 			rc = execSql(tls, db, pzErrMsg, zSubSql)
 			if rc != SQLITE_OK {
 				break
@@ -100426,14 +100467,14 @@ func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p
 	if !!(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) {
 		goto __1
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+21095)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+21142)
 	return SQLITE_ERROR
 __1:
 	;
 	if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) {
 		goto __2
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+21135)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+21182)
 	return SQLITE_ERROR
 __2:
 	;
@@ -100444,7 +100485,7 @@ __2:
 	if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) {
 		goto __5
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+21178)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+21225)
 	return SQLITE_ERROR
 __5:
 	;
@@ -100472,7 +100513,7 @@ __4:
 	isMemDb = Xsqlite3PagerIsMemdb(tls, Xsqlite3BtreePager(tls, pMain))
 
 	nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb
-	rc = execSqlF(tls, db, pzErrMsg, ts+21196, libc.VaList(bp, zOut))
+	rc = execSqlF(tls, db, pzErrMsg, ts+21243, libc.VaList(bp, zOut))
 	(*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags
 	if !(rc != SQLITE_OK) {
 		goto __6
@@ -100492,7 +100533,7 @@ __6:
 		goto __8
 	}
 	rc = SQLITE_ERROR
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+21219)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+21266)
 	goto end_of_vacuum
 __8:
 	;
@@ -100552,7 +100593,7 @@ __12:
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb)
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+21246,
+		ts+21293,
 		libc.VaList(bp+8, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __13
@@ -100561,7 +100602,7 @@ __12:
 __13:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+21354,
+		ts+21401,
 		libc.VaList(bp+16, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __14
@@ -100572,7 +100613,7 @@ __14:
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
 
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+21408,
+		ts+21455,
 		libc.VaList(bp+24, zDbMain))
 
 	*(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))
@@ -100583,7 +100624,7 @@ __14:
 __15:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+21559,
+		ts+21606,
 		libc.VaList(bp+32, zDbMain))
 	if !(rc != 0) {
 		goto __16
@@ -101012,11 +101053,11 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		if pEnd != 0 {
 			(*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32((int64((*Token)(unsafe.Pointer(pEnd)).Fz)-int64((*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz))/1)) + (*Token)(unsafe.Pointer(pEnd)).Fn
 		}
-		zStmt = Xsqlite3MPrintf(tls, db, ts+21689, libc.VaList(bp, pParse+272))
+		zStmt = Xsqlite3MPrintf(tls, db, ts+21736, libc.VaList(bp, pParse+272))
 
 		iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema)
 		Xsqlite3NestedParse(tls, pParse,
-			ts+21713,
+			ts+21760,
 			libc.VaList(bp+8, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
@@ -101026,7 +101067,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 
 		Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
-		zWhere = Xsqlite3MPrintf(tls, db, ts+21812, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
+		zWhere = Xsqlite3MPrintf(tls, db, ts+21859, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
 		Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0))
 		Xsqlite3DbFree(tls, db, zStmt)
 
@@ -101087,7 +101128,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	for pCtx = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx; pCtx != 0; pCtx = (*VtabCtx)(unsafe.Pointer(pCtx)).FpPrior {
 		if (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db,
-				ts+21831, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
+				ts+21878, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 			return SQLITE_LOCKED
 		}
 	}
@@ -101115,9 +101156,11 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FbDeclared = 0
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32
+	(*Table)(unsafe.Pointer(pTab)).FnTabRef++
 	rc = (*struct {
 		f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32
 	})(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+64)
+	Xsqlite3DeleteTable(tls, db, pTab)
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior
 	if rc == SQLITE_NOMEM {
 		Xsqlite3OomFault(tls, db)
@@ -101125,7 +101168,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 
 	if SQLITE_OK != rc {
 		if *(*uintptr)(unsafe.Pointer(bp + 64)) == uintptr(0) {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21873, libc.VaList(bp+8, zModuleName))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21920, libc.VaList(bp+8, zModuleName))
 		} else {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+3658, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64))))
 			Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
@@ -101137,7 +101180,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 		(*Module)(unsafe.Pointer(pMod)).FnRefModule++
 		(*VTable)(unsafe.Pointer(pVTable)).FnRef = 1
 		if (*VtabCtx)(unsafe.Pointer(bp+32)).FbDeclared == 0 {
-			var zFormat uintptr = ts + 21903
+			var zFormat uintptr = ts + 21950
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName))
 			Xsqlite3VtabUnlock(tls, pVTable)
 			rc = SQLITE_ERROR
@@ -101211,7 +101254,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32
 
 	if !(pMod != 0) {
 		var zModule uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pTab + 64 + 8))))
-		Xsqlite3ErrorMsg(tls, pParse, ts+21949, libc.VaList(bp, zModule))
+		Xsqlite3ErrorMsg(tls, pParse, ts+21996, libc.VaList(bp, zModule))
 		rc = SQLITE_ERROR
 	} else {
 		*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
@@ -101269,7 +101312,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr,
 	pMod = Xsqlite3HashFind(tls, db+576, zMod)
 
 	if pMod == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21949, libc.VaList(bp, zMod))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21996, libc.VaList(bp, zMod))
 		rc = SQLITE_ERROR
 	} else {
 		rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr)
@@ -101303,7 +101346,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3
 	if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
 		Xsqlite3Error(tls, db, SQLITE_MISUSE)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
-		return Xsqlite3MisuseError(tls, 151030)
+		return Xsqlite3MisuseError(tls, 151102)
 	}
 	pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab
 
@@ -101756,7 +101799,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	if !(p != 0) {
-		rc = Xsqlite3MisuseError(tls, 151521)
+		rc = Xsqlite3MisuseError(tls, 151593)
 	} else {
 		ap = va
 		switch op {
@@ -101783,7 +101826,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 			fallthrough
 		default:
 			{
-				rc = Xsqlite3MisuseError(tls, 151539)
+				rc = Xsqlite3MisuseError(tls, 151611)
 				break
 
 			}
@@ -102014,7 +102057,7 @@ type InLoop = struct {
 func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr {
 	i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2)))
 	if i == -2 {
-		return ts + 21968
+		return ts + 22015
 	}
 	if i == -1 {
 		return ts + 16673
@@ -102026,11 +102069,11 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	var i int32
 
 	if bAnd != 0 {
-		Xsqlite3_str_append(tls, pStr, ts+21975, 5)
+		Xsqlite3_str_append(tls, pStr, ts+22022, 5)
 	}
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21981, 1)
+		Xsqlite3_str_append(tls, pStr, ts+22028, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -102045,7 +102088,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	Xsqlite3_str_append(tls, pStr, zOp, 1)
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21981, 1)
+		Xsqlite3_str_append(tls, pStr, ts+22028, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -102071,27 +102114,27 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) {
 	if int32(nEq) == 0 && (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT|WHERE_TOP_LIMIT) == U32(0) {
 		return
 	}
-	Xsqlite3_str_append(tls, pStr, ts+21983, 2)
+	Xsqlite3_str_append(tls, pStr, ts+22030, 2)
 	for i = 0; i < int32(nEq); i++ {
 		var z uintptr = explainIndexColumnName(tls, pIndex, i)
 		if i != 0 {
-			Xsqlite3_str_append(tls, pStr, ts+21975, 5)
+			Xsqlite3_str_append(tls, pStr, ts+22022, 5)
 		}
 		Xsqlite3_str_appendf(tls, pStr, func() uintptr {
 			if i >= int32(nSkip) {
-				return ts + 21986
+				return ts + 22033
 			}
-			return ts + 21991
+			return ts + 22038
 		}(), libc.VaList(bp, z))
 	}
 
 	j = i
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21999)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+22046)
 		i = 1
 	}
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_TOP_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+22001)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+22048)
 	}
 	Xsqlite3_str_append(tls, pStr, ts+5360, 1)
 }
@@ -102134,11 +102177,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 
 		Xsqlite3StrAccumInit(tls, bp+64, db, bp+96, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 		(*StrAccum)(unsafe.Pointer(bp + 64)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-		Xsqlite3_str_appendf(tls, bp+64, ts+22003, libc.VaList(bp, func() uintptr {
+		Xsqlite3_str_appendf(tls, bp+64, ts+22050, libc.VaList(bp, func() uintptr {
 			if isSearch != 0 {
-				return ts + 22009
+				return ts + 22056
 			}
-			return ts + 22016
+			return ts + 22063
 		}(), pItem))
 		if flags&U32(WHERE_IPK|WHERE_VIRTUALTABLE) == U32(0) {
 			var zFmt uintptr = uintptr(0)
@@ -102151,40 +102194,40 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 					zFmt = ts + 11379
 				}
 			} else if flags&U32(WHERE_PARTIALIDX) != 0 {
-				zFmt = ts + 22021
+				zFmt = ts + 22068
 			} else if flags&U32(WHERE_AUTO_INDEX) != 0 {
-				zFmt = ts + 22054
+				zFmt = ts + 22101
 			} else if flags&U32(WHERE_IDX_ONLY) != 0 {
-				zFmt = ts + 22079
+				zFmt = ts + 22126
 			} else {
-				zFmt = ts + 22097
+				zFmt = ts + 22144
 			}
 			if zFmt != 0 {
-				Xsqlite3_str_append(tls, bp+64, ts+22106, 7)
+				Xsqlite3_str_append(tls, bp+64, ts+22153, 7)
 				Xsqlite3_str_appendf(tls, bp+64, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName))
 				explainIndexRange(tls, bp+64, pLoop)
 			}
 		} else if flags&U32(WHERE_IPK) != U32(0) && flags&U32(WHERE_CONSTRAINT) != U32(0) {
 			var cRangeOp int8
 			var zRowid uintptr = ts + 16673
-			Xsqlite3_str_appendf(tls, bp+64, ts+22114, libc.VaList(bp+24, zRowid))
+			Xsqlite3_str_appendf(tls, bp+64, ts+22161, libc.VaList(bp+24, zRowid))
 			if flags&U32(WHERE_COLUMN_EQ|WHERE_COLUMN_IN) != 0 {
 				cRangeOp = int8('=')
 			} else if flags&U32(WHERE_BOTH_LIMIT) == U32(WHERE_BOTH_LIMIT) {
-				Xsqlite3_str_appendf(tls, bp+64, ts+22145, libc.VaList(bp+32, zRowid))
+				Xsqlite3_str_appendf(tls, bp+64, ts+22192, libc.VaList(bp+32, zRowid))
 				cRangeOp = int8('<')
 			} else if flags&U32(WHERE_BTM_LIMIT) != 0 {
 				cRangeOp = int8('>')
 			} else {
 				cRangeOp = int8('<')
 			}
-			Xsqlite3_str_appendf(tls, bp+64, ts+22155, libc.VaList(bp+40, int32(cRangeOp)))
+			Xsqlite3_str_appendf(tls, bp+64, ts+22202, libc.VaList(bp+40, int32(cRangeOp)))
 		} else if flags&U32(WHERE_VIRTUALTABLE) != U32(0) {
-			Xsqlite3_str_appendf(tls, bp+64, ts+22160,
+			Xsqlite3_str_appendf(tls, bp+64, ts+22207,
 				libc.VaList(bp+48, *(*int32)(unsafe.Pointer(pLoop + 24)), *(*uintptr)(unsafe.Pointer(pLoop + 24 + 16))))
 		}
 		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&JT_LEFT != 0 {
-			Xsqlite3_str_appendf(tls, bp+64, ts+22187, 0)
+			Xsqlite3_str_appendf(tls, bp+64, ts+22234, 0)
 		}
 		zMsg = Xsqlite3StrAccumFinish(tls, bp+64)
 
@@ -102216,22 +102259,22 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp
 
 	Xsqlite3StrAccumInit(tls, bp+24, db, bp+56, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 	(*StrAccum)(unsafe.Pointer(bp + 24)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-	Xsqlite3_str_appendf(tls, bp+24, ts+22198, libc.VaList(bp, pItem))
+	Xsqlite3_str_appendf(tls, bp+24, ts+22245, libc.VaList(bp, pItem))
 	pLoop = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_IPK) != 0 {
 		var pTab uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FpTab
 		if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21986, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
+			Xsqlite3_str_appendf(tls, bp+24, ts+22033, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
 		} else {
-			Xsqlite3_str_appendf(tls, bp+24, ts+22219, 0)
+			Xsqlite3_str_appendf(tls, bp+24, ts+22266, 0)
 		}
 	} else {
 		for i = int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip); i < int32(*(*U16)(unsafe.Pointer(pLoop + 24))); i++ {
 			var z uintptr = explainIndexColumnName(tls, *(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)), i)
 			if i > int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip) {
-				Xsqlite3_str_append(tls, bp+24, ts+21975, 5)
+				Xsqlite3_str_append(tls, bp+24, ts+22022, 5)
 			}
-			Xsqlite3_str_appendf(tls, bp+24, ts+21986, libc.VaList(bp+16, z))
+			Xsqlite3_str_appendf(tls, bp+24, ts+22033, libc.VaList(bp+16, z))
 		}
 	}
 	Xsqlite3_str_append(tls, bp+24, ts+5360, 1)
@@ -103828,7 +103871,7 @@ __134:
 	;
 __126:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22227, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22274, 0)
 	ii = 0
 __135:
 	if !(ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm) {
@@ -103856,7 +103899,7 @@ __139:
 	pOrExpr = pAndExpr
 __140:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22242, libc.VaList(bp, ii+1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22289, libc.VaList(bp, ii+1))
 
 	pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0),
 		uint16(WHERE_OR_SUBCLAUSE), iCovCur)
@@ -104374,7 +104417,7 @@ func Xsqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
 	var mAll Bitmask = uint64(0)
 	var k int32
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22251, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+22298, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
 
 	for k = 0; k < iLevel; k++ {
 		var iIdxCur int32
@@ -104734,7 +104777,7 @@ var aOp = [4]Op2{
 	{FzOp: ts + 16522, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)},
 	{FzOp: ts + 15850, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)},
 	{FzOp: ts + 15370, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)},
-	{FzOp: ts + 22265, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
+	{FzOp: ts + 22312, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
 }
 
 func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) {
@@ -105224,12 +105267,12 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			extraRight = x - uint64(1)
 
 			if prereqAll>>1 >= x {
-				Xsqlite3ErrorMsg(tls, pParse, ts+22272, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+22319, 0)
 				return
 			}
 		} else if prereqAll>>1 >= x {
 			if (*SrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*SrcItem)(unsafe.Pointer(pSrc+8)).Ffg.Fjointype)&JT_LTORJ != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+22272, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+22319, 0)
 				return
 			}
 			*(*U32)(unsafe.Pointer(pExpr + 4)) &= libc.Uint32FromInt32(libc.CplInt32(EP_InnerON))
@@ -105308,7 +105351,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_OuterON) != U32(0)) &&
 			0 == Xsqlite3ExprCanBeNull(tls, pLeft) {
 			(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
-			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 7172
+			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 8102
 			*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0)
@@ -105402,7 +105445,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 		}
 		zCollSeqName = func() uintptr {
 			if *(*int32)(unsafe.Pointer(bp + 20)) != 0 {
-				return ts + 22313
+				return ts + 22360
 			}
 			return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))
 		}()
@@ -105778,7 +105821,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 			k++
 		}
 		if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+22320,
+			Xsqlite3ErrorMsg(tls, pParse, ts+22367,
 				libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j))
 			return
 		}
@@ -105794,7 +105837,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 		pRhs = Xsqlite3PExpr(tls, pParse, TK_UPLUS,
 			Xsqlite3ExprDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*ExprList_item)(unsafe.Pointer(pArgs+8+uintptr(j)*32)).FpExpr, 0), uintptr(0))
 		pTerm = Xsqlite3PExpr(tls, pParse, TK_EQ, pColRef, pRhs)
-		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ) != 0 {
+		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ|JT_RIGHT) != 0 {
 			joinType = U32(EP_OuterON)
 		} else {
 			joinType = U32(EP_InnerON)
@@ -106512,7 +106555,7 @@ __4:
 		goto __6
 	}
 	Xsqlite3_log(tls, SQLITE_WARNING|int32(1)<<8,
-		ts+22356, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
+		ts+22403, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
 			(*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*24)).FzCnName))
 	sentWarning = U8(1)
 __6:
@@ -106583,7 +106626,7 @@ __13:
 __14:
 	;
 	*(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)) = pIdx
-	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 22382
+	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 22429
 	(*Index)(unsafe.Pointer(pIdx)).FpTable = pTable
 	n = 0
 	idxCols = uint64(0)
@@ -106757,6 +106800,10 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 	var pLoop uintptr = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	var iCur int32
+	var saved_pIdxEpr uintptr
+
+	saved_pIdxEpr = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = uintptr(0)
 
 	addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once)
 	for __ccgo := true; __ccgo; __ccgo = iLevel < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel) {
@@ -106800,9 +106847,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 			var r1 int32 = Xsqlite3GetTempRange(tls, pParse, n)
 			var jj int32
 			for jj = 0; jj < n; jj++ {
-				var iCol int32 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(jj)*2)))
-
-				Xsqlite3ExprCodeGetColumnOfTable(tls, v, (*Index)(unsafe.Pointer(pIdx)).FpTable, iCur, iCol, r1+jj)
+				Xsqlite3ExprCodeLoadIndexColumn(tls, pParse, pIdx, iCur, jj, r1+jj)
 			}
 			Xsqlite3VdbeAddOp4Int(tls, v, OP_FilterAdd, (*WhereLevel)(unsafe.Pointer(pLevel)).FregFilter, 0, r1, n)
 			Xsqlite3ReleaseTempRange(tls, pParse, r1, n)
@@ -106836,6 +106881,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 		}
 	}
 	Xsqlite3VdbeJumpHere(tls, v, addrOnce)
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = saved_pIdxEpr
 }
 
 func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr {
@@ -107094,11 +107140,16 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro
 
 	_ = pParse
 
+	if !((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) && int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol)
+	} else {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnColumn)
+	}
 	nField = func() int32 {
-		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < (*Index)(unsafe.Pointer(pIdx)).FnSample {
+		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < nField {
 			return int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField)
 		}
-		return (*Index)(unsafe.Pointer(pIdx)).FnSample
+		return nField
 	}()
 	iCol = 0
 	iSample = (*Index)(unsafe.Pointer(pIdx)).FnSample * nField
@@ -108679,7 +108730,7 @@ __4:
 				j >= (*WhereClause)(unsafe.Pointer(pWC)).FnTerm ||
 				*(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) ||
 				int32((*sqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+22393, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+				Xsqlite3ErrorMsg(tls, pParse, ts+22440, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 				return SQLITE_ERROR
 			}
@@ -108737,7 +108788,7 @@ __6:
 	(*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm = U16(mxTerm + 1)
 	for i = 0; i <= mxTerm; i++ {
 		if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+22393, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+			Xsqlite3ErrorMsg(tls, pParse, ts+22440, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 			return SQLITE_ERROR
 		}
@@ -109135,7 +109186,7 @@ __1:
 		mPrior = mPrior | (*WhereLoop)(unsafe.Pointer(pNew)).FmaskSelf
 		if rc != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 			if rc == SQLITE_DONE {
-				Xsqlite3_log(tls, SQLITE_WARNING, ts+22419, 0)
+				Xsqlite3_log(tls, SQLITE_WARNING, ts+22466, 0)
 				rc = SQLITE_OK
 			} else {
 				goto __3
@@ -109742,7 +109793,7 @@ __3:
 	}
 
 	if nFrom == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22454, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+22501, 0)
 		Xsqlite3DbFreeNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pSpace)
 		return SQLITE_ERROR
 	}
@@ -109777,6 +109828,10 @@ __3:
 			if int32((*WherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*ExprList)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr {
 				(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_ORDERED)
 			}
+			if (*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 &&
+				int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr {
+				(*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = I8((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr)
+			}
 		} else {
 			(*WhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*WherePath)(unsafe.Pointer(pFrom)).FrevLoop
 			if int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 {
@@ -110071,6 +110126,9 @@ func whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur in
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCur = iIdxCur
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCol = i
 		(*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow = U8(bMaybeNullRow)
+		if Xsqlite3IndexAffinityStr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pIdx) != 0 {
+			(*IndexedExpr)(unsafe.Pointer(p)).Faff = U8(*(*int8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(i))))
+		}
 		(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = p
 		if (*IndexedExpr)(unsafe.Pointer(p)).FpIENext == uintptr(0) {
 			Xsqlite3ParserAddCleanup(tls, pParse, *(*uintptr)(unsafe.Pointer(&struct {
@@ -110223,7 +110281,7 @@ __1:
 	if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22472, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+22519, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
 	return uintptr(0)
 __2:
 	;
@@ -110286,7 +110344,7 @@ __6:
 	(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE)
 __7:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22500, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22547, 0)
 	goto __5
 __4:
 	ii = 0
@@ -111168,7 +111226,7 @@ __1:
 
 error_out:
 	Xsqlite3_result_error(tls,
-		pCtx, ts+22518, -1)
+		pCtx, ts+22565, -1)
 }
 
 func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
@@ -111301,7 +111359,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 			(*NtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 			if (*NtileCtx)(unsafe.Pointer(p)).FnParam <= int64(0) {
 				Xsqlite3_result_error(tls,
-					pCtx, ts+22574, -1)
+					pCtx, ts+22621, -1)
 			}
 		}
 		(*NtileCtx)(unsafe.Pointer(p)).FnTotal++
@@ -111391,17 +111449,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
 	}
 }
 
-var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22619))
-var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22630))
-var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22641))
-var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22646))
-var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22659))
-var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22669))
-var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22675))
-var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22686))
-var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22696))
-var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22708))
-var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22713))
+var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22666))
+var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22677))
+var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22688))
+var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22693))
+var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22706))
+var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22716))
+var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22722))
+var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22733))
+var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22743))
+var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22755))
+var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22760))
 
 func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) {
 	_ = p
@@ -111447,7 +111505,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin
 		}
 	}
 	if p == uintptr(0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22717, libc.VaList(bp, zName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+22764, libc.VaList(bp, zName))
 	}
 	return p
 }
@@ -111491,12 +111549,12 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin
 		((*Window)(unsafe.Pointer(pWin)).FpStart != 0 || (*Window)(unsafe.Pointer(pWin)).FpEnd != 0) &&
 		((*Window)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*ExprList)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != 1) {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+22736, 0)
+			ts+22783, 0)
 	} else if (*FuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
 		if (*Window)(unsafe.Pointer(pWin)).FpFilter != 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22807, 0)
+				ts+22854, 0)
 		} else {
 			*(*[8]WindowUpdate)(unsafe.Pointer(bp)) = [8]WindowUpdate{
 				{FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT},
@@ -111723,7 +111781,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr
 
 	if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) {
 		Xsqlite3ErrorMsg(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse,
-			ts+22870, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
+			ts+22917, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
 	}
 	return WRC_Continue
 }
@@ -111839,7 +111897,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 {
 
 		if *(*uintptr)(unsafe.Pointer(bp + 48)) == uintptr(0) {
 			*(*uintptr)(unsafe.Pointer(bp + 48)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0),
-				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7933))
+				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7922))
 		}
 
 		pSub = Xsqlite3SelectNew(tls,
@@ -111954,7 +112012,7 @@ __1:
 		eStart == TK_FOLLOWING && (eEnd == TK_PRECEDING || eEnd == TK_CURRENT)) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22896, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22943, 0)
 	goto windowAllocErr
 __2:
 	;
@@ -112019,15 +112077,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint
 			var zErr uintptr = uintptr(0)
 
 			if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 {
-				zErr = ts + 22928
+				zErr = ts + 22975
 			} else if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0 {
-				zErr = ts + 22945
+				zErr = ts + 22992
 			} else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 {
-				zErr = ts + 22961
+				zErr = ts + 23008
 			}
 			if zErr != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+22981, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
+					ts+23028, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
 			} else {
 				(*Window)(unsafe.Pointer(pWin)).FpPartition = Xsqlite3ExprListDup(tls, db, (*Window)(unsafe.Pointer(pExist)).FpPartition, 0)
 				if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 {
@@ -112048,7 +112106,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr
 		(*Window)(unsafe.Pointer(pWin)).FpOwner = p
 		if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Distinct) != 0 && int32((*Window)(unsafe.Pointer(pWin)).FeFrmType) != TK_FILTER {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+23014, 0)
+				ts+23061, 0)
 		}
 	} else {
 		Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin)
@@ -112204,11 +112262,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) {
 }
 
 var azErr = [5]uintptr{
-	ts + 23061,
-	ts + 23114,
-	ts + 22518,
-	ts + 23165,
-	ts + 23217,
+	ts + 23108,
+	ts + 23161,
+	ts + 22565,
+	ts + 23212,
+	ts + 23264,
 }
 var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge}
 
@@ -113603,19 +113661,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) {
 			}
 			cnt++
 			if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*Select)(unsafe.Pointer(pLoop)).FpLimit != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+23267,
+				Xsqlite3ErrorMsg(tls, pParse, ts+23314,
 					libc.VaList(bp, func() uintptr {
 						if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) {
-							return ts + 23309
+							return ts + 23356
 						}
-						return ts + 23318
+						return ts + 23365
 					}(),
 						Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(pNext)).Fop))))
 				break
 			}
 		}
 		if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_MultiValue) == U32(0) && libc.AssignInt32(&mxSelect, *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 4*4))) > 0 && cnt > mxSelect {
-			Xsqlite3ErrorMsg(tls, pParse, ts+23324, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+23371, 0)
 		}
 	}
 
@@ -113683,7 +113741,7 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT
 	var p uintptr = Xsqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0))
 	if (hasCollate != 0 || sortOrder != -1) &&
 		int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23358,
+		Xsqlite3ErrorMsg(tls, pParse, ts+23405,
 			libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz))
 	}
 	Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1)
@@ -114780,7 +114838,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) {
 		yy_pop_parser_stack(tls, yypParser)
 	}
 
-	Xsqlite3ErrorMsg(tls, pParse, ts+23396, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+23443, 0)
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
 }
@@ -115759,7 +115817,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(TF_WithoutRowid | TF_NoVisibleRowid)
 				} else {
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+23418, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23465, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			break
@@ -115769,7 +115827,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(TF_Strict)
 				} else {
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+23418, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23465, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			*(*U32)(unsafe.Pointer(yymsp + 8)) = *(*U32)(unsafe.Pointer(bp + 40))
@@ -116512,7 +116570,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 		case uint32(157):
 			{
 				Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8)), yymsp+libc.UintptrFromInt32(-4)*24+8)
-				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+23445)
+				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+23492)
 				if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) != 0 {
 					var pFromClause uintptr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8))
 					if (*SrcList)(unsafe.Pointer(pFromClause)).FnSrc > 1 {
@@ -116676,7 +116734,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*Token)(unsafe.Pointer(bp + 128)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 
 					if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+23454, libc.VaList(bp+32, bp+128))
+						Xsqlite3ErrorMsg(tls, pParse, ts+23501, libc.VaList(bp+32, bp+128))
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0)
 					} else {
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0))
@@ -116893,9 +116951,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					Xsqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
 					*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_STRING, func() uintptr {
 						if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8)) != 0 {
-							return ts + 7167
+							return ts + 8097
 						}
-						return ts + 7172
+						return ts + 8102
 					}())
 					if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) != 0 {
 						Xsqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
@@ -117179,19 +117237,19 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 			{
 				*(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23478, 0)
+					ts+23525, 0)
 			}
 			break
 		case uint32(271):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23573, 0)
+					ts+23620, 0)
 			}
 			break
 		case uint32(272):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23657, 0)
+					ts+23704, 0)
 			}
 			break
 		case uint32(273):
@@ -117570,9 +117628,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To
 
 	_ = yymajor
 	if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8)).Fz)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23454, libc.VaList(bp, bp+8))
+		Xsqlite3ErrorMsg(tls, pParse, ts+23501, libc.VaList(bp, bp+8))
 	} else {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23742, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+23789, 0)
 	}
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
@@ -118340,7 +118398,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 			} else {
 				(*Token)(unsafe.Pointer(bp + 2464)).Fz = zSql
 				(*Token)(unsafe.Pointer(bp + 2464)).Fn = uint32(n)
-				Xsqlite3ErrorMsg(tls, pParse, ts+23759, libc.VaList(bp, bp+2464))
+				Xsqlite3ErrorMsg(tls, pParse, ts+23806, libc.VaList(bp, bp+2464))
 				break
 			}
 		}
@@ -118363,7 +118421,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 		if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) {
 			(*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+3658, libc.VaList(bp+8, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc)))
 		}
-		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23784, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
+		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23831, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
 		nErr++
 	}
 	(*Parse)(unsafe.Pointer(pParse)).FzTail = zSql
@@ -118536,7 +118594,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'C':
 						{
-							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23795, 6) == 0 {
+							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23842, 6) == 0 {
 								token = U8(TkCREATE)
 							} else {
 								token = U8(TkOTHER)
@@ -118549,11 +118607,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'T':
 						{
-							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+20381, 7) == 0 {
+							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+20428, 7) == 0 {
 								token = U8(TkTRIGGER)
-							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23802, 4) == 0 {
+							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23849, 4) == 0 {
 								token = U8(TkTEMP)
-							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23807, 9) == 0 {
+							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23854, 9) == 0 {
 								token = U8(TkTEMP)
 							} else {
 								token = U8(TkOTHER)
@@ -118566,9 +118624,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'E':
 						{
-							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23817, 3) == 0 {
+							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23864, 3) == 0 {
 								token = U8(TkEND)
-							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23821, 7) == 0 {
+							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23868, 7) == 0 {
 								token = U8(TkEXPLAIN)
 							} else {
 								token = U8(TkOTHER)
@@ -118802,7 +118860,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 {
 	var rc int32 = SQLITE_OK
 
 	if Xsqlite3Config.FisInit != 0 {
-		return Xsqlite3MisuseError(tls, 174337)
+		return Xsqlite3MisuseError(tls, 174426)
 	}
 
 	ap = va
@@ -119377,7 +119435,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 		return SQLITE_OK
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 175111)
+		return Xsqlite3MisuseError(tls, 175200)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 {
@@ -119392,7 +119450,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 
 	if !(forceZombie != 0) && connectionIsBusy(tls, db) != 0 {
 		Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-			ts+23829, 0)
+			ts+23876, 0)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		return SQLITE_BUSY
 	}
@@ -119583,23 +119641,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) {
 // Return a static string that describes the kind of error specified in the
 // argument.
 func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
-	var zErr uintptr = ts + 23897
+	var zErr uintptr = ts + 23944
 	switch rc {
 	case SQLITE_ABORT | int32(2)<<8:
 		{
-			zErr = ts + 23911
+			zErr = ts + 23958
 			break
 
 		}
 	case SQLITE_ROW:
 		{
-			zErr = ts + 23933
+			zErr = ts + 23980
 			break
 
 		}
 	case SQLITE_DONE:
 		{
-			zErr = ts + 23955
+			zErr = ts + 24002
 			break
 
 		}
@@ -119617,35 +119675,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
 }
 
 var aMsg = [29]uintptr{
-	ts + 23978,
-	ts + 23991,
+	ts + 24025,
+	ts + 24038,
 	uintptr(0),
-	ts + 24007,
-	ts + 24032,
-	ts + 24046,
-	ts + 24065,
+	ts + 24054,
+	ts + 24079,
+	ts + 24093,
+	ts + 24112,
 	ts + 1483,
-	ts + 24090,
-	ts + 24127,
-	ts + 24139,
-	ts + 24154,
-	ts + 24187,
-	ts + 24205,
-	ts + 24230,
-	ts + 24259,
+	ts + 24137,
+	ts + 24174,
+	ts + 24186,
+	ts + 24201,
+	ts + 24234,
+	ts + 24252,
+	ts + 24277,
+	ts + 24306,
 	uintptr(0),
 	ts + 6241,
 	ts + 5737,
-	ts + 24276,
-	ts + 24294,
-	ts + 24312,
+	ts + 24323,
+	ts + 24341,
+	ts + 24359,
 	uintptr(0),
-	ts + 24346,
-	uintptr(0),
-	ts + 24367,
 	ts + 24393,
-	ts + 24416,
-	ts + 24437,
+	uintptr(0),
+	ts + 24414,
+	ts + 24440,
+	ts + 24463,
+	ts + 24484,
 }
 
 func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 {
@@ -119766,7 +119824,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 		libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) ||
 		(nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) ||
 		255 < Xsqlite3Strlen30(tls, zFunctionName) {
-		return Xsqlite3MisuseError(tls, 175758)
+		return Xsqlite3MisuseError(tls, 175847)
 	}
 
 	extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS)
@@ -119811,7 +119869,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 	if p != 0 && (*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK) == U32(enc) && int32((*FuncDef)(unsafe.Pointer(p)).FnArg) == nArg {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24453, 0)
+				ts+24500, 0)
 
 			return SQLITE_BUSY
 		} else {
@@ -119928,7 +119986,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs
 	_ = NotUsed
 	_ = NotUsed2
 	zErr = Xsqlite3_mprintf(tls,
-		ts+24516, libc.VaList(bp, zName))
+		ts+24563, libc.VaList(bp, zName))
 	Xsqlite3_result_error(tls, context, zErr, -1)
 	Xsqlite3_free(tls, zErr)
 }
@@ -120164,7 +120222,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
 	}
 	if iDb < 0 {
 		rc = SQLITE_ERROR
-		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24567, libc.VaList(bp, zDb))
+		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24614, libc.VaList(bp, zDb))
 	} else {
 		(*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0
 		rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt)
@@ -120257,7 +120315,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr {
 		return Xsqlite3ErrStr(tls, SQLITE_NOMEM)
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176503))
+		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176592))
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -120327,7 +120385,7 @@ var misuse = [34]U16{
 // passed to this function, we assume a malloc() failed during sqlite3_open().
 func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176582)
+		return Xsqlite3MisuseError(tls, 176671)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -120337,7 +120395,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 
 func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176591)
+		return Xsqlite3MisuseError(tls, 176680)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -120369,14 +120427,14 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint
 		enc2 = SQLITE_UTF16LE
 	}
 	if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE {
-		return Xsqlite3MisuseError(tls, 176639)
+		return Xsqlite3MisuseError(tls, 176728)
 	}
 
 	pColl = Xsqlite3FindCollSeq(tls, db, U8(enc2), zName, 0)
 	if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24588, 0)
+				ts+24635, 0)
 			return SQLITE_BUSY
 		}
 		Xsqlite3ExpirePreparedStatements(tls, db, 0)
@@ -120506,7 +120564,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u
 
 	if !((flags&uint32(SQLITE_OPEN_URI) != 0 ||
 		Xsqlite3Config.FbOpenUri != 0) &&
-		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24656, uint64(5)) == 0) {
+		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24703, uint64(5)) == 0) {
 		goto __1
 	}
 	iOut = 0
@@ -120551,10 +120609,10 @@ __8:
 	goto __8
 __9:
 	;
-	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24662, zUri+7, uint64(9)) != 0)) {
+	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24709, zUri+7, uint64(9)) != 0)) {
 		goto __10
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24672,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24719,
 		libc.VaList(bp, iIn-7, zUri+7))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
@@ -120659,7 +120717,7 @@ __27:
 	zVal = zOpt + uintptr(nOpt+1)
 	nVal = Xsqlite3Strlen30(tls, zVal)
 
-	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24700, zOpt, uint64(3)) == 0) {
+	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24747, zOpt, uint64(3)) == 0) {
 		goto __29
 	}
 	zVfs = zVal
@@ -120670,17 +120728,17 @@ __29:
 	mask = 0
 	limit = 0
 
-	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24704, zOpt, uint64(5)) == 0) {
+	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24751, zOpt, uint64(5)) == 0) {
 		goto __31
 	}
 
 	mask = SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE
 	aMode = uintptr(unsafe.Pointer(&aCacheMode))
 	limit = mask
-	zModeType = ts + 24704
+	zModeType = ts + 24751
 __31:
 	;
-	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24710, zOpt, uint64(4)) == 0) {
+	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24757, zOpt, uint64(4)) == 0) {
 		goto __32
 	}
 
@@ -120718,7 +120776,7 @@ __36:
 	if !(mode == 0) {
 		goto __38
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24715, libc.VaList(bp+16, zModeType, zVal))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24762, libc.VaList(bp+16, zModeType, zVal))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
 __38:
@@ -120726,7 +120784,7 @@ __38:
 	if !(mode&libc.CplInt32(SQLITE_OPEN_MEMORY) > limit) {
 		goto __39
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24735,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24782,
 		libc.VaList(bp+32, zModeType, zVal))
 	rc = SQLITE_PERM
 	goto parse_uri_out
@@ -120766,7 +120824,7 @@ __2:
 	if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) {
 		goto __42
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24759, libc.VaList(bp+48, zVfs))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24806, libc.VaList(bp+48, zVfs))
 	rc = SQLITE_ERROR
 __42:
 	;
@@ -120790,14 +120848,14 @@ type OpenMode = struct {
 }
 
 var aCacheMode = [3]OpenMode{
-	{Fz: ts + 24775, Fmode: SQLITE_OPEN_SHAREDCACHE},
-	{Fz: ts + 24782, Fmode: SQLITE_OPEN_PRIVATECACHE},
+	{Fz: ts + 24822, Fmode: SQLITE_OPEN_SHAREDCACHE},
+	{Fz: ts + 24829, Fmode: SQLITE_OPEN_PRIVATECACHE},
 	{},
 }
 var aOpenMode = [5]OpenMode{
-	{Fz: ts + 24790, Fmode: SQLITE_OPEN_READONLY},
-	{Fz: ts + 24793, Fmode: SQLITE_OPEN_READWRITE},
-	{Fz: ts + 24796, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
+	{Fz: ts + 24837, Fmode: SQLITE_OPEN_READONLY},
+	{Fz: ts + 24840, Fmode: SQLITE_OPEN_READWRITE},
+	{Fz: ts + 24843, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
 	{Fz: ts + 17784, Fmode: SQLITE_OPEN_MEMORY},
 	{},
 }
@@ -120944,10 +121002,10 @@ __12:
 	createCollation(tls, db, uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{binCollFunc})), uintptr(0))
-	createCollation(tls, db, ts+22313, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+22360, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{nocaseCollatingFunc})), uintptr(0))
-	createCollation(tls, db, ts+24800, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+24847, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{rtrimCollFunc})), uintptr(0))
 	if !((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) {
@@ -120961,7 +121019,7 @@ __15:
 	if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) {
 		goto __16
 	}
-	rc = Xsqlite3MisuseError(tls, 177308)
+	rc = Xsqlite3MisuseError(tls, 177397)
 	goto __17
 __16:
 	rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24)
@@ -121014,7 +121072,7 @@ __22:
 
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 6844
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).Fsafety_level = U8(SQLITE_DEFAULT_SYNCHRONOUS + 1)
-	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23802
+	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23849
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF)
 
 	(*Sqlite3)(unsafe.Pointer(db)).FeOpenState = U8(SQLITE_STATE_OPEN)
@@ -121119,7 +121177,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 {
 		return rc
 	}
 	if zFilename == uintptr(0) {
-		zFilename = ts + 24806
+		zFilename = ts + 24853
 	}
 	pVal = Xsqlite3ValueNew(tls, uintptr(0))
 	Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0))
@@ -121222,21 +121280,21 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr)
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	Xsqlite3_log(tls, iErr, ts+24809,
+	Xsqlite3_log(tls, iErr, ts+24856,
 		libc.VaList(bp, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls)))
 	return iErr
 }
 
 func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24834)
+	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24881)
 }
 
 func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24854)
+	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24901)
 }
 
 func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24861)
+	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24908)
 }
 
 // This is a convenience routine that makes sure that all thread-specific
@@ -121394,7 +121452,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24)))
-	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24878, libc.VaList(bp, zTableName,
+	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24925, libc.VaList(bp, zTableName,
 		zColumnName))
 	rc = SQLITE_ERROR
 __20:
@@ -122050,7 +122108,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 {
 
 	azCompileOpt = Xsqlite3CompileOptions(tls, bp)
 
-	if Xsqlite3_strnicmp(tls, zOptName, ts+24906, 7) == 0 {
+	if Xsqlite3_strnicmp(tls, zOptName, ts+24953, 7) == 0 {
 		zOptName += uintptr(7)
 	}
 	n = Xsqlite3Strlen30(tls, zOptName)
@@ -122168,7 +122226,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin
 
 	Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr {
 		if rc != 0 {
-			return ts + 24914
+			return ts + 24961
 		}
 		return uintptr(0)
 	}(), 0)
@@ -122346,7 +122404,7 @@ type JsonParse1 = struct {
 type JsonParse = JsonParse1
 
 var jsonType = [8]uintptr{
-	ts + 6584, ts + 7167, ts + 7172, ts + 6594, ts + 6589, ts + 8408, ts + 24937, ts + 24943,
+	ts + 6584, ts + 8097, ts + 8102, ts + 6594, ts + 6589, ts + 8408, ts + 24984, ts + 24990,
 }
 
 func jsonZero(tls *libc.TLS, p uintptr) {
@@ -122499,7 +122557,7 @@ __10:
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0' + int32(c)>>4)
-	c = uint8(*(*int8)(unsafe.Pointer(ts + 24950 + uintptr(int32(c)&0xf))))
+	c = uint8(*(*int8)(unsafe.Pointer(ts + 24997 + uintptr(int32(c)&0xf))))
 __8:
 	;
 __6:
@@ -122554,7 +122612,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) {
 	default:
 		{
 			if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 {
-				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24967, -1)
+				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+25014, -1)
 				(*JsonString)(unsafe.Pointer(p)).FbErr = U8(2)
 				jsonReset(tls, p)
 			}
@@ -122618,13 +122676,13 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr
 		}
 	case JSON_TRUE:
 		{
-			jsonAppendRaw(tls, pOut, ts+7167, uint32(4))
+			jsonAppendRaw(tls, pOut, ts+8097, uint32(4))
 			break
 
 		}
 	case JSON_FALSE:
 		{
-			jsonAppendRaw(tls, pOut, ts+7172, uint32(5))
+			jsonAppendRaw(tls, pOut, ts+8102, uint32(5))
 			break
 
 		}
@@ -123174,12 +123232,12 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 't' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+7167, uint64(4)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+8097, uint64(4)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(4)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_TRUE), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 'f' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+7172, uint64(5)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+8102, uint64(5)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(5)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_FALSE), uint32(0), uintptr(0))
 		return int32(i + U32(5))
@@ -123280,7 +123338,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32
 			if (*JsonParse)(unsafe.Pointer(pParse)).Foom != 0 {
 				Xsqlite3_result_error_nomem(tls, pCtx)
 			} else {
-				Xsqlite3_result_error(tls, pCtx, ts+24996, -1)
+				Xsqlite3_result_error(tls, pCtx, ts+25043, -1)
 			}
 		}
 		jsonParseReset(tls, pParse)
@@ -123586,7 +123644,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt
 	}
 	if int32(*(*int8)(unsafe.Pointer(zPath))) == '.' {
 		jsonParseAddNode(tls, pParse, uint32(JSON_OBJECT), uint32(0), uintptr(0))
-	} else if libc.Xstrncmp(tls, zPath, ts+25011, uint64(3)) == 0 {
+	} else if libc.Xstrncmp(tls, zPath, ts+25058, uint64(3)) == 0 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0))
 	} else {
 		return uintptr(0)
@@ -123601,7 +123659,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	return Xsqlite3_mprintf(tls, ts+25015, libc.VaList(bp, zErr))
+	return Xsqlite3_mprintf(tls, ts+25062, libc.VaList(bp, zErr))
 }
 
 func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr {
@@ -123655,7 +123713,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+25041,
+	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+25088,
 		libc.VaList(bp, zFuncName))
 	Xsqlite3_result_error(tls, pCtx, zMsg, -1)
 	Xsqlite3_free(tls, zMsg)
@@ -123760,11 +123818,11 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 			if int32(*(*int8)(unsafe.Pointer(zPath))) != '$' {
 				jsonInit(tls, bp, ctx)
 				if int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zPath)))])&0x04 != 0 {
-					jsonAppendRaw(tls, bp, ts+25084, uint32(2))
+					jsonAppendRaw(tls, bp, ts+25131, uint32(2))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendRaw(tls, bp, ts+5401, uint32(2))
 				} else {
-					jsonAppendRaw(tls, bp, ts+25087, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
+					jsonAppendRaw(tls, bp, ts+25134, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendChar(tls, bp, int8(0))
 				}
@@ -123921,14 +123979,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 
 	if argc&1 != 0 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+25090, -1)
+			ts+25137, -1)
 		return
 	}
 	jsonInit(tls, bp, ctx)
 	jsonAppendChar(tls, bp, int8('{'))
 	for i = 0; i < argc; i = i + 2 {
 		if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != SQLITE_TEXT {
-			Xsqlite3_result_error(tls, ctx, ts+25141, -1)
+			Xsqlite3_result_error(tls, ctx, ts+25188, -1)
 			jsonReset(tls, bp)
 			return
 		}
@@ -124098,9 +124156,9 @@ __1:
 	}
 	jsonWrongNumArgs(tls, ctx, func() uintptr {
 		if bIsSet != 0 {
-			return ts + 25175
+			return ts + 25222
 		}
-		return ts + 25179
+		return ts + 25226
 	}())
 	return
 __2:
@@ -124233,7 +124291,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+25186, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+25233, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -124330,7 +124388,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+25189, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+25236, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -124374,7 +124432,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u
 	_ = argc
 	_ = pAux
 	rc = Xsqlite3_declare_vtab(tls, db,
-		ts+25192)
+		ts+25239)
 	if rc == SQLITE_OK {
 		pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{}))))
 		if pNew == uintptr(0) {
@@ -124505,7 +124563,7 @@ func jsonAppendObjectPathElement(tls *libc.TLS, pStr uintptr, pNode uintptr) {
 			nn = nn - 2
 		}
 	}
-	jsonPrintf(tls, nn+2, pStr, ts+25275, libc.VaList(bp, nn, z))
+	jsonPrintf(tls, nn+2, pStr, ts+25322, libc.VaList(bp, nn, z))
 }
 
 func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
@@ -124524,7 +124582,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
 	pNode = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(i)*16
 	pUp = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(iUp)*16
 	if int32((*JsonNode)(unsafe.Pointer(pUp)).FeType) == JSON_ARRAY {
-		jsonPrintf(tls, 30, pStr, ts+25281, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
+		jsonPrintf(tls, 30, pStr, ts+25328, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
 	} else {
 		if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_LABEL == 0 {
 			pNode -= 16
@@ -124620,7 +124678,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 					jsonAppendChar(tls, bp+8, int8('$'))
 				}
 				if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY {
-					jsonPrintf(tls, 30, bp+8, ts+25281, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
+					jsonPrintf(tls, 30, bp+8, ts+25328, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
 				} else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT {
 					jsonAppendObjectPathElement(tls, bp+8, pThis)
 				}
@@ -124644,7 +124702,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 		{
 			var zRoot uintptr = (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot
 			if zRoot == uintptr(0) {
-				zRoot = ts + 25286
+				zRoot = ts + 25333
 			}
 			Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0))
 			break
@@ -124766,7 +124824,7 @@ func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, ar
 		var rc int32 = SQLITE_NOMEM
 		if int32((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.Foom) == 0 {
 			Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg)
-			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24996, 0)
+			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+25043, 0)
 			if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 {
 				rc = SQLITE_ERROR
 			}
@@ -124861,25 +124919,25 @@ func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) {
 }
 
 var aJsonFunc = [19]FuncDef{
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25288},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25293},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25304},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25304},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25322},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 25335},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 25338},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25342},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25354},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25366},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25377},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25388},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25400},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 25413},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25422},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25422},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25432},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25443},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25460}}
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25335},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25340},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25351},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25351},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25369},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 25382},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 25385},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25389},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25401},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25413},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25424},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25435},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25447},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 25460},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25469},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25469},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25479},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25490},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25507}}
 
 // Register the JSON table-valued functions
 func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 {
@@ -124898,8 +124956,8 @@ var aMod = [2]struct {
 	FzName   uintptr
 	FpModule uintptr
 }{
-	{FzName: ts + 25478, FpModule: 0},
-	{FzName: ts + 25488, FpModule: 0},
+	{FzName: ts + 25525, FpModule: 0},
+	{FzName: ts + 25535, FpModule: 0},
 }
 
 type Rtree1 = struct {
@@ -125159,11 +125217,11 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo
 		}
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) {
-		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25498, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25545, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		if zTab == uintptr(0) {
 			return SQLITE_NOMEM
 		}
-		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25506, iNode, 0,
+		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25553, iNode, 0,
 			pRtree+112)
 		Xsqlite3_free(tls, zTab)
 	}
@@ -125374,7 +125432,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32
 	var zCreate uintptr = Xsqlite3_mprintf(tls,
-		ts+25511,
+		ts+25558,
 		libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
@@ -126077,7 +126135,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 {
 	var pSrc uintptr
 	var pInfo uintptr
 
-	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25593)
+	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25640)
 	if pSrc == uintptr(0) {
 		return SQLITE_ERROR
 	}
@@ -127418,7 +127476,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+25607, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+	zSql = Xsqlite3_mprintf(tls, ts+25654, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 	if zSql != 0 {
 		rc = Xsqlite3_prepare_v2(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -1, bp+56, uintptr(0))
 	} else {
@@ -127430,12 +127488,12 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 		if iCol == 0 {
 			var zCol uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 0)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25627, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
+				ts+25674, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
 		} else {
 			var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol)
 			var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol+1)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25659, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
+				ts+25706, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
 		}
 	}
 
@@ -127661,7 +127719,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32 = SQLITE_NOMEM
 	var zSql uintptr = Xsqlite3_mprintf(tls,
-		ts+25696, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
+		ts+25743, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
 	if zSql != 0 {
 		nodeBlobReset(tls, pRtree)
 		rc = Xsqlite3_exec(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0))
@@ -127684,7 +127742,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 {
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	var zFmt uintptr = ts + 25841
+	var zFmt uintptr = ts + 25888
 	var zSql uintptr
 
 	var rc int32
@@ -127732,7 +127790,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName1 = [3]uintptr{
-	ts + 25897, ts + 5463, ts + 16673,
+	ts + 25944, ts + 5463, ts + 16673,
 }
 
 var rtreeModule = Sqlite3_module{
@@ -127775,19 +127833,19 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		var p uintptr = Xsqlite3_str_new(tls, db)
 		var ii int32
 		Xsqlite3_str_appendf(tls, p,
-			ts+25902,
+			ts+25949,
 			libc.VaList(bp, zDb, zPrefix))
 		for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
-			Xsqlite3_str_appendf(tls, p, ts+25964, libc.VaList(bp+16, ii))
+			Xsqlite3_str_appendf(tls, p, ts+26011, libc.VaList(bp+16, ii))
 		}
 		Xsqlite3_str_appendf(tls, p,
-			ts+25969,
+			ts+26016,
 			libc.VaList(bp+24, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+26033,
+			ts+26080,
 			libc.VaList(bp+40, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+26103,
+			ts+26150,
 			libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))
 		zCreate = Xsqlite3_str_finish(tls, p)
 		if !(zCreate != 0) {
@@ -127816,7 +127874,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		if i != 3 || int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) == 0 {
 			zFormat = azSql[i]
 		} else {
-			zFormat = ts + 26152
+			zFormat = ts + 26199
 		}
 		zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix))
 		if zSql != 0 {
@@ -127828,7 +127886,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FnAux != 0 {
 		(*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls,
-			ts+26260,
+			ts+26307,
 			libc.VaList(bp+96, zDb, zPrefix))
 		if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -127836,18 +127894,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 			var p uintptr = Xsqlite3_str_new(tls, db)
 			var ii int32
 			var zSql uintptr
-			Xsqlite3_str_appendf(tls, p, ts+26305, libc.VaList(bp+112, zDb, zPrefix))
+			Xsqlite3_str_appendf(tls, p, ts+26352, libc.VaList(bp+112, zDb, zPrefix))
 			for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
 				if ii != 0 {
 					Xsqlite3_str_append(tls, p, ts+13170, 1)
 				}
 				if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) {
-					Xsqlite3_str_appendf(tls, p, ts+26332, libc.VaList(bp+128, ii, ii+2, ii))
+					Xsqlite3_str_appendf(tls, p, ts+26379, libc.VaList(bp+128, ii, ii+2, ii))
 				} else {
-					Xsqlite3_str_appendf(tls, p, ts+26354, libc.VaList(bp+152, ii, ii+2))
+					Xsqlite3_str_appendf(tls, p, ts+26401, libc.VaList(bp+152, ii, ii+2))
 				}
 			}
-			Xsqlite3_str_appendf(tls, p, ts+26362, 0)
+			Xsqlite3_str_appendf(tls, p, ts+26409, 0)
 			zSql = Xsqlite3_str_finish(tls, p)
 			if zSql == uintptr(0) {
 				rc = SQLITE_NOMEM
@@ -127862,14 +127920,14 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 }
 
 var azSql = [8]uintptr{
-	ts + 26378,
-	ts + 26431,
-	ts + 26476,
-	ts + 26528,
-	ts + 26582,
-	ts + 26627,
-	ts + 26685,
-	ts + 26740,
+	ts + 26425,
+	ts + 26478,
+	ts + 26523,
+	ts + 26575,
+	ts + 26629,
+	ts + 26674,
+	ts + 26732,
+	ts + 26787,
 }
 
 func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 {
@@ -127898,7 +127956,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 	var zSql uintptr
 	if isCreate != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = 0
-		zSql = Xsqlite3_mprintf(tls, ts+26787, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
+		zSql = Xsqlite3_mprintf(tls, ts+26834, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
 		rc = getIntFromStmt(tls, db, zSql, bp+48)
 		if rc == SQLITE_OK {
 			(*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp + 48)) - 64
@@ -127910,7 +127968,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		}
 	} else {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+26807,
+			ts+26854,
 			libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		rc = getIntFromStmt(tls, db, zSql, pRtree+32)
 		if rc != SQLITE_OK {
@@ -127918,7 +127976,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		} else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < 512-64 {
 			rc = SQLITE_CORRUPT | int32(1)<<8
 
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26864,
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26911,
 				libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		}
 	}
@@ -127960,10 +128018,10 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr
 	ii = 4
 	*(*[5]uintptr)(unsafe.Pointer(bp + 96)) = [5]uintptr{
 		uintptr(0),
-		ts + 26899,
-		ts + 26942,
-		ts + 26977,
-		ts + 27013,
+		ts + 26946,
+		ts + 26989,
+		ts + 27024,
+		ts + 27060,
 	}
 
 	if !(argc < 6 || argc > RTREE_MAX_AUX_COLUMN+3) {
@@ -127994,7 +128052,7 @@ __2:
 	libc.X__builtin___memcpy_chk(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName), libc.X__builtin_object_size(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, 0))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+27050,
+	Xsqlite3_str_appendf(tls, pSql, ts+27097,
 		libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8))))
 	ii = 4
 __3:
@@ -128006,7 +128064,7 @@ __3:
 		goto __6
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+27074, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
+	Xsqlite3_str_appendf(tls, pSql, ts+27121, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
 	goto __7
 __6:
 	if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) {
@@ -128029,7 +128087,7 @@ __4:
 	goto __5
 __5:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+27080, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+27127, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __10
@@ -128125,7 +128183,7 @@ __25:
 	return rc
 }
 
-var azFormat = [2]uintptr{ts + 27083, ts + 27094}
+var azFormat = [2]uintptr{ts + 27130, ts + 27141}
 
 func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	bp := tls.Alloc(1072)
@@ -128165,11 +128223,11 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 		if ii > 0 {
 			Xsqlite3_str_append(tls, pOut, ts+11323, 1)
 		}
-		Xsqlite3_str_appendf(tls, pOut, ts+27104, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
+		Xsqlite3_str_appendf(tls, pOut, ts+27151, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
 		for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+56)).FnDim2); jj++ {
-			Xsqlite3_str_appendf(tls, pOut, ts+27110, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
+			Xsqlite3_str_appendf(tls, pOut, ts+27157, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
 		}
-		Xsqlite3_str_append(tls, pOut, ts+27114, 1)
+		Xsqlite3_str_append(tls, pOut, ts+27161, 1)
 	}
 	errCode = Xsqlite3_str_errcode(tls, pOut)
 	Xsqlite3_result_text(tls, ctx, Xsqlite3_str_finish(tls, pOut), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
@@ -128180,7 +128238,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	_ = nArg
 	if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB ||
 		Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 {
-		Xsqlite3_result_error(tls, ctx, ts+27116, -1)
+		Xsqlite3_result_error(tls, ctx, ts+27163, -1)
 	} else {
 		var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 		if zBlob != 0 {
@@ -128258,7 +128316,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr
 		if z == uintptr(0) {
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM
 		} else {
-			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+27149,
+			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+27196,
 				libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr {
 					if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 {
 						return ts + 4465
@@ -128282,7 +128340,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) {
 		(*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = rtreeCheckPrepare(tls, pCheck,
-			ts+27156,
+			ts+27203,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab))
 	}
 
@@ -128301,7 +128359,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 		}
 		rtreeCheckReset(tls, pCheck, (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode)
 		if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) {
-			rtreeCheckAppendMsg(tls, pCheck, ts+27201, libc.VaList(bp+16, iNode))
+			rtreeCheckAppendMsg(tls, pCheck, ts+27248, libc.VaList(bp+16, iNode))
 		}
 	}
 
@@ -128315,8 +128373,8 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	var rc int32
 	var pStmt uintptr
 	*(*[2]uintptr)(unsafe.Pointer(bp + 80)) = [2]uintptr{
-		ts + 27233,
-		ts + 27287,
+		ts + 27280,
+		ts + 27334,
 	}
 
 	if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) {
@@ -128331,23 +128389,23 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	Xsqlite3_bind_int64(tls, pStmt, 1, iKey)
 	rc = Xsqlite3_step(tls, pStmt)
 	if rc == SQLITE_DONE {
-		rtreeCheckAppendMsg(tls, pCheck, ts+27335,
+		rtreeCheckAppendMsg(tls, pCheck, ts+27382,
 			libc.VaList(bp+16, iKey, iVal, func() uintptr {
 				if bLeaf != 0 {
-					return ts + 27380
+					return ts + 27427
 				}
-				return ts + 27388
+				return ts + 27435
 			}()))
 	} else if rc == SQLITE_ROW {
 		var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0)
 		if ii != iVal {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27397,
+				ts+27444,
 				libc.VaList(bp+40, iKey, ii, func() uintptr {
 					if bLeaf != 0 {
-						return ts + 27380
+						return ts + 27427
 					}
-					return ts + 27388
+					return ts + 27435
 				}(), iKey, iVal))
 		}
 	}
@@ -128371,7 +128429,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 			return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48)) > *(*RtreeValue)(unsafe.Pointer(bp + 52)))
 		}() != 0 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27455, libc.VaList(bp, i, iCell, iNode))
+				ts+27502, libc.VaList(bp, i, iCell, iNode))
 		}
 
 		if pParent != 0 {
@@ -128391,7 +128449,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 					return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52)) > *(*RtreeValue)(unsafe.Pointer(bp + 60)))
 				}() != 0 {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27503, libc.VaList(bp+24, i, iCell, iNode))
+					ts+27550, libc.VaList(bp+24, i, iCell, iNode))
 			}
 		}
 	}
@@ -128408,14 +128466,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 	if aNode != 0 {
 		if *(*int32)(unsafe.Pointer(bp + 48)) < 4 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27570, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
+				ts+27617, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
 		} else {
 			var nCell int32
 			var i int32
 			if aParent == uintptr(0) {
 				iDepth = readInt16(tls, aNode)
 				if iDepth > RTREE_MAX_DEPTH {
-					rtreeCheckAppendMsg(tls, pCheck, ts+27604, libc.VaList(bp+16, iDepth))
+					rtreeCheckAppendMsg(tls, pCheck, ts+27651, libc.VaList(bp+16, iDepth))
 					Xsqlite3_free(tls, aNode)
 					return
 				}
@@ -128423,7 +128481,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 			nCell = readInt16(tls, aNode+2)
 			if 4+nCell*(8+(*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim*2*4) > *(*int32)(unsafe.Pointer(bp + 48)) {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27634,
+					ts+27681,
 					libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48))))
 			} else {
 				for i = 0; i < nCell; i++ {
@@ -128452,14 +128510,14 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) {
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK {
 		var pCount uintptr
-		pCount = rtreeCheckPrepare(tls, pCheck, ts+27689,
+		pCount = rtreeCheckPrepare(tls, pCheck, ts+27736,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl))
 		if pCount != 0 {
 			if Xsqlite3_step(tls, pCount) == SQLITE_ROW {
 				var nActual I64 = Xsqlite3_column_int64(tls, pCount, 0)
 				if nActual != nExpect {
 					rtreeCheckAppendMsg(tls, pCheck,
-						ts+27720, libc.VaList(bp+24, zTbl, nExpect, nActual))
+						ts+27767, libc.VaList(bp+24, zTbl, nExpect, nActual))
 				}
 			}
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount)
@@ -128486,7 +128544,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	}
 
 	if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
-		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27787, libc.VaList(bp, zDb, zTab))
+		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27834, libc.VaList(bp, zDb, zTab))
 		if pStmt != 0 {
 			nAux = Xsqlite3_column_count(tls, pStmt) - 2
 			Xsqlite3_finalize(tls, pStmt)
@@ -128495,12 +128553,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		}
 	}
 
-	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25607, libc.VaList(bp+16, zDb, zTab))
+	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25654, libc.VaList(bp+16, zDb, zTab))
 	if pStmt != 0 {
 		var rc int32
 		(*RtreeCheck)(unsafe.Pointer(bp + 32)).FnDim = (Xsqlite3_column_count(tls, pStmt) - 1 - nAux) / 2
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).FnDim < 1 {
-			rtreeCheckAppendMsg(tls, bp+32, ts+27815, 0)
+			rtreeCheckAppendMsg(tls, bp+32, ts+27862, 0)
 		} else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).FbInt = libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)
 		}
@@ -128514,8 +128572,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			rtreeCheckNode(tls, bp+32, 0, uintptr(0), int64(1))
 		}
-		rtreeCheckCount(tls, bp+32, ts+27846, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
-		rtreeCheckCount(tls, bp+32, ts+27853, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27893, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27900, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
 	}
 
 	Xsqlite3_finalize(tls, (*RtreeCheck)(unsafe.Pointer(bp+32)).FpGetNode)
@@ -128523,7 +128581,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 + 40 + 1*8)))
 
 	if bEnd != 0 {
-		var rc int32 = Xsqlite3_exec(tls, db, ts+27861, uintptr(0), uintptr(0), uintptr(0))
+		var rc int32 = Xsqlite3_exec(tls, db, ts+27908, uintptr(0), uintptr(0), uintptr(0))
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).Frc = rc
 		}
@@ -128538,7 +128596,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 
 	if nArg != 1 && nArg != 2 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+27865, -1)
+			ts+27912, -1)
 	} else {
 		var rc int32
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
@@ -128556,7 +128614,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 				if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
 					return *(*uintptr)(unsafe.Pointer(bp))
 				}
-				return ts + 18464
+				return ts + 18511
 			}(), -1, libc.UintptrFromInt32(-1))
 		} else {
 			Xsqlite3_result_error_code(tls, ctx, rc)
@@ -128927,11 +128985,11 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var db uintptr = Xsqlite3_context_db_handle(tls, context)
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
-		Xsqlite3_str_append(tls, x, ts+27916, 1)
+		Xsqlite3_str_append(tls, x, ts+27963, 1)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27918, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27965, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27929, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27976, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -128951,19 +129009,19 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
 		var cSep int8 = int8('\'')
-		Xsqlite3_str_appendf(tls, x, ts+27940, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27987, 0)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27958, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+28005, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 			cSep = int8(' ')
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27966, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+28013, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		for i = 1; i < argc; i++ {
 			var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 			if z != 0 && *(*int8)(unsafe.Pointer(z)) != 0 {
-				Xsqlite3_str_appendf(tls, x, ts+27974, libc.VaList(bp+40, z))
+				Xsqlite3_str_appendf(tls, x, ts+28021, libc.VaList(bp+40, z))
 			}
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27978, 0)
+		Xsqlite3_str_appendf(tls, x, ts+28025, 0)
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -129883,7 +129941,7 @@ __1:
 	libc.X__builtin___memcpy_chk(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName), libc.X__builtin_object_size(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, 0))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+27991, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+28038, 0)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1)
 	ii = 3
@@ -129892,7 +129950,7 @@ __2:
 		goto __4
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+28013, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
+	Xsqlite3_str_appendf(tls, pSql, ts+28060, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
 	goto __3
 __3:
 	ii++
@@ -129900,7 +129958,7 @@ __3:
 	goto __4
 __4:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+27080, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+27127, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __5
@@ -130137,7 +130195,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 	}
 	if iFuncTerm >= 0 {
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum
-		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 28017
+		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 28064
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).FargvIndex = 1
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).Fomit = uint8(0)
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 300.0
@@ -130145,7 +130203,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 		return SQLITE_OK
 	}
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4
-	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 28023
+	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 28070
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000)
 	return SQLITE_OK
@@ -130257,7 +130315,7 @@ __1:
 	if !(*(*int32)(unsafe.Pointer(bp + 48)) == SQLITE_ERROR) {
 		goto __4
 	}
-	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+28032, 0)
+	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+28079, 0)
 __4:
 	;
 	goto geopoly_update_end
@@ -130389,14 +130447,14 @@ geopoly_update_end:
 func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 {
 	_ = pVtab
 	_ = nArg
-	if Xsqlite3_stricmp(tls, zName, ts+28072) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+28119) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyOverlapFunc}))
 		*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
 		return SQLITE_INDEX_CONSTRAINT_FUNCTION
 	}
-	if Xsqlite3_stricmp(tls, zName, ts+28088) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+28135) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyWithinFunc}))
@@ -130461,7 +130519,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 {
 			uintptr(0), aAgg[i].FxStep, aAgg[i].FxFinal)
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_module_v2(tls, db, ts+28103, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+28150, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
 	}
 	return rc
 }
@@ -130473,25 +130531,25 @@ var aFunc = [12]struct {
 	F__ccgo_pad1 [6]byte
 	FzName       uintptr
 }{
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28111},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28124},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28137},
-	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 28150},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 28088},
-	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 28162},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 28072},
-	{FxFunc: 0, FnArg: int8(1), FzName: ts + 28185},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28199},
-	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 28212},
-	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 28226},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28242},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28158},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28171},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28184},
+	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 28197},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 28135},
+	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 28209},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 28119},
+	{FxFunc: 0, FnArg: int8(1), FzName: ts + 28232},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28246},
+	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 28259},
+	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 28273},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 28289},
 }
 var aAgg = [1]struct {
 	FxStep  uintptr
 	FxFinal uintptr
 	FzName  uintptr
 }{
-	{FxStep: 0, FxFinal: 0, FzName: ts + 28254},
+	{FxStep: 0, FxFinal: 0, FzName: ts + 28301},
 }
 
 // Register the r-tree module with database handle db. This creates the
@@ -130501,26 +130559,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 {
 	var utf8 int32 = SQLITE_UTF8
 	var rc int32
 
-	rc = Xsqlite3_create_function(tls, db, ts+28273, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	rc = Xsqlite3_create_function(tls, db, ts+28320, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr)
 	}{rtreenode})), uintptr(0), uintptr(0))
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+28283, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+28330, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreedepth})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+28294, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+28341, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreecheck})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_REAL32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+28017, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+28064, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_INT32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+28305, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+28352, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		rc = sqlite3_geopoly_init(tls, db)
@@ -130574,7 +130632,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
 			Xsqlite3_result_error_nomem(tls, ctx)
 			rtreeMatchArgFree(tls, pBlob)
 		} else {
-			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25593, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
+			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25640, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
 		}
 	}
 }
@@ -130901,7 +130959,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 
 	nOut = rbuDeltaOutputSize(tls, aDelta, nDelta)
 	if nOut < 0 {
-		Xsqlite3_result_error(tls, context, ts+28315, -1)
+		Xsqlite3_result_error(tls, context, ts+28362, -1)
 		return
 	}
 
@@ -130912,7 +130970,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 		nOut2 = rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut)
 		if nOut2 != nOut {
 			Xsqlite3_free(tls, aOut)
-			Xsqlite3_result_error(tls, context, ts+28315, -1)
+			Xsqlite3_result_error(tls, context, ts+28362, -1)
 		} else {
 			Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		}
@@ -131013,7 +131071,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuObjIterClearStatements(tls, pIter)
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) {
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+28336, uintptr(0), uintptr(0), p+64)
+				ts+28383, uintptr(0), uintptr(0), p+64)
 		}
 
 		if rc == SQLITE_OK {
@@ -131077,7 +131135,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) {
 				Xsqlite3_result_text(tls, pCtx, zIn, -1, uintptr(0))
 			}
 		} else {
-			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25506, zIn, uint64(4)) == 0 {
+			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25553, zIn, uint64(4)) == 0 {
 				var i int32
 				for i = 4; int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) >= '0' && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) <= '9'; i++ {
 				}
@@ -131098,16 +131156,16 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 
 	rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28507, libc.VaList(bp, func() uintptr {
+			ts+28554, libc.VaList(bp, func() uintptr {
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					return ts + 28657
+					return ts + 28704
 				}
 				return ts + 1547
 			}())))
 
 	if rc == SQLITE_OK {
 		rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64,
-			ts+28698)
+			ts+28745)
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1
@@ -131223,7 +131281,7 @@ func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28823, libc.VaList(bp, zTab)))
+			ts+28870, libc.VaList(bp, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) != SQLITE_ROW) {
 		goto __1
 	}
@@ -131241,7 +131299,7 @@ __2:
 	*(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), 1)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+1*8, p+64,
-		Xsqlite3_mprintf(tls, ts+28942, libc.VaList(bp+8, zTab)))
+		Xsqlite3_mprintf(tls, ts+28989, libc.VaList(bp+8, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) {
 		goto __3
 	}
@@ -131259,7 +131317,7 @@ __4:
 	}
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+2*8, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28963, libc.VaList(bp+16, zIdx)))
+			ts+29010, libc.VaList(bp+16, zIdx)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __7
 	}
@@ -131282,7 +131340,7 @@ __6:
 __5:
 	;
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+3*8, p+64,
-		Xsqlite3_mprintf(tls, ts+29014, libc.VaList(bp+24, zTab)))
+		Xsqlite3_mprintf(tls, ts+29061, libc.VaList(bp+24, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __10
 	}
@@ -131328,7 +131386,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		libc.X__builtin___memcpy_chk(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol), libc.X__builtin_object_size(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0))
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+16, p+64,
-			Xsqlite3_mprintf(tls, ts+29035, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+29082, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0
@@ -131343,7 +131401,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 			libc.X__builtin___memset_chk(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0x01, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol), libc.X__builtin_object_size(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0))
 		}
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+29063, libc.VaList(bp+8, zIdx)))
+			Xsqlite3_mprintf(tls, ts+29110, libc.VaList(bp+8, zIdx)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
 			var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 1)
 			if iCid >= 0 {
@@ -131383,7 +131441,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+56, pIter+108)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19939, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19986, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
 			return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc
@@ -131393,18 +131451,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		}
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+64, p+64,
-			Xsqlite3_mprintf(tls, ts+29092, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
+			Xsqlite3_mprintf(tls, ts+29139, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 			rbuAllocateIterArrays(tls, p, pIter, nCol)
 		}
 		for i = 0; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && i < nCol; i++ {
 			var zName uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), i)
-			if Xsqlite3_strnicmp(tls, ts+29111, zName, 4) != 0 {
+			if Xsqlite3_strnicmp(tls, ts+29158, zName, 4) != 0 {
 				var zCopy uintptr = rbuStrndup(tls, zName, p+56)
 				*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol
 				*(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(libc.PostIncInt32(&(*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol, 1))*8)) = zCopy
-			} else if 0 == Xsqlite3_stricmp(tls, ts+29116, zName) {
+			} else if 0 == Xsqlite3_stricmp(tls, ts+29163, zName) {
 				bRbuRowid = 1
 			}
 		}
@@ -131416,18 +131474,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			bRbuRowid != libc.Bool32((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls,
-				ts+29126, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
+				ts+29173, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 					func() uintptr {
 						if bRbuRowid != 0 {
-							return ts + 29155
+							return ts + 29202
 						}
-						return ts + 29168
+						return ts + 29215
 					}()))
 		}
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-				Xsqlite3_mprintf(tls, ts+29177, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				Xsqlite3_mprintf(tls, ts+29224, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		}
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64))) {
 			var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 1)
@@ -131441,7 +131499,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			}
 			if i == (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29199,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29246,
 					libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName))
 			} else {
 				var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 5)
@@ -131488,7 +131546,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var i int32
 	for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 		var z uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-		zList = rbuMPrintf(tls, p, ts+29226, libc.VaList(bp, zList, zSep, z))
+		zList = rbuMPrintf(tls, p, ts+29273, libc.VaList(bp, zList, zSep, z))
 		zSep = ts + 15017
 	}
 	return zList
@@ -131506,7 +131564,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr,
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if int32(*(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zRet = rbuMPrintf(tls, p, ts+29235, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
+				zRet = rbuMPrintf(tls, p, ts+29282, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
 				zSep = zSeparator
 				break
 			}
@@ -131528,25 +131586,25 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32,
 	if bRowid != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+29248, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				ts+29295, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 			var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-			zRet = rbuMPrintf(tls, p, ts+29280, libc.VaList(bp+16, iMax))
+			zRet = rbuMPrintf(tls, p, ts+29327, libc.VaList(bp+16, iMax))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 	} else {
-		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+15017, ts+29303)
-		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+29309, ts+29316, ts+5360)
+		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+15017, ts+29350)
+		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+29356, ts+29363, ts+5360)
 		var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+15017, ts+1547)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 				Xsqlite3_mprintf(tls,
-					ts+29324,
+					ts+29371,
 					libc.VaList(bp+24, zSelect, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 				var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-				zRet = rbuMPrintf(tls, p, ts+29366, libc.VaList(bp+56, zList, zVal))
+				zRet = rbuMPrintf(tls, p, ts+29413, libc.VaList(bp+56, zList, zVal))
 			}
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 		}
@@ -131588,7 +131646,7 @@ func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	*(*uintptr)(unsafe.Pointer(bp + 176)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-		Xsqlite3_mprintf(tls, ts+29063, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+		Xsqlite3_mprintf(tls, ts+29110, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 __1:
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176)))) {
 		goto __2
@@ -131623,7 +131681,7 @@ __10:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 	goto __7
 __6:
-	zCol = ts + 29386
+	zCol = ts + 29433
 __7:
 	;
 	goto __5
@@ -131631,11 +131689,11 @@ __4:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 __5:
 	;
-	zLhs = rbuMPrintf(tls, p, ts+29394,
+	zLhs = rbuMPrintf(tls, p, ts+29441,
 		libc.VaList(bp+8, zLhs, zSep, zCol, zCollate))
-	zOrder = rbuMPrintf(tls, p, ts+29415,
+	zOrder = rbuMPrintf(tls, p, ts+29462,
 		libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate))
-	zSelect = rbuMPrintf(tls, p, ts+29451,
+	zSelect = rbuMPrintf(tls, p, ts+29498,
 		libc.VaList(bp+80, zSelect, zSep, iCol, zCol))
 	zSep = ts + 15017
 	iCol++
@@ -131655,7 +131713,7 @@ __11:
 	*(*uintptr)(unsafe.Pointer(bp + 184)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+184, p+64,
-		Xsqlite3_mprintf(tls, ts+29478,
+		Xsqlite3_mprintf(tls, ts+29525,
 			libc.VaList(bp+112, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 184)))) {
 		goto __13
@@ -131682,7 +131740,7 @@ __19:
 	;
 __18:
 	;
-	zVector = rbuMPrintf(tls, p, ts+29526, libc.VaList(bp+136, zVector, zSep, zQuoted))
+	zVector = rbuMPrintf(tls, p, ts+29573, libc.VaList(bp+136, zVector, zSep, zQuoted))
 	zSep = ts + 15017
 	goto __15
 __15:
@@ -131694,7 +131752,7 @@ __16:
 	if !!(bFailed != 0) {
 		goto __20
 	}
-	zRet = rbuMPrintf(tls, p, ts+29533, libc.VaList(bp+160, zLhs, zVector))
+	zRet = rbuMPrintf(tls, p, ts+29580, libc.VaList(bp+160, zLhs, zVector))
 __20:
 	;
 __13:
@@ -131727,7 +131785,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 	if rc == SQLITE_OK {
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200, p+64,
-			Xsqlite3_mprintf(tls, ts+29063, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+			Xsqlite3_mprintf(tls, ts+29110, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 	}
 
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200))) {
@@ -131739,7 +131797,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 		if iCid == -2 {
 			var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 0)
-			zRet = Xsqlite3_mprintf(tls, ts+29545, libc.VaList(bp+8, zRet, zCom,
+			zRet = Xsqlite3_mprintf(tls, ts+29592, libc.VaList(bp+8, zRet, zCom,
 				(*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FnSpan, (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FzSpan, zCollate))
 			zType = ts + 1547
 		} else {
@@ -131751,37 +131809,37 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 					zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 				} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					zCol = ts + 29386
+					zCol = ts + 29433
 				} else {
-					zCol = ts + 29116
+					zCol = ts + 29163
 				}
 				zType = ts + 1112
 			} else {
 				zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 				zType = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8))
 			}
-			zRet = Xsqlite3_mprintf(tls, ts+29567, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
+			zRet = Xsqlite3_mprintf(tls, ts+29614, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 5) != 0 {
 			var zOrder uintptr = func() uintptr {
 				if bDesc != 0 {
-					return ts + 29303
+					return ts + 29350
 				}
 				return ts + 1547
 			}()
-			zImpPK = Xsqlite3_mprintf(tls, ts+29587,
+			zImpPK = Xsqlite3_mprintf(tls, ts+29634,
 				libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder))
 		}
-		zImpCols = Xsqlite3_mprintf(tls, ts+29608,
+		zImpCols = Xsqlite3_mprintf(tls, ts+29655,
 			libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate))
 		zWhere = Xsqlite3_mprintf(tls,
-			ts+29641, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
+			ts+29688, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
 		if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) {
 			rc = SQLITE_NOMEM
 		}
 		zCom = ts + 15017
-		zAnd = ts + 21975
+		zAnd = ts + 22022
 		nBind++
 	}
 
@@ -131820,9 +131878,9 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = Xsqlite3_mprintf(tls, ts+29665, libc.VaList(bp, zList, zS, zObj, zCol))
+				zList = Xsqlite3_mprintf(tls, ts+29712, libc.VaList(bp, zList, zS, zObj, zCol))
 			} else {
-				zList = Xsqlite3_mprintf(tls, ts+29677, libc.VaList(bp+32, zList, zS))
+				zList = Xsqlite3_mprintf(tls, ts+29724, libc.VaList(bp+32, zList, zS))
 			}
 			zS = ts + 15017
 			if zList == uintptr(0) {
@@ -131832,7 +131890,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-			zList = rbuMPrintf(tls, p, ts+29686, libc.VaList(bp+48, zList, zObj))
+			zList = rbuMPrintf(tls, p, ts+29733, libc.VaList(bp+48, zList, zObj))
 		}
 	}
 	return zList
@@ -131844,18 +131902,18 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	var zList uintptr = uintptr(0)
 	if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-		zList = rbuMPrintf(tls, p, ts+29701, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
+		zList = rbuMPrintf(tls, p, ts+29748, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
 	} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
 		var zSep uintptr = ts + 1547
 		var i int32
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
-				zList = rbuMPrintf(tls, p, ts+29715, libc.VaList(bp+8, zList, zSep, i, i+1))
-				zSep = ts + 21975
+				zList = rbuMPrintf(tls, p, ts+29762, libc.VaList(bp+8, zList, zSep, i, i+1))
+				zSep = ts + 22022
 			}
 		}
 		zList = rbuMPrintf(tls, p,
-			ts+29727, libc.VaList(bp+40, zList))
+			ts+29774, libc.VaList(bp+40, zList))
 
 	} else {
 		var zSep uintptr = ts + 1547
@@ -131863,8 +131921,8 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = rbuMPrintf(tls, p, ts+29777, libc.VaList(bp+48, zList, zSep, zCol, i+1))
-				zSep = ts + 21975
+				zList = rbuMPrintf(tls, p, ts+29824, libc.VaList(bp+48, zList, zSep, zCol, i+1))
+				zSep = ts + 22022
 			}
 		}
 	}
@@ -131873,7 +131931,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 func rbuBadControlError(tls *libc.TLS, p uintptr) {
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29790, 0)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29837, 0)
 }
 
 func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr {
@@ -131891,15 +131949,15 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr
 			for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 				var c int8 = *(*int8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4)))))
 				if int32(c) == 'x' {
-					zList = rbuMPrintf(tls, p, ts+29777,
+					zList = rbuMPrintf(tls, p, ts+29824,
 						libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 15017
 				} else if int32(c) == 'd' {
-					zList = rbuMPrintf(tls, p, ts+29816,
+					zList = rbuMPrintf(tls, p, ts+29863,
 						libc.VaList(bp+32, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 15017
 				} else if int32(c) == 'f' {
-					zList = rbuMPrintf(tls, p, ts+29846,
+					zList = rbuMPrintf(tls, p, ts+29893,
 						libc.VaList(bp+72, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 15017
 				}
@@ -131936,19 +131994,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var z uintptr = uintptr(0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		var zSep uintptr = ts + 29883
+		var zSep uintptr = ts + 29930
 		*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 		*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56, p+64,
-			Xsqlite3_mprintf(tls, ts+29035, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+29082, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) {
 			var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 3)
 			if zOrig != 0 && libc.Xstrcmp(tls, zOrig, ts+16561) == 0 {
 				var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 1)
 				if zIdx != 0 {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-						Xsqlite3_mprintf(tls, ts+29063, libc.VaList(bp+8, zIdx)))
+						Xsqlite3_mprintf(tls, ts+29110, libc.VaList(bp+8, zIdx)))
 				}
 				break
 			}
@@ -131960,15 +132018,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 				var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 2)
 				var zDesc uintptr
 				if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 3) != 0 {
-					zDesc = ts + 29303
+					zDesc = ts + 29350
 				} else {
 					zDesc = ts + 1547
 				}
-				z = rbuMPrintf(tls, p, ts+29896, libc.VaList(bp+16, z, zSep, zCol, zDesc))
+				z = rbuMPrintf(tls, p, ts+29943, libc.VaList(bp+16, z, zSep, zCol, zDesc))
 				zSep = ts + 15017
 			}
 		}
-		z = rbuMPrintf(tls, p, ts+29907, libc.VaList(bp+48, z))
+		z = rbuMPrintf(tls, p, ts+29954, libc.VaList(bp+48, z))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
 	return z
@@ -131988,7 +132046,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		var zPk uintptr = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168, p+64,
-			ts+29911)
+			ts+29958)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168)), 1, tnum)
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168))) {
@@ -131997,7 +132055,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		}
 		if zIdx != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-				Xsqlite3_mprintf(tls, ts+29063, libc.VaList(bp, zIdx)))
+				Xsqlite3_mprintf(tls, ts+29110, libc.VaList(bp, zIdx)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168)))
 
@@ -132007,23 +132065,23 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 				var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 1)
 				var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 3)
 				var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 4)
-				zCols = rbuMPrintf(tls, p, ts+29961, libc.VaList(bp+8, zCols, zComma,
+				zCols = rbuMPrintf(tls, p, ts+30008, libc.VaList(bp+8, zCols, zComma,
 					iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate))
-				zPk = rbuMPrintf(tls, p, ts+29983, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
+				zPk = rbuMPrintf(tls, p, ts+30030, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
 					if bDesc != 0 {
-						return ts + 29303
+						return ts + 29350
 					}
 					return ts + 1547
 				}()))
 				zComma = ts + 15017
 			}
 		}
-		zCols = rbuMPrintf(tls, p, ts+29993, libc.VaList(bp+80, zCols))
+		zCols = rbuMPrintf(tls, p, ts+30040, libc.VaList(bp+80, zCols))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176)))
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6844, 1, tnum))
 		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+30008,
+			ts+30055,
 			libc.VaList(bp+120, zCols, zPk))
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6844, 0, 0))
 	}
@@ -132049,13 +132107,13 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6844, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192, uintptr(0), uintptr(0), uintptr(0))
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 {
-				zPk = ts + 30070
+				zPk = ts + 30117
 			}
-			zSql = rbuMPrintf(tls, p, ts+30083,
+			zSql = rbuMPrintf(tls, p, ts+30130,
 				libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192)),
 					func() uintptr {
 						if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 {
-							return ts + 30110
+							return ts + 30157
 						}
 						return ts + 1547
 					}()))
@@ -132065,16 +132123,16 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
 			var zPk uintptr = rbuWithoutRowidPK(tls, p, pIter)
 			if zPk != 0 {
-				zSql = rbuMPrintf(tls, p, ts+30120, libc.VaList(bp+88, zSql, zPk))
+				zSql = rbuMPrintf(tls, p, ts+30167, libc.VaList(bp+88, zSql, zPk))
 			}
 		}
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6844, 1, tnum))
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30127,
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30174,
 			libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql,
 				func() uintptr {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
-						return ts + 30159
+						return ts + 30206
 					}
 					return ts + 1547
 				}()))
@@ -132091,7 +132149,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis
 	if zBind != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls,
-				ts+30174,
+				ts+30221,
 				libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind)))
 	}
 }
@@ -132128,7 +132186,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(bp + 8)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64,
-			ts+30231)
+			ts+30278)
 	}
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		var rc2 int32
@@ -132233,7 +132291,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 		var zLimit uintptr = uintptr(0)
 
 		if nOffset != 0 {
-			zLimit = Xsqlite3_mprintf(tls, ts+30297, libc.VaList(bp, nOffset))
+			zLimit = Xsqlite3_mprintf(tls, ts+30344, libc.VaList(bp, nOffset))
 			if !(zLimit != 0) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
 			}
@@ -132256,7 +132314,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6844, 0, 1))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6844, 1, tnum))
 			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+30317,
+				ts+30364,
 				libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600)), *(*uintptr)(unsafe.Pointer(bp + 608))))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6844, 0, 0))
 
@@ -132264,13 +132322,13 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64,
-					Xsqlite3_mprintf(tls, ts+30382, libc.VaList(bp+128, zTbl, zBind)))
+					Xsqlite3_mprintf(tls, ts+30429, libc.VaList(bp+128, zTbl, zBind)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64,
-					Xsqlite3_mprintf(tls, ts+30418, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
+					Xsqlite3_mprintf(tls, ts+30465, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
 			}
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -132286,7 +132344,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					}
 
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30452,
+						ts+30499,
 						libc.VaList(bp+160, zCollist,
 							(*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
@@ -132294,9 +132352,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								if zStart != 0 {
 									return func() uintptr {
 										if zPart != 0 {
-											return ts + 30513
+											return ts + 30560
 										}
-										return ts + 30517
+										return ts + 30564
 									}()
 								}
 								return ts + 1547
@@ -132305,20 +132363,20 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					Xsqlite3_free(tls, zStart)
 				} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30523,
+						ts+30570,
 						libc.VaList(bp+216, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart, zCollist, zLimit))
 				} else {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30584,
+						ts+30631,
 						libc.VaList(bp+264, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart,
 							zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
 							func() uintptr {
 								if zPart != 0 {
-									return ts + 30513
+									return ts + 30560
 								}
-								return ts + 30517
+								return ts + 30564
 							}(),
 							zCollist, zLimit))
 				}
@@ -132355,16 +132413,16 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB {
 					return ts + 1547
 				}
-				return ts + 30743
+				return ts + 30790
 			}()
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30752,
+						ts+30799,
 						libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr {
 							if bRbuRowid != 0 {
-								return ts + 30788
+								return ts + 30835
 							}
 							return ts + 1547
 						}(), zBindings)))
@@ -132373,32 +132431,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30798, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
+						ts+30845, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 				var zRbuRowid uintptr = ts + 1547
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-					zRbuRowid = ts + 30826
+					zRbuRowid = ts + 30873
 				}
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-					ts+30838, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
+					ts+30885, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
 						if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
-							return ts + 30914
+							return ts + 30961
 						}
 						return ts + 1547
 					}(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-					ts+30931,
+					ts+30978,
 					libc.VaList(bp+440, zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zNewlist))
 
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-						ts+31230,
+						ts+31277,
 						libc.VaList(bp+512, zWrite, zTbl, zNewlist))
 				}
 
@@ -132411,9 +132469,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				var zOrder uintptr = uintptr(0)
 				if bRbuRowid != 0 {
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-						zRbuRowid = ts + 31329
+						zRbuRowid = ts + 31376
 					} else {
-						zRbuRowid = ts + 31339
+						zRbuRowid = ts + 31386
 					}
 				}
 
@@ -132426,7 +132484,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 						}
 					}
 					if bRbuRowid != 0 {
-						zOrder = rbuMPrintf(tls, p, ts+29386, 0)
+						zOrder = rbuMPrintf(tls, p, ts+29433, 0)
 					} else {
 						zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+15017, ts+1547)
 					}
@@ -132435,11 +132493,11 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz,
 						Xsqlite3_mprintf(tls,
-							ts+31350,
+							ts+31397,
 							libc.VaList(bp+536, zCollist,
 								func() uintptr {
 									if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-										return ts + 31398
+										return ts + 31445
 									}
 									return ts + 1547
 								}(),
@@ -132452,7 +132510,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								}(),
 								func() uintptr {
 									if zOrder != 0 {
-										return ts + 23309
+										return ts + 23356
 									}
 									return ts + 1547
 								}(), zOrder,
@@ -132520,9 +132578,9 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp
 			var zPrefix uintptr = ts + 1547
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB {
-				zPrefix = ts + 30743
+				zPrefix = ts + 30790
 			}
-			zUpdate = Xsqlite3_mprintf(tls, ts+31404,
+			zUpdate = Xsqlite3_mprintf(tls, ts+31451,
 				libc.VaList(bp, zPrefix, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere))
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate)
@@ -132581,7 +132639,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr {
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 16)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8, p+64,
-		Xsqlite3_mprintf(tls, ts+31434, libc.VaList(bp, p+48)))
+		Xsqlite3_mprintf(tls, ts+31481, libc.VaList(bp, p+48)))
 	for *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 		switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0) {
 		case RBU_STATE_STAGE:
@@ -132654,18 +132712,18 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6844, SQLITE_FCNTL_RBUCNT, p)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) {
 			var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6844)
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31464, libc.VaList(bp, zFile, zFile))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31511, libc.VaList(bp, zFile, zFile))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 {
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31492, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31539, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
 		libc.X__builtin___memcpy_chk(tls, p+48, ts+3279, uint64(4), libc.X__builtin_object_size(tls, p+48, 0))
 	} else {
 		libc.X__builtin___memcpy_chk(tls, p+48, ts+6844, uint64(4), libc.X__builtin_object_size(tls, p+48, 0))
 	}
 
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31510, libc.VaList(bp+24, p+48))
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31557, libc.VaList(bp+24, p+48))
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		var bOpen int32 = 0
@@ -132705,11 +132763,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				return
 			}
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31576, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31623, 0)
 		} else {
 			var zTarget uintptr
 			var zExtra uintptr = uintptr(0)
-			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24656, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
+			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24703, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
 				zExtra = (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5
 				for *(*int8)(unsafe.Pointer(zExtra)) != 0 {
 					if int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zExtra, 1)))) == '?' {
@@ -132721,13 +132779,13 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				}
 			}
 
-			zTarget = Xsqlite3_mprintf(tls, ts+31608,
+			zTarget = Xsqlite3_mprintf(tls, ts+31655,
 				libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6844),
 					func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1547
 						}
-						return ts + 31640
+						return ts + 31687
 					}(), func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1547
@@ -132746,21 +132804,21 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31642, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31689, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTmpInsertFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31657, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31704, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuFossilDeltaFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+31674, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31721, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTargetNameFunc})), uintptr(0), uintptr(0))
 	}
@@ -132768,7 +132826,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6844, SQLITE_FCNTL_RBU, p)
 	}
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31690, 0)
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31737, 0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6844, SQLITE_FCNTL_RBU, p)
@@ -132776,7 +132834,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31718, 0)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31765, 0)
 	}
 }
 
@@ -132805,14 +132863,14 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
 	if pState == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = 0
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31690, uintptr(0), uintptr(0), uintptr(0))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31737, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var rc2 int32
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CAPTURE
-		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31736, uintptr(0), uintptr(0), uintptr(0))
+		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31783, uintptr(0), uintptr(0), uintptr(0))
 		if rc2 != SQLITE_NOTICE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 		}
@@ -132938,7 +132996,7 @@ func rbuLockDatabase(tls *libc.TLS, db uintptr) int32 {
 
 func rbuExclusiveCheckpoint(tls *libc.TLS, db uintptr) int32 {
 	var zUri uintptr = Xsqlite3_db_filename(tls, db, uintptr(0))
-	return Xsqlite3_uri_boolean(tls, zUri, ts+31771, 0)
+	return Xsqlite3_uri_boolean(tls, zUri, ts+31818, 0)
 }
 
 func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
@@ -132953,8 +133011,8 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6844)
 	}
-	zOal = Xsqlite3_mprintf(tls, ts+31796, libc.VaList(bp, zMove))
-	zWal = Xsqlite3_mprintf(tls, ts+31803, libc.VaList(bp+8, zMove))
+	zOal = Xsqlite3_mprintf(tls, ts+31843, libc.VaList(bp, zMove))
+	zWal = Xsqlite3_mprintf(tls, ts+31850, libc.VaList(bp+8, zMove))
 
 	if zWal == uintptr(0) || zOal == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
@@ -133071,7 +133129,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) {
 			(*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 &&
 			Xsqlite3_column_type(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect, i) == SQLITE_NULL {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_MISMATCH
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+24294, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+24341, 0)
 			return
 		}
 
@@ -133164,7 +133222,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 		var iCookie int32 = 1000000
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8, p+64,
-			ts+31810)
+			ts+31857)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 				iCookie = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0)
@@ -133172,7 +133230,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8)))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31832, libc.VaList(bp, iCookie+1))
+			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31879, libc.VaList(bp, iCookie+1))
 		}
 	}
 }
@@ -133193,7 +133251,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) {
 
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+31859,
+				ts+31906,
 				libc.VaList(bp, p+48,
 					RBU_STATE_STAGE, eStage,
 					RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl,
@@ -133223,9 +133281,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+32017, libc.VaList(bp, zPragma)))
+			Xsqlite3_mprintf(tls, ts+32064, libc.VaList(bp, zPragma)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32032,
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32079,
 				libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 0)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -133239,10 +133297,10 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 
-	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32052, uintptr(0), uintptr(0), p+64)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32099, uintptr(0), uintptr(0), p+64)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+32077)
+			ts+32124)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -133256,12 +133314,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+32185)
+			ts+32232)
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64,
-			ts+32250)
+			ts+32297)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -133273,7 +133331,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
 	}
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32294, uintptr(0), uintptr(0), p+64)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32341, uintptr(0), uintptr(0), p+64)
 	}
 
 	rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp)))
@@ -133301,7 +133359,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 {
 						if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 							rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-								ts+32319, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
+								ts+32366, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 						}
 					} else {
 						rbuObjIterPrepareAll(tls, p, pIter, 0)
@@ -133423,7 +133481,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) {
 
 		if rc == SQLITE_OK && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) {
 			rc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32347, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32394, 0)
 		}
 
 		if rc == SQLITE_OK {
@@ -133439,7 +133497,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	var zOal uintptr = rbuMPrintf(tls, p, ts+31796, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
+	var zOal uintptr = rbuMPrintf(tls, p, ts+31843, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
 	if zOal != 0 {
 		*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6844, SQLITE_FCNTL_VFS_POINTER, bp+8)
@@ -133456,7 +133514,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) {
 	defer tls.Free(76)
 
 	Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8)
-	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+32372, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
+	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+32419, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12, uintptr(0))
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12)
@@ -133490,7 +133548,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) {
 
 	rc = prepareFreeAndCollectError(tls, db, bp+8, bp+16,
 		Xsqlite3_mprintf(tls,
-			ts+32383, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
+			ts+32430, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
 	if rc != SQLITE_OK {
 		Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 16)), -1)
 	} else {
@@ -133520,13 +133578,13 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+32455, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+32502, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuIndexCntFunc})), uintptr(0), uintptr(0))
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32469)
+				ts+32516)
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
@@ -133537,7 +133595,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && bExists != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32526)
+				ts+32573)
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
@@ -133611,7 +133669,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd != 0 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32600, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32647, 0)
 			} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_MOVE {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CKPT
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FnStep = 0
@@ -133629,12 +133687,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 			}()
 			if (*Rbu_file)(unsafe.Pointer(pFd)).FiCookie != (*RbuState)(unsafe.Pointer(pState)).FiCookie {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32632,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32679,
 					libc.VaList(bp+8, func() uintptr {
 						if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-							return ts + 32664
+							return ts + 32711
 						}
-						return ts + 32671
+						return ts + 32718
 					}()))
 			}
 		}
@@ -133658,14 +133716,14 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32678, uintptr(0), uintptr(0), p+64)
+						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32725, uintptr(0), uintptr(0), p+64)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 						var frc int32 = Xsqlite3_file_control(tls, db, ts+6844, SQLITE_FCNTL_ZIPVFS, uintptr(0))
 						if frc == SQLITE_OK {
 							(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls,
-								db, ts+32694, uintptr(0), uintptr(0), p+64)
+								db, ts+32741, uintptr(0), uintptr(0), p+64)
 						}
 					}
 
@@ -133719,7 +133777,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr
 	}
 	if zState != 0 {
 		var n int32 = int32(libc.Xstrlen(tls, zState))
-		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32718, zState+uintptr(n-7), uint64(7)) {
+		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32765, zState+uintptr(n-7), uint64(7)) {
 			return rbuMisuseError(tls)
 		}
 	}
@@ -133746,7 +133804,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) {
 		var i uint32
 		var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg)
 		for i = uint32(0); Size_t(i) < nErrmsg-uint64(8); i++ {
-			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30743, uint64(8)) == 0 {
+			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30790, uint64(8)) == 0 {
 				var nDel int32 = 8
 				for int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= '0' && int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= '9' {
 					nDel++
@@ -133782,7 +133840,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 {
 		rbuObjIterFinalize(tls, p+80)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 {
-			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32726, uintptr(0), uintptr(0), uintptr(0))
+			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32773, uintptr(0), uintptr(0), uintptr(0))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE && rc2 != SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 			}
@@ -133901,12 +133959,12 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 				zBegin = ts + 14906
 			} else {
-				zBegin = ts + 32678
+				zBegin = ts + 32725
 			}
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32678, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32725, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -134252,7 +134310,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 			})(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16)
 			if rc == SQLITE_OK {
 				rc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32753, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32800, 0)
 			} else if rc == SQLITE_NOTFOUND {
 				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p
 				(*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu
@@ -134277,7 +134335,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 	if rc == SQLITE_OK && op == SQLITE_FCNTL_VFSNAME {
 		var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs
 		var zIn uintptr = *(*uintptr)(unsafe.Pointer(pArg))
-		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32776, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
+		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32823, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
 		*(*uintptr)(unsafe.Pointer(pArg)) = zOut
 		if zOut == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -134437,7 +134495,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags
 	}
 
 	if oflags&SQLITE_OPEN_MAIN_DB != 0 &&
-		Xsqlite3_uri_boolean(tls, zName, ts+32787, 0) != 0 {
+		Xsqlite3_uri_boolean(tls, zName, ts+32834, 0) != 0 {
 		oflags = SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE
 		zOpen = uintptr(0)
 	}
@@ -135266,7 +135324,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 		rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0))
 		if rc == SQLITE_OK {
 			zPragma = Xsqlite3_mprintf(tls,
-				ts+32798, 0)
+				ts+32845, 0)
 		} else if rc == SQLITE_ERROR {
 			zPragma = Xsqlite3_mprintf(tls, ts+1547, 0)
 		} else {
@@ -135279,7 +135337,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 			return rc
 		}
 	} else {
-		zPragma = Xsqlite3_mprintf(tls, ts+32919, libc.VaList(bp, zDb, zThis))
+		zPragma = Xsqlite3_mprintf(tls, ts+32966, libc.VaList(bp, zDb, zThis))
 	}
 	if !(zPragma != 0) {
 		*(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0)
@@ -135959,9 +136017,9 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr,
 
 	for i = 0; i < nCol; i++ {
 		if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
-			zRet = Xsqlite3_mprintf(tls, ts+32948,
+			zRet = Xsqlite3_mprintf(tls, ts+32995,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 21975
+			zSep = ts + 22022
 			if zRet == uintptr(0) {
 				break
 			}
@@ -135984,9 +136042,9 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 		if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 {
 			bHave = 1
 			zRet = Xsqlite3_mprintf(tls,
-				ts+32982,
+				ts+33029,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 33023
+			zSep = ts + 33070
 			if zRet == uintptr(0) {
 				break
 			}
@@ -135994,7 +136052,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 	}
 
 	if bHave == 0 {
-		zRet = Xsqlite3_mprintf(tls, ts+7933, 0)
+		zRet = Xsqlite3_mprintf(tls, ts+7922, 0)
 	}
 
 	return zRet
@@ -136005,7 +136063,7 @@ func sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, zTbl uintpt
 	defer tls.Free(40)
 
 	var zRet uintptr = Xsqlite3_mprintf(tls,
-		ts+33028,
+		ts+33075,
 		libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr))
 	return zRet
 }
@@ -136048,7 +136106,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro
 		rc = SQLITE_NOMEM
 	} else {
 		var zStmt uintptr = Xsqlite3_mprintf(tls,
-			ts+33106,
+			ts+33153,
 			libc.VaList(bp, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2))
 		if zStmt == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -136175,7 +136233,7 @@ __6:
 	if !(pzErrMsg != 0) {
 		goto __16
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+33159, 0)
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+33206, 0)
 __16:
 	;
 	rc = SQLITE_SCHEMA
@@ -136651,7 +136709,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 
 	if 0 == Xsqlite3_stricmp(tls, ts+11751, zTab) {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+33186, libc.VaList(bp, zDb))
+			ts+33233, libc.VaList(bp, zDb))
 		if zSql == uintptr(0) {
 			*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_NOMEM
 		}
@@ -136660,18 +136718,18 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 		var zSep uintptr = ts + 1547
 		*(*SessionBuffer)(unsafe.Pointer(bp + 8)) = SessionBuffer{}
 
-		sessionAppendStr(tls, bp+8, ts+33296, bp+24)
+		sessionAppendStr(tls, bp+8, ts+33343, bp+24)
 		sessionAppendIdent(tls, bp+8, zDb, bp+24)
 		sessionAppendStr(tls, bp+8, ts+1560, bp+24)
 		sessionAppendIdent(tls, bp+8, zTab, bp+24)
-		sessionAppendStr(tls, bp+8, ts+33311, bp+24)
+		sessionAppendStr(tls, bp+8, ts+33358, bp+24)
 		for i = 0; i < nCol; i++ {
 			if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
 				sessionAppendStr(tls, bp+8, zSep, bp+24)
 				sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+24)
-				sessionAppendStr(tls, bp+8, ts+33319, bp+24)
+				sessionAppendStr(tls, bp+8, ts+33366, bp+24)
 				sessionAppendInteger(tls, bp+8, i+1, bp+24)
-				zSep = ts + 21975
+				zSep = ts + 22022
 			}
 		}
 		zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8)).FaBuf
@@ -136780,7 +136838,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 {
 		return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc
 	}
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+33325, uintptr(0), uintptr(0), uintptr(0))
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+33372, uintptr(0), uintptr(0), uintptr(0))
 	if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
@@ -136872,7 +136930,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	}
 
 	Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24)).FaBuf)
-	Xsqlite3_exec(tls, db, ts+33345, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+33392, uintptr(0), uintptr(0), uintptr(0))
 	Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db))
 	return *(*int32)(unsafe.Pointer(bp + 40))
 }
@@ -137135,7 +137193,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 		rc = sessionInputBuffer(tls, pIn, 9)
 		if rc == SQLITE_OK {
 			if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData {
-				rc = Xsqlite3CorruptError(tls, 219078)
+				rc = Xsqlite3CorruptError(tls, 219169)
 			} else {
 				eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1)))))
 
@@ -137158,7 +137216,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 				rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
 				if rc == SQLITE_OK {
 					if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext {
-						rc = Xsqlite3CorruptError(tls, 219098)
+						rc = Xsqlite3CorruptError(tls, 219189)
 					} else {
 						var enc U8 = func() uint8 {
 							if eType == SQLITE_TEXT {
@@ -137200,7 +137258,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in
 		nRead = nRead + sessionVarintGet(tls, (*SessionInput)(unsafe.Pointer(pIn)).FaData+uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext+nRead), bp)
 
 		if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > 65536 {
-			rc = Xsqlite3CorruptError(tls, 219152)
+			rc = Xsqlite3CorruptError(tls, 219243)
 		} else {
 			rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100)
 			nRead = nRead + *(*int32)(unsafe.Pointer(bp))
@@ -137261,7 +137319,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 {
 			(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
 			sessionBufferGrow(tls, p+72, int64(nByte), bp+4)
 		} else {
-			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219240)
+			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219331)
 		}
 	}
 
@@ -137335,13 +137393,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 	}
 
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219326))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219417))
 	}
 
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op)
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))))
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219332))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219423))
 	}
 
 	if paRec != 0 {
@@ -137403,7 +137461,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 				if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8))
 					if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) {
-						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219376))
+						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219467))
 					}
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0)
 				}
@@ -137776,7 +137834,7 @@ __27:
 	goto __6
 
 __11:
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219741)
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219832)
 	goto finished_invert
 __6:
 	;
@@ -137955,34 +138013,34 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32,
 				(*SessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24
 				libc.X__builtin___memcpy_chk(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(unsafe.Sizeof(U32(0))), libc.X__builtin_object_size(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FaMask, 0))
 
-				sessionAppendStr(tls, bp, ts+33363, bp+16)
+				sessionAppendStr(tls, bp, ts+33410, bp+16)
 				sessionAppendIdent(tls, bp, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+16)
-				sessionAppendStr(tls, bp, ts+33376, bp+16)
+				sessionAppendStr(tls, bp, ts+33423, bp+16)
 
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-						sessionAppendStr(tls, bp, ts+33382, bp+16)
+						sessionAppendStr(tls, bp, ts+33429, bp+16)
 						sessionAppendInteger(tls, bp, ii*2+1, bp+16)
 						zSep = ts + 15017
 					}
 				}
 
 				zSep = ts + 1547
-				sessionAppendStr(tls, bp, ts+33311, bp+16)
+				sessionAppendStr(tls, bp, ts+33358, bp+16)
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						if bStat1 != 0 && ii == 1 {
 							sessionAppendStr(tls, bp,
-								ts+33387, bp+16)
+								ts+33434, bp+16)
 						} else {
 							sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-							sessionAppendStr(tls, bp, ts+33319, bp+16)
+							sessionAppendStr(tls, bp, ts+33366, bp+16)
 							sessionAppendInteger(tls, bp, ii*2+2, bp+16)
 						}
-						zSep = ts + 21975
+						zSep = ts + 22022
 					}
 				}
 
@@ -138034,34 +138092,34 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 	var nPk int32 = 0
 
-	sessionAppendStr(tls, bp, ts+33462, bp+16)
+	sessionAppendStr(tls, bp, ts+33509, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+33311, bp+16)
+	sessionAppendStr(tls, bp, ts+33358, bp+16)
 
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 			nPk++
 			sessionAppendStr(tls, bp, zSep, bp+16)
 			sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-			sessionAppendStr(tls, bp, ts+33382, bp+16)
+			sessionAppendStr(tls, bp, ts+33429, bp+16)
 			sessionAppendInteger(tls, bp, i+1, bp+16)
-			zSep = ts + 21975
+			zSep = ts + 22022
 		}
 	}
 
 	if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol {
-		sessionAppendStr(tls, bp, ts+33480, bp+16)
+		sessionAppendStr(tls, bp, ts+33527, bp+16)
 		sessionAppendInteger(tls, bp, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol+1, bp+16)
-		sessionAppendStr(tls, bp, ts+33023, bp+16)
+		sessionAppendStr(tls, bp, ts+33070, bp+16)
 
 		zSep = ts + 1547
 		for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 			if !(int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i)))) != 0) {
 				sessionAppendStr(tls, bp, zSep, bp+16)
 				sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-				sessionAppendStr(tls, bp, ts+33319, bp+16)
+				sessionAppendStr(tls, bp, ts+33366, bp+16)
 				sessionAppendInteger(tls, bp, i+1, bp+16)
-				zSep = ts + 33488
+				zSep = ts + 33535
 			}
 		}
 		sessionAppendStr(tls, bp, ts+5360, bp+16)
@@ -138088,9 +138146,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	var i int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 
-	sessionAppendStr(tls, bp, ts+33493, bp+16)
+	sessionAppendStr(tls, bp, ts+33540, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+21981, bp+16)
+	sessionAppendStr(tls, bp, ts+22028, bp+16)
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if i != 0 {
 			sessionAppendStr(tls, bp, ts+15017, bp+16)
@@ -138098,9 +138156,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 		sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
 	}
 
-	sessionAppendStr(tls, bp, ts+33511, bp+16)
+	sessionAppendStr(tls, bp, ts+33558, bp+16)
 	for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
-		sessionAppendStr(tls, bp, ts+33522, bp+16)
+		sessionAppendStr(tls, bp, ts+33569, bp+16)
 	}
 	sessionAppendStr(tls, bp, ts+5360, bp+16)
 
@@ -138119,11 +138177,11 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 {
 	var rc int32 = sessionSelectRow(tls, db, ts+11751, p)
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+16,
-			ts+33526)
+			ts+33573)
 	}
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+8,
-			ts+33639)
+			ts+33686)
 	}
 	return rc
 }
@@ -138151,7 +138209,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab
 				f func(*libc.TLS, uintptr, int32, uintptr) int32
 			})(unsafe.Pointer(&struct{ uintptr }{xValue})).f(tls, pIter, i, bp)
 			if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
-				rc = Xsqlite3CorruptError(tls, 220219)
+				rc = Xsqlite3CorruptError(tls, 220310)
 			} else {
 				rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp)))
 			}
@@ -138404,7 +138462,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 		if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
 			rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 		} else if *(*int32)(unsafe.Pointer(bp)) != 0 {
-			rc = Xsqlite3_exec(tls, db, ts+33783, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33830, uintptr(0), uintptr(0), uintptr(0))
 			if rc == SQLITE_OK {
 				rc = sessionBindRow(tls, pIter,
 					*(*uintptr)(unsafe.Pointer(&struct {
@@ -138420,7 +138478,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 				rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 			}
 			if rc == SQLITE_OK {
-				rc = Xsqlite3_exec(tls, db, ts+33804, uintptr(0), uintptr(0), uintptr(0))
+				rc = Xsqlite3_exec(tls, db, ts+33851, uintptr(0), uintptr(0), uintptr(0))
 			}
 		}
 	}
@@ -138493,10 +138551,10 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 	(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FbInvertConstraints = libc.BoolInt32(!!(flags&SQLITE_CHANGESETAPPLY_INVERT != 0))
 	Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db))
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
-		rc = Xsqlite3_exec(tls, db, ts+33823, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33870, uintptr(0), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_exec(tls, db, ts+33849, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33896, uintptr(0), uintptr(0), uintptr(0))
 	}
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3changeset_next(tls, pIter) {
 		Xsqlite3changeset_op(tls, pIter, bp+176, bp+184, bp+188, uintptr(0))
@@ -138555,16 +138613,16 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 				if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol == 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33879, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+33926, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol < *(*int32)(unsafe.Pointer(bp + 184)) {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33923,
+						ts+33970,
 						libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 200)), (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol, *(*int32)(unsafe.Pointer(bp + 184))))
 				} else if *(*int32)(unsafe.Pointer(bp + 184)) < nMinCol || libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 192)), uint64(*(*int32)(unsafe.Pointer(bp + 184)))) != 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33994, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+34041, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else {
 					(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FnCol = *(*int32)(unsafe.Pointer(bp + 184))
 					if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), ts+11751) {
@@ -138618,14 +138676,14 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 			}
 		}
 	}
-	Xsqlite3_exec(tls, db, ts+34054, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+34101, uintptr(0), uintptr(0), uintptr(0))
 
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, db, ts+34084, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+34131, uintptr(0), uintptr(0), uintptr(0))
 		} else {
-			Xsqlite3_exec(tls, db, ts+34108, uintptr(0), uintptr(0), uintptr(0))
-			Xsqlite3_exec(tls, db, ts+34084, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+34155, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+34131, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -139873,7 +139931,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) {
 		fts5yy_pop_parser_stack(tls, fts5yypParser)
 	}
 
-	sqlite3Fts5ParseError(tls, pParse, ts+34136, 0)
+	sqlite3Fts5ParseError(tls, pParse, ts+34183, 0)
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -140161,7 +140219,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32
 
 	_ = fts5yymajor
 	sqlite3Fts5ParseError(tls,
-		pParse, ts+34164, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
+		pParse, ts+34211, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -140348,7 +140406,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int
 		if n < 0 {
 			n = int32(libc.Xstrlen(tls, z))
 		}
-		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+34195, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
+		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+34242, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
 		if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) {
 			*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 		}
@@ -140416,7 +140474,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp
 	var iCol int32
 
 	if nVal != 3 {
-		var zErr uintptr = ts + 34202
+		var zErr uintptr = ts + 34249
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -140598,7 +140656,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
 	var nCol int32
 
 	if nVal != 5 {
-		var zErr uintptr = ts + 34252
+		var zErr uintptr = ts + 34299
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -140922,13 +140980,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(96)
 
 	*(*[3]Builtin)(unsafe.Pointer(bp)) = [3]Builtin{
-		{FzFunc: ts + 34300, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 34347, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5SnippetFunction}))},
-		{FzFunc: ts + 34308, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 34355, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5HighlightFunction}))},
-		{FzFunc: ts + 34318, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 34365, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5Bm25Function}))},
 	}
@@ -141479,7 +141537,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 	var nCmd int32 = int32(libc.Xstrlen(tls, zCmd))
-	if Xsqlite3_strnicmp(tls, ts+34323, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34370, zCmd, nCmd) == 0 {
 		var nByte int32 = int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))
 		var p uintptr
 		var bFirst int32 = 1
@@ -141506,14 +141564,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 				break
 			}
 			if int32(*(*int8)(unsafe.Pointer(p))) < '0' || int32(*(*int8)(unsafe.Pointer(p))) > '9' {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34330, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34377, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
 
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES {
 				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-					ts+34361, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
+					ts+34408, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -141524,7 +141582,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 			}
 
 			if nPre <= 0 || nPre >= 1000 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34394, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34441, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -141537,7 +141595,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34431, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34478, zCmd, nCmd) == 0 {
 		var p uintptr = zArg
 		var nArg Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zArg) + uint64(1))
 		var azArg uintptr = sqlite3Fts5MallocZero(tls, bp+40, int64(uint64(unsafe.Sizeof(uintptr(0)))*uint64(nArg)))
@@ -141546,7 +141604,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 		if azArg != 0 && pSpace != 0 {
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34440, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34487, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				for nArg = int64(0); p != 0 && *(*int8)(unsafe.Pointer(p)) != 0; nArg++ {
@@ -141565,7 +141623,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 					}
 				}
 				if p == uintptr(0) {
-					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34473, 0)
+					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34520, 0)
 					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				} else {
 					*(*int32)(unsafe.Pointer(bp + 40)) = sqlite3Fts5GetTokenizer(tls, pGlobal,
@@ -141580,14 +141638,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34507, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34554, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34515, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34562, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			if *(*int8)(unsafe.Pointer(zArg)) != 0 {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_EXTERNAL
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34547, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34594, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
 			} else {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE
 			}
@@ -141595,9 +141653,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34553, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34600, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34567, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34614, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40, zArg, -1)
@@ -141605,9 +141663,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34605, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34652, zCmd, nCmd) == 0 {
 		if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34616, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34663, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')
@@ -141619,17 +141677,17 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		*(*[4]Fts5Enum)(unsafe.Pointer(bp + 48)) = [4]Fts5Enum{
 			{FzName: ts + 8429, FeVal: FTS5_DETAIL_NONE},
 			{FzName: ts + 17767},
-			{FzName: ts + 34651, FeVal: FTS5_DETAIL_COLUMNS},
+			{FzName: ts + 34698, FeVal: FTS5_DETAIL_COLUMNS},
 			{},
 		}
 
 		if libc.AssignPtrInt32(bp+40, fts5ConfigSetEnum(tls, bp+48, zArg, pConfig+92)) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34659, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34706, 0)
 		}
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34690, libc.VaList(bp+24, nCmd, zCmd))
+	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34737, libc.VaList(bp+24, nCmd, zCmd))
 	return SQLITE_ERROR
 }
 
@@ -141676,15 +141734,15 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr,
 	defer tls.Free(16)
 
 	var rc int32 = SQLITE_OK
-	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22641) ||
+	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22688) ||
 		0 == Xsqlite3_stricmp(tls, zCol, ts+16673) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34718, libc.VaList(bp, zCol))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34765, libc.VaList(bp, zCol))
 		rc = SQLITE_ERROR
 	} else if zArg != 0 {
-		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34748) {
+		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34795) {
 			*(*U8)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*Fts5Config)(unsafe.Pointer(p)).FnCol))) = U8(1)
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34758, libc.VaList(bp+8, zArg))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34805, libc.VaList(bp+8, zArg))
 			rc = SQLITE_ERROR
 		}
 	}
@@ -141701,13 +141759,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_OK
 	*(*Fts5Buffer)(unsafe.Pointer(bp + 32)) = Fts5Buffer{}
 
-	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34789, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
+	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34836, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
 	if (*Fts5Config)(unsafe.Pointer(p)).FeContent != FTS5_CONTENT_NONE {
 		for i = 0; i < (*Fts5Config)(unsafe.Pointer(p)).FnCol; i++ {
 			if (*Fts5Config)(unsafe.Pointer(p)).FeContent == FTS5_CONTENT_EXTERNAL {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34794, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34841, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
 			} else {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34801, libc.VaList(bp+16, i))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34848, libc.VaList(bp+16, i))
 			}
 		}
 	}
@@ -141745,8 +141803,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 	(*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -1)
 	(*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize = 1
 	(*Fts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL
-	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22641) == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34809, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
+	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22688) == 0 {
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34856, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
 		*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 	}
 
@@ -141778,7 +141836,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 
 		if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK {
 			if z == uintptr(0) {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34838, libc.VaList(bp+8, zOrig))
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34885, libc.VaList(bp+8, zOrig))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				if bOption != 0 {
@@ -141815,14 +141873,14 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 		var zTail uintptr = uintptr(0)
 
 		if (*Fts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL {
-			zTail = ts + 34507
+			zTail = ts + 34554
 		} else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 {
-			zTail = ts + 34858
+			zTail = ts + 34905
 		}
 
 		if zTail != 0 {
 			(*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls,
-				bp+40, ts+34866, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
+				bp+40, ts+34913, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
 		}
 	}
 
@@ -141871,7 +141929,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_OK
 	var zSql uintptr
 
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34877, 0)
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34924, 0)
 	for i = 0; zSql != 0 && i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
 		var zSep uintptr = func() uintptr {
 			if i == 0 {
@@ -141879,10 +141937,10 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 			}
 			return ts + 15017
 		}()
-		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34893, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
+		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34940, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
 	}
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34900,
-		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22641))
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34947,
+		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22688))
 
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql)
@@ -141992,7 +142050,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 
 	var rc int32 = SQLITE_OK
 
-	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34926) {
+	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34973) {
 		var pgsz int32 = 0
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			pgsz = Xsqlite3_value_int(tls, pVal)
@@ -142002,7 +142060,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34931) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34978) {
 		var nHashSize int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nHashSize = Xsqlite3_value_int(tls, pVal)
@@ -142012,7 +142070,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34940) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34987) {
 		var nAutomerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nAutomerge = Xsqlite3_value_int(tls, pVal)
@@ -142025,7 +142083,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34950) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34997) {
 		var nUsermerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nUsermerge = Xsqlite3_value_int(tls, pVal)
@@ -142035,7 +142093,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34960) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+35007) {
 		var nCrisisMerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nCrisisMerge = Xsqlite3_value_int(tls, pVal)
@@ -142051,7 +142109,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22641) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22688) {
 		var zIn uintptr = Xsqlite3_value_text(tls, pVal)
 
 		rc = sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8)
@@ -142074,7 +142132,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 	bp := tls.Alloc(52)
 	defer tls.Free(52)
 
-	var zSelect uintptr = ts + 34972
+	var zSelect uintptr = ts + 35019
 	var zSql uintptr
 	*(*uintptr)(unsafe.Pointer(bp + 40)) = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
@@ -142096,7 +142154,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) {
 			var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 0)
 			var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 1)
-			if 0 == Xsqlite3_stricmp(tls, zK, ts+35004) {
+			if 0 == Xsqlite3_stricmp(tls, zK, ts+35051) {
 				iVersion = Xsqlite3_value_int(tls, pVal)
 			} else {
 				*(*int32)(unsafe.Pointer(bp + 48)) = 0
@@ -142110,7 +142168,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 {
 			*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-				ts+35012,
+				ts+35059,
 				libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION))
 		}
 	}
@@ -142208,7 +142266,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 					}
 				}
 				if int32(*(*int8)(unsafe.Pointer(z2))) == 0 {
-					sqlite3Fts5ParseError(tls, pParse, ts+35077, 0)
+					sqlite3Fts5ParseError(tls, pParse, ts+35124, 0)
 					return FTS5_EOF
 				}
 			}
@@ -142221,20 +142279,20 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 		{
 			var z2 uintptr
 			if sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z))) == 0 {
-				sqlite3Fts5ParseError(tls, pParse, ts+35097, libc.VaList(bp, z))
+				sqlite3Fts5ParseError(tls, pParse, ts+35144, libc.VaList(bp, z))
 				return FTS5_EOF
 			}
 			tok = FTS5_STRING
 			for z2 = z + 1; sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z2))) != 0; z2++ {
 			}
 			(*Fts5Token)(unsafe.Pointer(pToken)).Fn = int32((int64(z2) - int64(z)) / 1)
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+35128, uint64(2)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+35175, uint64(2)) == 0 {
 				tok = FTS5_OR
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+35131, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+35178, uint64(3)) == 0 {
 				tok = FTS5_NOT
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30513, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30560, uint64(3)) == 0 {
 				tok = FTS5_AND
 			}
 			break
@@ -144012,9 +144070,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+35135, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
+	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+35182, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
 		sqlite3Fts5ParseError(tls,
-			pParse, ts+34164, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
+			pParse, ts+34211, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
 	}
 }
 
@@ -144030,7 +144088,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p
 				var c int8 = *(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))
 				if int32(c) < '0' || int32(c) > '9' {
 					sqlite3Fts5ParseError(tls,
-						pParse, ts+35140, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
+						pParse, ts+35187, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
 					return
 				}
 				nNear = nNear*10 + (int32(*(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - '0')
@@ -144117,7 +144175,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui
 			}
 		}
 		if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol {
-			sqlite3Fts5ParseError(tls, pParse, ts+20978, libc.VaList(bp, z))
+			sqlite3Fts5ParseError(tls, pParse, ts+21025, libc.VaList(bp, z))
 		} else {
 			pRet = fts5ParseColset(tls, pParse, pColset, iCol)
 		}
@@ -144198,7 +144256,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo
 	*(*uintptr)(unsafe.Pointer(bp)) = pColset
 	if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE {
 		sqlite3Fts5ParseError(tls, pParse,
-			ts+35169, 0)
+			ts+35216, 0)
 	} else {
 		fts5ParseSetColset(tls, pParse, pExpr, pColset, bp)
 	}
@@ -144368,12 +144426,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 1 ||
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*Fts5ExprTerm)(unsafe.Pointer(pPhrase+32)).FbFirst != 0 {
 							sqlite3Fts5ParseError(tls, pParse,
-								ts+35222,
+								ts+35269,
 								libc.VaList(bp, func() uintptr {
 									if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 {
-										return ts + 35272
+										return ts + 35319
 									}
-									return ts + 35135
+									return ts + 35182
 								}()))
 							Xsqlite3_free(tls, pRet)
 							pRet = uintptr(0)
@@ -145316,7 +145374,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK {
 			var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 			rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb,
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+35279, iRowid, 0, p+56)
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+35326, iRowid, 0, p+56)
 		}
 
 		if rc == SQLITE_ERROR {
@@ -145395,7 +145453,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in
 	if (*Fts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+64, Xsqlite3_mprintf(tls,
-			ts+35285,
+			ts+35332,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 		if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 			return
@@ -145420,7 +145478,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = Xsqlite3_mprintf(tls,
-			ts+35336,
+			ts+35383,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if fts5IndexPrepareStmt(tls, p, p+72, zSql) != 0 {
 			return
@@ -145443,7 +145501,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+88, Xsqlite3_mprintf(tls,
-			ts+35385,
+			ts+35432,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -145682,7 +145740,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 {
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) {
 			(*Fts5Index)(unsafe.Pointer(p)).Frc = fts5IndexPrepareStmt(tls, p, p+112,
-				Xsqlite3_mprintf(tls, ts+35425, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
+				Xsqlite3_mprintf(tls, ts+35472, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
 			if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 				return int64(0)
 			}
@@ -146881,7 +146939,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls,
-			ts+35448,
+			ts+35495,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect
@@ -148347,7 +148405,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls,
-			ts+35532,
+			ts+35579,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 
@@ -149429,13 +149487,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		(*Fts5Index)(unsafe.Pointer(p)).FpConfig = pConfig
 		(*Fts5Index)(unsafe.Pointer(p)).FnWorkUnit = FTS5_WORK_UNIT
-		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35589, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35636, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 {
 			*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+25506, ts+35597, 0, pzErr)
+				pConfig, ts+25553, ts+35644, 0, pzErr)
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 				*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls, pConfig, ts+11891,
-					ts+35632,
+					ts+35679,
 					1, pzErr)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
@@ -149688,7 +149746,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 {
 	sqlite3Fts5Put32(tls, bp, iNew)
 
 	rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl,
-		ts+35279, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
+		ts+35326, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
 	if rc == SQLITE_OK {
 		Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, 4, 0)
 		rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
@@ -149802,7 +149860,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) {
 	}
 
 	fts5IndexPrepareStmt(tls, p, bp+24, Xsqlite3_mprintf(tls,
-		ts+35676,
+		ts+35723,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid)))
 
 	for (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
@@ -149972,7 +150030,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks
 		} else {
 			(*Fts5Buffer)(unsafe.Pointer(bp + 16)).Fn = 0
 			fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp))+96+uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaFirst+1*4)).FiFirst)*120, uintptr(0), bp+16)
-			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35762)
+			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35809)
 			for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fn, bp+32, bp+40) {
 				var iCol int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) >> 32)
 				var iTokOff int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) & int64(0x7FFFFFFF))
@@ -150243,7 +150301,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 {
 
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 {
 		(*Fts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+35767, 0)
+			ts+35814, 0)
 		return SQLITE_ERROR
 	}
 
@@ -150667,7 +150725,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 	(*Fts5Sorter)(unsafe.Pointer(pSorter)).FnIdx = nPhrase
 
 	rc = fts5PrepareStatement(tls, pSorter, pConfig,
-		ts+35806,
+		ts+35853,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			func() uintptr {
 				if zRankArgs != 0 {
@@ -150683,9 +150741,9 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 			}(),
 			func() uintptr {
 				if bDesc != 0 {
-					return ts + 35861
+					return ts + 35908
 				}
-				return ts + 35866
+				return ts + 35913
 			}()))
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter
@@ -150731,12 +150789,12 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr)
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan = FTS5_PLAN_SPECIAL
 
-	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35870, z, n) {
+	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35917, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = I64(sqlite3Fts5IndexReads(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex))
 	} else if n == 2 && 0 == Xsqlite3_strnicmp(tls, ts+5460, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId
 	} else {
-		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35876, libc.VaList(bp, n, z))
+		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35923, libc.VaList(bp, n, z))
 		rc = SQLITE_ERROR
 	}
 
@@ -150767,7 +150825,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs
 
 	if zRankArgs != 0 {
-		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35904, libc.VaList(bp, zRankArgs))
+		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35951, libc.VaList(bp, zRankArgs))
 		if zSql != 0 {
 			*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 			*(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1,
@@ -150798,7 +150856,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 		pAux = fts5FindAuxiliary(tls, pTab, zRank)
 		if pAux == uintptr(0) {
-			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35914, libc.VaList(bp+8, zRank))
+			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35961, libc.VaList(bp+8, zRank))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		}
 	}
@@ -150830,14 +150888,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin
 			*(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_FREE_ZRANK
 		} else if rc == SQLITE_ERROR {
 			(*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35935, libc.VaList(bp, z))
+				ts+35982, libc.VaList(bp, z))
 		}
 	} else {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank != 0 {
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRankArgs
 		} else {
-			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 34318
+			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 34365
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0)
 		}
 	}
@@ -150893,7 +150951,7 @@ func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintp
 		goto __1
 	}
 	(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+35767, 0)
+		ts+35814, 0)
 	return SQLITE_ERROR
 __1:
 	;
@@ -151110,7 +151168,7 @@ __35:
 		goto __40
 	}
 	*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-		ts+35968, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		ts+36015, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	rc = SQLITE_ERROR
 	goto __41
 __40:
@@ -151255,28 +151313,28 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr)
 	var rc int32 = SQLITE_OK
 	*(*int32)(unsafe.Pointer(bp)) = 0
 
-	if 0 == Xsqlite3_stricmp(tls, ts+36004, zCmd) {
+	if 0 == Xsqlite3_stricmp(tls, ts+36051, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			fts5SetVtabError(tls, pTab,
-				ts+36015, 0)
+				ts+36062, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, ts+36095, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+36142, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE {
 			fts5SetVtabError(tls, pTab,
-				ts+36103, 0)
+				ts+36150, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
 	} else if 0 == Xsqlite3_stricmp(tls, ts+17356, zCmd) {
 		rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+36159, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+36206, zCmd) {
 		var nMerge int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageMerge(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, nMerge)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+36165, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+36212, zCmd) {
 		var iArg int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg)
 	} else {
@@ -151347,12 +151405,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p
 
 		if eType0 == SQLITE_INTEGER && fts5IsContentless(tls, pTab) != 0 {
 			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+36181,
+				ts+36228,
 				libc.VaList(bp, func() uintptr {
 					if nArg > 1 {
-						return ts + 20879
+						return ts + 20926
 					}
-					return ts + 36218
+					return ts + 36265
 				}(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		} else if nArg == 1 {
@@ -151982,7 +152040,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 
 	pCsr = fts5CursorFromCsrid(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId)
 	if pCsr == uintptr(0) || (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 {
-		var zErr uintptr = Xsqlite3_mprintf(tls, ts+36230, libc.VaList(bp, iCsrId))
+		var zErr uintptr = Xsqlite3_mprintf(tls, ts+36277, libc.VaList(bp, iCsrId))
 		Xsqlite3_result_error(tls, context, zErr, -1)
 		Xsqlite3_free(tls, zErr)
 	} else {
@@ -152226,7 +152284,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 	}())
 	if pMod == uintptr(0) {
 		rc = SQLITE_ERROR
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+36251, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+36298, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
 	} else {
 		rc = (*struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
@@ -152245,7 +152303,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 		(*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16
 		if rc != SQLITE_OK {
 			if pzErr != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+36273, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+36320, 0)
 			}
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls,
@@ -152292,7 +152350,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 	var ppApi uintptr
 	_ = nArg
 
-	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+36304)
+	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+36351)
 	if ppApi != 0 {
 		*(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal
 	}
@@ -152301,7 +152359,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) {
 	_ = nArg
 	_ = apUnused
-	Xsqlite3_result_text(tls, pCtx, ts+36317, -1, libc.UintptrFromInt32(-1))
+	Xsqlite3_result_text(tls, pCtx, ts+36364, -1, libc.UintptrFromInt32(-1))
 }
 
 func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
@@ -152315,7 +152373,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName2 = [5]uintptr{
-	ts + 36408, ts + 34507, ts + 25506, ts + 34858, ts + 11891,
+	ts + 36455, ts + 34554, ts + 25553, ts + 34905, ts + 11891,
 }
 
 func fts5Init(tls *libc.TLS, db uintptr) int32 {
@@ -152339,7 +152397,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		(*Fts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32
 		}{fts5FindTokenizer}))
-		rc = Xsqlite3_create_module_v2(tls, db, ts+36415, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+36462, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5IndexInit(tls, db)
 		}
@@ -152357,13 +152415,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+36415, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+				db, ts+36462, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
 				}{fts5Fts5Func})), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+36420, 0,
+				db, ts+36467, 0,
 				SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
 				p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
@@ -152420,17 +152478,17 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p
 
 	if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) {
 		*(*[11]uintptr)(unsafe.Pointer(bp + 128)) = [11]uintptr{
-			ts + 36435,
-			ts + 36503,
-			ts + 36572,
-			ts + 36605,
-			ts + 36644,
-			ts + 36684,
-			ts + 36723,
-			ts + 36764,
-			ts + 36803,
-			ts + 36845,
-			ts + 36885,
+			ts + 36482,
+			ts + 36550,
+			ts + 36619,
+			ts + 36652,
+			ts + 36691,
+			ts + 36731,
+			ts + 36770,
+			ts + 36811,
+			ts + 36850,
+			ts + 36892,
+			ts + 36932,
 		}
 		var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = uintptr(0)
@@ -152532,18 +152590,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 {
 	defer tls.Free(80)
 
 	var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36908,
+		ts+36955,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+37012,
+			ts+37059,
 			libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+37050,
+			ts+37097,
 			libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	return rc
@@ -152555,7 +152613,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin
 
 	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(pRc)) = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+37088,
+			ts+37135,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail))
 	}
 }
@@ -152567,14 +152625,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in
 	var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig
 	*(*int32)(unsafe.Pointer(bp)) = sqlite3Fts5StorageSync(tls, pStorage)
 
-	fts5StorageRenameOne(tls, pConfig, bp, ts+25506, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+25553, zName)
 	fts5StorageRenameOne(tls, pConfig, bp, ts+11891, zName)
-	fts5StorageRenameOne(tls, pConfig, bp, ts+36408, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+36455, zName)
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34858, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34905, zName)
 	}
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34507, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34554, zName)
 	}
 	return *(*int32)(unsafe.Pointer(bp))
 }
@@ -152586,17 +152644,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn
 	var rc int32
 	*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
-	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+37130,
+	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+37177,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn,
 			func() uintptr {
 				if bWithout != 0 {
-					return ts + 30159
+					return ts + 30206
 				}
 				return ts + 1547
 			}()))
 	if *(*uintptr)(unsafe.Pointer(bp + 64)) != 0 {
 		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-			ts+37160,
+			ts+37207,
 			libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64))))
 		Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
@@ -152633,27 +152691,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre
 			} else {
 				var i int32
 				var iOff int32
-				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+37204, 0)
+				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+37251, 0)
 				iOff = int32(libc.Xstrlen(tls, zDefn))
 				for i = 0; i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
-					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+37227, libc.VaList(bp, i))
+					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+37274, libc.VaList(bp, i))
 					iOff = iOff + int32(libc.Xstrlen(tls, zDefn+uintptr(iOff)))
 				}
-				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34507, zDefn, 0, pzErr)
+				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34554, zDefn, 0, pzErr)
 			}
 			Xsqlite3_free(tls, zDefn)
 		}
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+34858, ts+37233, 0, pzErr)
+				pConfig, ts+34905, ts+37280, 0, pzErr)
 		}
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+36408, ts+37265, 1, pzErr)
+				pConfig, ts+36455, ts+37312, 1, pzErr)
 		}
 		if rc == SQLITE_OK {
-			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+35004, uintptr(0), FTS5_CURRENT_VERSION)
+			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+35051, uintptr(0), FTS5_CURRENT_VERSION)
 		}
 	}
 
@@ -152859,12 +152917,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 	(*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0
 
 	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+37282,
+		ts+37329,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+37332,
+			ts+37379,
 			libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 
@@ -152872,7 +152930,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 		rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex)
 	}
 	if rc == SQLITE_OK {
-		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+35004, uintptr(0), FTS5_CURRENT_VERSION)
+		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+35051, uintptr(0), FTS5_CURRENT_VERSION)
 	}
 	return rc
 }
@@ -153048,7 +153106,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr)
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+37361,
+	zSql = Xsqlite3_mprintf(tls, ts+37408,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix))
 	if zSql == uintptr(0) {
 		rc = SQLITE_NOMEM
@@ -153230,14 +153288,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 {
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			*(*I64)(unsafe.Pointer(bp + 48)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34507, bp+48)
+			rc = fts5StorageCount(tls, p, ts+34554, bp+48)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 48)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
 		}
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			*(*I64)(unsafe.Pointer(bp + 56)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34858, bp+56)
+			rc = fts5StorageCount(tls, p, ts+34905, bp+56)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 56)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
@@ -153432,9 +153490,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32,
 			libc.X__builtin___memcpy_chk(tls, p, uintptr(unsafe.Pointer(&aAsciiTokenChar)), uint64(unsafe.Sizeof(aAsciiTokenChar)), libc.X__builtin_object_size(tls, p, 0))
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37393) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37440) {
 					fts5AsciiAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37404) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37451) {
 					fts5AsciiAddExceptions(tls, p, zArg, 0)
 				} else {
 					rc = SQLITE_ERROR
@@ -153649,7 +153707,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 	} else {
 		p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Unicode61Tokenizer{})))
 		if p != 0 {
-			var zCat uintptr = ts + 37415
+			var zCat uintptr = ts + 37462
 			var i int32
 			libc.X__builtin___memset_chk(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{})), libc.X__builtin_object_size(tls, p, 0))
 
@@ -153661,7 +153719,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 			}
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37424) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37471) {
 					zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
 				}
 			}
@@ -153672,18 +153730,18 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37435) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37482) {
 					if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' && int32(*(*int8)(unsafe.Pointer(zArg))) != '2' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 						rc = SQLITE_ERROR
 					} else {
 						(*Unicode61Tokenizer)(unsafe.Pointer(p)).FeRemoveDiacritic = int32(*(*int8)(unsafe.Pointer(zArg))) - '0'
 
 					}
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37393) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37440) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37404) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37451) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 0)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37424) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37471) {
 				} else {
 					rc = SQLITE_ERROR
 				}
@@ -153959,7 +154017,7 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp
 	var rc int32 = SQLITE_OK
 	var pRet uintptr
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
-	var zBase uintptr = ts + 37453
+	var zBase uintptr = ts + 37500
 
 	if nArg > 0 {
 		zBase = *(*uintptr)(unsafe.Pointer(azArg))
@@ -154101,7 +154159,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37463, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37510, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -154109,11 +154167,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37466, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37513, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37471, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37518, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -154121,7 +154179,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'e':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37476, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37523, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -154129,7 +154187,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37479, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37526, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -154137,11 +154195,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37482, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37529, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37487, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37534, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -154149,19 +154207,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37492, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37539, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37496, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37543, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37502, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37549, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37507, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37554, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -154169,11 +154227,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'o':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37511, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37558, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37515, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37562, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -154181,7 +154239,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 's':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37518, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37565, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -154189,11 +154247,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37522, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37569, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37526, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37573, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -154201,7 +154259,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37530, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37577, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -154209,7 +154267,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37534, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37581, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -154217,7 +154275,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37538, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37585, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -154233,24 +154291,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37542, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-2), ts+37522, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-2), 0))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37589, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-2), ts+37569, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-2), 0))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'b':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37545, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-2), ts+37548, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-2), 0))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37592, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-2), ts+37595, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-2), 0))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37552, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-2), ts+37538, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-2), 0))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37599, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-2), ts+37585, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-2), 0))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
@@ -154265,44 +154323,44 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37555, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37602, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-7), ts+37522, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-7), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-7), ts+37569, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-7), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37563, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37610, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-6), ts+37570, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-6), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-6), ts+37617, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-6), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 4
 			}
 		}
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37575, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37622, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37471, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37518, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37580, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37627, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37466, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37513, uint64(4), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
 		}
 		break
 
 	case 'e':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37585, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37632, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37538, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37585, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 'g':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37590, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37637, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+15883, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
@@ -154311,91 +154369,91 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37595, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37642, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-3), ts+37548, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-3), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-3), ts+37595, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-3), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37599, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37646, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37463, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37510, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37604, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37651, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37507, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37554, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37610, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37657, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-3), ts+37614, uint64(1), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-3), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-3), ts+37661, uint64(1), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-3), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 1
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37616, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37663, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37530, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37577, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
 		}
 		break
 
 	case 'o':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37622, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37669, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-7), ts+37538, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-7), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-7), ts+37585, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-7), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37630, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37677, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37522, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37569, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37636, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37683, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37522, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37569, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37641, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37688, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37463, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37510, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37647, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37694, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-7), ts+37534, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-7), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-7), ts+37581, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-7), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37655, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37702, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-7), ts+37663, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-7), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-7), ts+37710, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-7), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37667, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37714, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-7), ts+37530, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-7), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-7), ts+37577, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-7), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
 		}
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37675, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37722, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37463, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37510, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37681, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37728, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37534, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37581, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37687, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37734, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-6), ts+37548, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-6), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-6), ts+37595, uint64(3), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-6), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 3
 			}
 		}
@@ -154410,16 +154468,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37694, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37741, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37479, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-4), ts+37526, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-4), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37699, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37746, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -154427,21 +154485,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37704, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37751, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37479, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37526, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37710, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37757, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37479, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37526, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37663, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37710, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -154449,7 +154507,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37716, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37763, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
@@ -154457,9 +154515,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37722, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37769, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37463, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-5), ts+37510, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-5), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
@@ -154474,12 +154532,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'e':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37728, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37775, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-3), ts+37732, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-3), 0))
+				libc.X__builtin___memcpy_chk(tls, aBuf+uintptr(nBuf-3), ts+37779, uint64(2), libc.X__builtin_object_size(tls, aBuf+uintptr(nBuf-3), 0))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 2
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37735, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37782, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 				ret = 1
@@ -154488,7 +154546,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37738, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37785, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 				ret = 1
@@ -154644,7 +154702,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp
 		(*TrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = 1
 		for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 			var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37742) {
+			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37789) {
 				if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 					rc = SQLITE_ERROR
 				} else {
@@ -154824,22 +154882,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(128)
 
 	*(*[4]BuiltinTokenizer)(unsafe.Pointer(bp)) = [4]BuiltinTokenizer{
-		{FzName: ts + 37453, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37500, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5UnicodeCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5UnicodeDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5UnicodeTokenize}))}},
-		{FzName: ts + 37757, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37804, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5AsciiCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5AsciiDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5AsciiTokenize}))}},
-		{FzName: ts + 37763, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37810, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5PorterCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5PorterDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5PorterTokenize}))}},
-		{FzName: ts + 37770, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37817, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5TriCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5TriDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
@@ -155982,14 +156040,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint
 	var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8, zType, -1)
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		sqlite3Fts5Dequote(tls, zCopy)
-		if Xsqlite3_stricmp(tls, zCopy, ts+37778) == 0 {
+		if Xsqlite3_stricmp(tls, zCopy, ts+37825) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37782) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37829) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37786) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37833) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37795, libc.VaList(bp, zCopy))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37842, libc.VaList(bp, zCopy))
 			*(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_ERROR
 		}
 		Xsqlite3_free(tls, zCopy)
@@ -156015,19 +156073,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	defer tls.Free(36)
 
 	*(*[3]uintptr)(unsafe.Pointer(bp + 8)) = [3]uintptr{
-		ts + 37829,
-		ts + 37869,
-		ts + 37904,
+		ts + 37876,
+		ts + 37916,
+		ts + 37951,
 	}
 
 	var pRet uintptr = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
 	var bDb int32
 
-	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23802, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
+	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23849, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
 
 	if argc != 5 && bDb == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37947, 0)
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37994, 0)
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 	} else {
 		var nByte int32
@@ -156160,11 +156218,11 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 
 	if (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 {
 		(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+37980, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+			ts+38027, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 		return SQLITE_ERROR
 	}
 	zSql = sqlite3Fts5Mprintf(tls, bp+64,
-		ts+38011,
+		ts+38058,
 		libc.VaList(bp+16, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 64)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+72, uintptr(0))
@@ -156188,7 +156246,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 			*(*uintptr)(unsafe.Pointer(bp + 72)) = uintptr(0)
 			if *(*int32)(unsafe.Pointer(bp + 64)) == SQLITE_OK {
 				(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-					ts+38062, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+					ts+38109, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 				*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 			}
 		} else {
@@ -156583,7 +156641,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32
 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 {
 	var p uintptr = pGlobal
 
-	return Xsqlite3_create_module_v2(tls, db, ts+38088, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
+	return Xsqlite3_create_module_v2(tls, db, ts+38135, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
 }
 
 var fts5Vocab = Sqlite3_module{
@@ -156605,7 +156663,7 @@ var fts5Vocab = Sqlite3_module{
 // ************* End of stmt.c ***********************************************
 // Return the source-id for this library
 func Xsqlite3_sourceid(tls *libc.TLS) uintptr {
-	return ts + 38098
+	return ts + 38145
 }
 
 func init() {
@@ -157748,5 +157806,5 @@ func init() {
 	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError
 }
 
-var ts1 = "3.41.0\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-14.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00S\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00nfs\x00hfs\x00ufs\x00afpfs\x00smbfs\x00webdav\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00msdos\x00exfat\x00SQLITE_FORCE_PROXY_LOCKING\x00:auto:\x00fsync\x00/dev/urandom\x00sqliteplocks\x00/\x00dummy\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00break\x00path error (len %d)\x00read error (len %d)\x00create failed (%d)\x00write failed (%d)\x00rename failed (%d)\x00broke stale lock on %s\n\x00failed to break stale lock on %s, %s\n\x00-conch\x00.lock\x00:auto: (not held)\x00unix\x00unix-none\x00unix-dotfile\x00unix-posix\x00unix-flock\x00unix-afp\x00unix-nfs\x00unix-proxy\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00dylib\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00lock_proxy_file\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00failed to set lock proxy file\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00"
+var ts1 = "3.41.2\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-14.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00S\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00nfs\x00hfs\x00ufs\x00afpfs\x00smbfs\x00webdav\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00msdos\x00exfat\x00SQLITE_FORCE_PROXY_LOCKING\x00:auto:\x00fsync\x00/dev/urandom\x00sqliteplocks\x00/\x00dummy\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00break\x00path error (len %d)\x00read error (len %d)\x00create failed (%d)\x00write failed (%d)\x00rename failed (%d)\x00broke stale lock on %s\n\x00failed to break stale lock on %s, %s\n\x00-conch\x00.lock\x00:auto: (not held)\x00unix\x00unix-none\x00unix-dotfile\x00unix-posix\x00unix-flock\x00unix-afp\x00unix-nfs\x00unix-proxy\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00dylib\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00lock_proxy_file\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00failed to set lock proxy file\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00"
 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_386.go b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_386.go
index 9baeb026..9872e13b 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_386.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_freebsd_386.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_freebsd_386.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
@@ -747,11 +747,11 @@ const (
 	NC_OrderAgg                           = 0x8000000
 	NC_PartIdx                            = 0x000002
 	NC_SelfRef                            = 0x00002e
+	NC_Subquery                           = 0x000040
 	NC_UAggInfo                           = 0x000100
 	NC_UBaseReg                           = 0x000400
 	NC_UEList                             = 0x000080
 	NC_UUpsert                            = 0x000200
-	NC_VarSelect                          = 0x000040
 	NDEBUG                                = 1
 	NETGRAPHDISC                          = 6
 	NN                                    = 1
@@ -1957,7 +1957,7 @@ const (
 	SQLITE_SHM_UNLOCK                     = 1
 	SQLITE_SORTER_PMASZ                   = 250
 	SQLITE_SOUNDEX                        = 1
-	SQLITE_SOURCE_ID                      = "2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d"
+	SQLITE_SOURCE_ID                      = "2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da"
 	SQLITE_SO_ASC                         = 0
 	SQLITE_SO_DESC                        = 1
 	SQLITE_SO_UNDEFINED                   = -1
@@ -2065,8 +2065,8 @@ const (
 	SQLITE_UTF8                           = 1
 	SQLITE_VDBEINT_H                      = 0
 	SQLITE_VDBE_H                         = 0
-	SQLITE_VERSION                        = "3.41.0"
-	SQLITE_VERSION_NUMBER                 = 3041000
+	SQLITE_VERSION                        = "3.41.2"
+	SQLITE_VERSION_NUMBER                 = 3041002
 	SQLITE_VTABRISK_High                  = 2
 	SQLITE_VTABRISK_Low                   = 0
 	SQLITE_VTABRISK_Normal                = 1
@@ -5258,7 +5258,8 @@ type IndexedExpr1 = struct {
 	FiIdxCur       int32
 	FiIdxCol       int32
 	FbMaybeNullRow U8
-	F__ccgo_pad1   [3]byte
+	Faff           U8
+	F__ccgo_pad1   [2]byte
 	FpIENext       uintptr
 }
 
@@ -5879,17 +5880,18 @@ type Pager = Pager1
 
 // Handle type for pages.
 type PgHdr2 = struct {
-	FpPage      uintptr
-	FpData      uintptr
-	FpExtra     uintptr
-	FpCache     uintptr
-	FpDirty     uintptr
-	FpPager     uintptr
-	Fpgno       Pgno
-	Fflags      U16
-	FnRef       I16
-	FpDirtyNext uintptr
-	FpDirtyPrev uintptr
+	FpPage       uintptr
+	FpData       uintptr
+	FpExtra      uintptr
+	FpCache      uintptr
+	FpDirty      uintptr
+	FpPager      uintptr
+	Fpgno        Pgno
+	Fflags       U16
+	F__ccgo_pad1 [2]byte
+	FnRef        I64
+	FpDirtyNext  uintptr
+	FpDirtyPrev  uintptr
 }
 
 // Handle type for pages.
@@ -6096,7 +6098,7 @@ type PCache2 = struct {
 	FpDirty      uintptr
 	FpDirtyTail  uintptr
 	FpSynced     uintptr
-	FnRefSum     int32
+	FnRefSum     I64
 	FszCache     int32
 	FszSpill     int32
 	FszPage      int32
@@ -6895,7 +6897,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
 	_ = pMutex
 
 	if op < 0 || op >= int32(uint32(unsafe.Sizeof([10]Sqlite3StatValueType{}))/uint32(unsafe.Sizeof(Sqlite3StatValueType(0)))) {
-		return Xsqlite3MisuseError(tls, 23229)
+		return Xsqlite3MisuseError(tls, 23233)
 	}
 	if statMutex[op] != 0 {
 		pMutex = Xsqlite3Pcache1Mutex(tls)
@@ -15069,7 +15071,7 @@ func closePendingFds(tls *libc.TLS, pFile uintptr) {
 
 	for p = (*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused; p != 0; p = pNext {
 		pNext = (*UnixUnusedFd)(unsafe.Pointer(p)).FpNext
-		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38271)
+		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38275)
 		Xsqlite3_free(tls, p)
 	}
 	(*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused = uintptr(0)
@@ -15546,7 +15548,7 @@ func closeUnixFile(tls *libc.TLS, id uintptr) int32 {
 	var pFile uintptr = id
 	unixUnmapfile(tls, pFile)
 	if (*UnixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
-		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39055)
+		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39059)
 		(*UnixFile)(unsafe.Pointer(pFile)).Fh = -1
 	}
 
@@ -15837,7 +15839,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 {
 	if fd >= 0 {
 		return SQLITE_OK
 	}
-	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40676), ts+3371, bp+8, 40676)
+	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40680), ts+3371, bp+8, 40680)
 }
 
 func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
@@ -15854,14 +15856,14 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
 
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3659, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40717)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3659, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40721)
 	}
 
 	if int32((*UnixFile)(unsafe.Pointer(pFile)).FctrlFlags)&UNIXFILE_DIRSYNC != 0 {
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*12 + 4)))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, bp)
 		if rc == SQLITE_OK {
 			full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0)
-			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40731)
+			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40735)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -15881,7 +15883,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 {
 	rc = robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte)
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40762)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40766)
 	} else {
 		if nByte < (*UnixFile)(unsafe.Pointer(pFile)).FmmapSize {
 			(*UnixFile)(unsafe.Pointer(pFile)).FmmapSize = nByte
@@ -15949,7 +15951,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 {
 		if (*UnixFile)(unsafe.Pointer(pFile)).FszChunk <= 0 {
 			if robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte) != 0 {
 				storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
-				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40883)
+				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40887)
 			}
 		}
 
@@ -16176,7 +16178,7 @@ func unixShmPurge(tls *libc.TLS, pFd uintptr) {
 		}
 		Xsqlite3_free(tls, (*UnixShmNode)(unsafe.Pointer(p)).FapRegion)
 		if (*UnixShmNode)(unsafe.Pointer(p)).FhShm >= 0 {
-			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41442)
+			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41446)
 			(*UnixShmNode)(unsafe.Pointer(p)).FhShm = -1
 		}
 		(*UnixInodeInfo)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0)
@@ -16204,7 +16206,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32
 			rc = unixShmSystemLock(tls, pDbFd, F_WRLCK, (22+SQLITE_SHM_NLOCK)*4+SQLITE_SHM_NLOCK, 1)
 
 			if rc == SQLITE_OK && robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3290, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41499)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3290, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41503)
 			}
 		}
 	} else if int32((*flock)(unsafe.Pointer(bp+8)).Fl_type) == F_WRLCK {
@@ -16303,7 +16305,7 @@ __8:
 	if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) {
 		goto __10
 	}
-	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41624), ts+3254, zShm, 41624)
+	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41628), ts+3254, zShm, 41628)
 	goto shm_open_err
 __10:
 	;
@@ -16433,7 +16435,7 @@ __11:
 		goto __14
 	}
 	zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3325, zFile, 41768)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3325, zFile, 41772)
 	goto shmpage_out
 __14:
 	;
@@ -16479,7 +16481,7 @@ __16:
 	if !(pMem == libc.UintptrFromInt32(-1)) {
 		goto __20
 	}
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3412, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41795)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3412, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41799)
 	goto shmpage_out
 __20:
 	;
@@ -16718,7 +16720,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) {
 	if pNew == libc.UintptrFromInt32(-1) {
 		pNew = uintptr(0)
 		nNew = int64(0)
-		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42169)
+		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42173)
 
 		(*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeMax = int64(0)
 	}
@@ -16852,7 +16854,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 		unixEnterMutex(tls)
 		rc = findInodeInfo(tls, pNew, pNew+8)
 		if rc != SQLITE_OK {
-			robust_close(tls, pNew, h, 42672)
+			robust_close(tls, pNew, h, 42676)
 			h = -1
 		}
 		unixLeaveMutex(tls)
@@ -16873,7 +16875,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 	storeLastErrno(tls, pNew, 0)
 	if rc != SQLITE_OK {
 		if h >= 0 {
-			robust_close(tls, pNew, h, 42757)
+			robust_close(tls, pNew, h, 42761)
 		}
 	} else {
 		(*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle
@@ -17189,7 +17191,7 @@ __15:
 	if !(fd < 0) {
 		goto __19
 	}
-	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43198), ts+3254, zName, 43198)
+	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43202), ts+3254, zName, 43202)
 	if !(rc == SQLITE_OK) {
 		goto __20
 	}
@@ -17280,7 +17282,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		if *(*int32)(unsafe.Pointer(libc.X__error(tls))) == ENOENT {
 			rc = SQLITE_IOERR | int32(23)<<8
 		} else {
-			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3364, zPath, 43337)
+			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3364, zPath, 43341)
 		}
 		return rc
 	}
@@ -17288,9 +17290,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*12 + 4)))(tls, zPath, bp)
 		if rc == SQLITE_OK {
 			if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3781, zPath, 43347)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3781, zPath, 43351)
 			}
-			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43349)
+			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43353)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -17354,18 +17356,18 @@ func appendOnePathElement(tls *libc.TLS, pPath uintptr, zName uintptr, nName int
 		zIn = (*DbPath)(unsafe.Pointer(pPath)).FzOut
 		if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*12 + 4)))(tls, zIn, bp) != 0 {
 			if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != ENOENT {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43443), ts+3452, zIn, 43443)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43447), ts+3452, zIn, 43447)
 			}
 		} else if int32((*stat)(unsafe.Pointer(bp)).Fst_mode)&0170000 == 0120000 {
 			var got Ssize_t
 
 			if libc.PostIncInt32(&(*DbPath)(unsafe.Pointer(pPath)).FnSymlink, 1) > SQLITE_MAX_SYMLINK {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43449)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43453)
 				return
 			}
 			got = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*12 + 4)))(tls, zIn, bp+208, uint32(unsafe.Sizeof([1026]int8{}))-uint32(2))
 			if got <= 0 || got >= Ssize_t(unsafe.Sizeof([1026]int8{}))-2 {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43454), ts+3443, zIn, 43454)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43458), ts+3443, zIn, 43458)
 				return
 			}
 			*(*int8)(unsafe.Pointer(bp + 208 + uintptr(got))) = int8(0)
@@ -17405,14 +17407,14 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO
 	(*DbPath)(unsafe.Pointer(bp + 1028)).FzOut = zOut
 	if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' {
 		if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*12 + 4)))(tls, bp, uint32(unsafe.Sizeof([1026]int8{}))-uint32(2)) == uintptr(0) {
-			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43512), ts+3272, zPath, 43512)
+			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43516), ts+3272, zPath, 43516)
 		}
 		appendAllPathElements(tls, bp+1028, bp)
 	}
 	appendAllPathElements(tls, bp+1028, zPath)
 	*(*int8)(unsafe.Pointer(zOut + uintptr((*DbPath)(unsafe.Pointer(bp+1028)).FnUsed))) = int8(0)
 	if (*DbPath)(unsafe.Pointer(bp+1028)).Frc != 0 || (*DbPath)(unsafe.Pointer(bp+1028)).FnUsed < 2 {
-		return Xsqlite3CantopenError(tls, 43518)
+		return Xsqlite3CantopenError(tls, 43522)
 	}
 	if (*DbPath)(unsafe.Pointer(bp+1028)).FnSymlink != 0 {
 		return SQLITE_OK | int32(2)<<8
@@ -17507,7 +17509,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in
 			for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__error(tls))) == EINTR {
 				got = (*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*12 + 4)))(tls, fd, zBuf, uint32(nBuf))
 			}
-			robust_close(tls, uintptr(0), fd, 43619)
+			robust_close(tls, uintptr(0), fd, 43623)
 		}
 
 	}
@@ -18937,7 +18939,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 	libc.Xmemset(tls, pPgHdr+16, 0, uint32(unsafe.Sizeof(PgHdr{}))-uint32(uintptr(0)+16))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpPage = pPage
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpData = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpBuf
-	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*40
+	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*48
 	libc.Xmemset(tls, (*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra, 0, uint32(8))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpCache = pCache
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).Fpgno = pgno
@@ -18967,7 +18969,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 // reference count drops to 0, then it is made eligible for recycling.
 func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) {
 	(*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum--
-	if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 {
+	if libc.PreDecInt64(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1) == int64(0) {
 		if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_CLEAN != 0 {
 			pcacheUnpin(tls, p)
 		} else {
@@ -19018,7 +19020,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) {
 	*(*U16)(unsafe.Pointer(p + 28)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE))
 	*(*U16)(unsafe.Pointer(p + 28)) |= U16(PGHDR_CLEAN)
 
-	if int32((*PgHdr)(unsafe.Pointer(p)).FnRef) == 0 {
+	if (*PgHdr)(unsafe.Pointer(p)).FnRef == int64(0) {
 		pcacheUnpin(tls, p)
 	}
 }
@@ -19122,8 +19124,8 @@ func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) {
 }
 
 func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr {
-	bp := tls.Alloc(40)
-	defer tls.Free(40)
+	bp := tls.Alloc(48)
+	defer tls.Free(48)
 
 	var pTail uintptr
 	pTail = bp
@@ -19201,13 +19203,13 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr {
 //
 // This is not the total number of pages referenced, but the sum of the
 // reference count for all pages.
-func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 {
+func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) I64 {
 	return (*PCache)(unsafe.Pointer(pCache)).FnRefSum
 }
 
 // Return the number of references to the page supplied as an argument.
-func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 {
-	return int32((*PgHdr)(unsafe.Pointer(p)).FnRef)
+func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) I64 {
+	return (*PgHdr)(unsafe.Pointer(p)).FnRef
 }
 
 // Return the total number of pages in the cache.
@@ -21498,7 +21500,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 {
 
 	pPg = Xsqlite3PagerLookup(tls, pPager, iPg)
 	if pPg != 0 {
-		if Xsqlite3PcachePageRefcount(tls, pPg) == 1 {
+		if Xsqlite3PcachePageRefcount(tls, pPg) == int64(1) {
 			Xsqlite3PcacheDrop(tls, pPg)
 		} else {
 			rc = readDbPage(tls, pPg)
@@ -21931,7 +21933,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr,
 	var pageSize U32 = *(*U32)(unsafe.Pointer(pPageSize))
 
 	if (int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) == 0 || (*Pager)(unsafe.Pointer(pPager)).FdbSize == Pgno(0)) &&
-		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 &&
+		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) &&
 		pageSize != 0 && pageSize != U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) {
 		var pNew uintptr = uintptr(0)
 		*(*I64)(unsafe.Pointer(bp)) = int64(0)
@@ -22083,9 +22085,9 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr
 			Xsqlite3OsUnfetch(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, I64(pgno-Pgno(1))*(*Pager)(unsafe.Pointer(pPager)).FpageSize, pData)
 			return SQLITE_NOMEM
 		}
-		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*40
+		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*48
 		(*PgHdr)(unsafe.Pointer(p)).Fflags = U16(PGHDR_MMAP)
-		(*PgHdr)(unsafe.Pointer(p)).FnRef = int16(1)
+		(*PgHdr)(unsafe.Pointer(p)).FnRef = int64(1)
 		(*PgHdr)(unsafe.Pointer(p)).FpPager = pPager
 	}
 
@@ -22417,7 +22419,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 {
 
 		for rc == SQLITE_OK && pList != 0 {
 			var pNext uintptr = (*PgHdr)(unsafe.Pointer(pList)).FpDirty
-			if int32((*PgHdr)(unsafe.Pointer(pList)).FnRef) == 0 {
+			if (*PgHdr)(unsafe.Pointer(pList)).FnRef == int64(0) {
 				rc = pagerStress(tls, pPager, pList)
 			}
 			pList = pNext
@@ -22567,7 +22569,7 @@ __11:
 		goto __12
 	}
 
-	rc = Xsqlite3CantopenError(tls, 60235)
+	rc = Xsqlite3CantopenError(tls, 60239)
 __12:
 	;
 	if !(rc != SQLITE_OK) {
@@ -22948,7 +22950,7 @@ __7:
 	if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) {
 		goto __10
 	}
-	rc = Xsqlite3CantopenError(tls, 60754)
+	rc = Xsqlite3CantopenError(tls, 60758)
 	Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd)
 __10:
 	;
@@ -23054,7 +23056,7 @@ __24:
 }
 
 func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) {
-	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 {
+	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) {
 		pagerUnlockAndRollback(tls, pPager)
 	}
 }
@@ -23072,7 +23074,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla
 	if !(pgno == Pgno(0)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 60967)
+	return Xsqlite3CorruptError(tls, 60971)
 __1:
 	;
 	*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3)
@@ -23111,7 +23113,7 @@ __5:
 	if !(pgno == (*Pager)(unsafe.Pointer(pPager)).FlckPgno) {
 		goto __7
 	}
-	rc = Xsqlite3CorruptError(tls, 60999)
+	rc = Xsqlite3CorruptError(tls, 61003)
 	goto pager_acquire_err
 __7:
 	;
@@ -23188,7 +23190,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags
 		(int32((*Pager)(unsafe.Pointer(pPager)).FeState) == PAGER_READER || flags&PAGER_GET_READONLY != 0))
 
 	if pgno <= Pgno(1) && pgno == Pgno(0) {
-		return Xsqlite3CorruptError(tls, 61078)
+		return Xsqlite3CorruptError(tls, 61082)
 	}
 
 	if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
@@ -23946,7 +23948,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 {
 
 // Return the number of references to the specified page.
 func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 {
-	return Xsqlite3PcachePageRefcount(tls, pPage)
+	return int32(Xsqlite3PcachePageRefcount(tls, pPage))
 }
 
 // Parameter eStat must be one of SQLITE_DBSTATUS_CACHE_HIT, _MISS, _WRITE,
@@ -24189,9 +24191,9 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno
 	pPgOld = Xsqlite3PagerLookup(tls, pPager, pgno)
 
 	if pPgOld != 0 {
-		if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 {
+		if (*PgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
 			Xsqlite3PagerUnrefNotNull(tls, pPgOld)
-			return Xsqlite3CorruptError(tls, 62623)
+			return Xsqlite3CorruptError(tls, 62627)
 		}
 		*(*U16)(unsafe.Pointer(pPg + 28)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC)
 		if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 {
@@ -24945,7 +24947,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 {
 		nCollide = idx
 		for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) {
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 64387)
+				return Xsqlite3CorruptError(tls, 64391)
 			}
 		}
 		*(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaPgno + uintptr(idx-1)*4)) = iPage
@@ -25044,7 +25046,7 @@ __6:
 	if !(version != U32(WAL_MAX_VERSION)) {
 		goto __7
 	}
-	rc = Xsqlite3CantopenError(tls, 64519)
+	rc = Xsqlite3CantopenError(tls, 64523)
 	goto finished
 __7:
 	;
@@ -25629,7 +25631,7 @@ __10:
 		goto __14
 	}
 
-	rc = Xsqlite3CorruptError(tls, 65333)
+	rc = Xsqlite3CorruptError(tls, 65337)
 	goto __15
 __14:
 	Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+12)
@@ -25904,7 +25906,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 {
 	}
 
 	if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) {
-		rc = Xsqlite3CantopenError(tls, 65682)
+		rc = Xsqlite3CantopenError(tls, 65686)
 	}
 	if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
 		if rc != SQLITE_OK {
@@ -26377,7 +26379,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr
 				iRead = iFrame
 			}
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 66419)
+				return Xsqlite3CorruptError(tls, 66423)
 			}
 			iKey = walNextHash(tls, iKey)
 		}
@@ -26882,7 +26884,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
 
 	if rc == SQLITE_OK {
 		if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf {
-			rc = Xsqlite3CorruptError(tls, 67138)
+			rc = Xsqlite3CorruptError(tls, 67142)
 		} else {
 			rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
 		}
@@ -27538,7 +27540,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32
 		}
 		Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
 		if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
-			rc = Xsqlite3CorruptError(tls, 69249)
+			rc = Xsqlite3CorruptError(tls, 69253)
 		} else {
 			rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
 		}
@@ -27675,7 +27677,7 @@ __1:
 	if !(key == Pgno(0)) {
 		goto __2
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69430)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69434)
 	return
 __2:
 	;
@@ -27692,7 +27694,7 @@ __3:
 		goto __4
 	}
 
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69443)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69447)
 	goto ptrmap_exit
 __4:
 	;
@@ -27700,7 +27702,7 @@ __4:
 	if !(offset < 0) {
 		goto __5
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69448)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69452)
 	goto ptrmap_exit
 __5:
 	;
@@ -27743,7 +27745,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 	offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1)))
 	if offset < 0 {
 		Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
-		return Xsqlite3CorruptError(tls, 69493)
+		return Xsqlite3CorruptError(tls, 69497)
 	}
 
 	*(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
@@ -27753,7 +27755,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 
 	Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
 	if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 {
-		return Xsqlite3CorruptError(tls, 69501)
+		return Xsqlite3CorruptError(tls, 69505)
 	}
 	return SQLITE_OK
 }
@@ -28003,7 +28005,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr,
 	if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 		var ovfl Pgno
 		if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) {
-			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69893)
+			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69897)
 			return
 		}
 		ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4))
@@ -28050,7 +28052,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 {
 	if !(iFree > usableSize-4) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 69951)
+	return Xsqlite3CorruptError(tls, 69955)
 __2:
 	;
 	if !(iFree != 0) {
@@ -28060,7 +28062,7 @@ __2:
 	if !(iFree2 > usableSize-4) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 69954)
+	return Xsqlite3CorruptError(tls, 69958)
 __4:
 	;
 	if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) {
@@ -28073,7 +28075,7 @@ __4:
 	if !(top >= iFree) {
 		goto __6
 	}
-	return Xsqlite3CorruptError(tls, 69962)
+	return Xsqlite3CorruptError(tls, 69966)
 __6:
 	;
 	if !(iFree2 != 0) {
@@ -28082,14 +28084,14 @@ __6:
 	if !(iFree+sz > iFree2) {
 		goto __9
 	}
-	return Xsqlite3CorruptError(tls, 69965)
+	return Xsqlite3CorruptError(tls, 69969)
 __9:
 	;
 	sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1)))
 	if !(iFree2+sz2 > usableSize) {
 		goto __10
 	}
-	return Xsqlite3CorruptError(tls, 69967)
+	return Xsqlite3CorruptError(tls, 69971)
 __10:
 	;
 	libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint32(iFree2-(iFree+sz)))
@@ -28099,7 +28101,7 @@ __7:
 	if !(iFree+sz > usableSize) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 69971)
+	return Xsqlite3CorruptError(tls, 69975)
 __11:
 	;
 __8:
@@ -28163,7 +28165,7 @@ __19:
 	if !(pc < iCellStart || pc > iCellLast) {
 		goto __22
 	}
-	return Xsqlite3CorruptError(tls, 70004)
+	return Xsqlite3CorruptError(tls, 70008)
 __22:
 	;
 	size = int32((*struct {
@@ -28173,7 +28175,7 @@ __22:
 	if !(cbrk < iCellStart || pc+size > usableSize) {
 		goto __23
 	}
-	return Xsqlite3CorruptError(tls, 70010)
+	return Xsqlite3CorruptError(tls, 70014)
 __23:
 	;
 	*(*U8)(unsafe.Pointer(pAddr1)) = U8(cbrk >> 8)
@@ -28195,7 +28197,7 @@ defragment_out:
 	if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) {
 		goto __24
 	}
-	return Xsqlite3CorruptError(tls, 70024)
+	return Xsqlite3CorruptError(tls, 70028)
 __24:
 	;
 	*(*uint8)(unsafe.Pointer(data + uintptr(hdr+5))) = U8(cbrk >> 8)
@@ -28230,7 +28232,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 				*(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x)))
 				return aData + uintptr(pc)
 			} else if x+pc > maxPC {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70081)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70085)
 				return uintptr(0)
 			} else {
 				*(*U8)(unsafe.Pointer(aData + uintptr(pc+2))) = U8(x >> 8)
@@ -28243,13 +28245,13 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 		pc = int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1)))
 		if pc <= iAddr {
 			if pc != 0 {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70096)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70100)
 			}
 			return uintptr(0)
 		}
 	}
 	if pc > maxPC+nByte-4 {
-		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70103)
+		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70107)
 	}
 	return uintptr(0)
 }
@@ -28274,7 +28276,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 		if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) {
 			top = 65536
 		} else {
-			return Xsqlite3CorruptError(tls, 70152)
+			return Xsqlite3CorruptError(tls, 70156)
 		}
 	}
 
@@ -28285,7 +28287,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 
 			*(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, (int32(pSpace)-int32(data))/1)
 			if g2 <= gap {
-				return Xsqlite3CorruptError(tls, 70170)
+				return Xsqlite3CorruptError(tls, 70174)
 			} else {
 				return SQLITE_OK
 			}
@@ -28337,22 +28339,22 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 				if int32(iFreeBlk) == 0 {
 					break
 				}
-				return Xsqlite3CorruptError(tls, 70249)
+				return Xsqlite3CorruptError(tls, 70253)
 			}
 			iPtr = iFreeBlk
 		}
 		if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) {
-			return Xsqlite3CorruptError(tls, 70254)
+			return Xsqlite3CorruptError(tls, 70258)
 		}
 
 		if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) {
 			nFrag = U8(U32(iFreeBlk) - iEnd)
 			if iEnd > U32(iFreeBlk) {
-				return Xsqlite3CorruptError(tls, 70266)
+				return Xsqlite3CorruptError(tls, 70270)
 			}
 			iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1)))))
 			if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-				return Xsqlite3CorruptError(tls, 70269)
+				return Xsqlite3CorruptError(tls, 70273)
 			}
 			iSize = U16(iEnd - U32(iStart))
 			iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1))))
@@ -28362,7 +28364,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1))))
 			if iPtrEnd+3 >= int32(iStart) {
 				if iPtrEnd > int32(iStart) {
-					return Xsqlite3CorruptError(tls, 70282)
+					return Xsqlite3CorruptError(tls, 70286)
 				}
 				nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd))
 				iSize = U16(iEnd - U32(iPtr))
@@ -28370,7 +28372,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			}
 		}
 		if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) {
-			return Xsqlite3CorruptError(tls, 70288)
+			return Xsqlite3CorruptError(tls, 70292)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag))
 	}
@@ -28378,10 +28380,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 	x = U16(int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1))))
 	if int32(iStart) <= int32(x) {
 		if int32(iStart) < int32(x) {
-			return Xsqlite3CorruptError(tls, 70297)
+			return Xsqlite3CorruptError(tls, 70301)
 		}
 		if int32(iPtr) != int32(hdr)+1 {
-			return Xsqlite3CorruptError(tls, 70298)
+			return Xsqlite3CorruptError(tls, 70302)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8)
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk)
@@ -28441,7 +28443,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70357)
+			return Xsqlite3CorruptError(tls, 70361)
 		}
 	} else {
 		(*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize = U8(4)
@@ -28477,7 +28479,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70381)
+			return Xsqlite3CorruptError(tls, 70385)
 		}
 	}
 	return SQLITE_OK
@@ -28507,11 +28509,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 		var next U32
 		var size U32
 		if pc < top {
-			return Xsqlite3CorruptError(tls, 70432)
+			return Xsqlite3CorruptError(tls, 70436)
 		}
 		for 1 != 0 {
 			if pc > iCellLast {
-				return Xsqlite3CorruptError(tls, 70437)
+				return Xsqlite3CorruptError(tls, 70441)
 			}
 			next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1))))
 			size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1))))
@@ -28522,15 +28524,15 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 			pc = int32(next)
 		}
 		if next > U32(0) {
-			return Xsqlite3CorruptError(tls, 70447)
+			return Xsqlite3CorruptError(tls, 70451)
 		}
 		if U32(pc)+size > uint32(usableSize) {
-			return Xsqlite3CorruptError(tls, 70451)
+			return Xsqlite3CorruptError(tls, 70455)
 		}
 	}
 
 	if nFree > usableSize || nFree < iCellFirst {
-		return Xsqlite3CorruptError(tls, 70463)
+		return Xsqlite3CorruptError(tls, 70467)
 	}
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst))
 	return SQLITE_OK
@@ -28558,14 +28560,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 {
 		pc = int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2) + 1)))
 
 		if pc < iCellFirst || pc > iCellLast {
-			return Xsqlite3CorruptError(tls, 70494)
+			return Xsqlite3CorruptError(tls, 70498)
 		}
 		sz = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
 		})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc)))
 
 		if pc+sz > usableSize {
-			return Xsqlite3CorruptError(tls, 70499)
+			return Xsqlite3CorruptError(tls, 70503)
 		}
 	}
 	return SQLITE_OK
@@ -28579,7 +28581,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 	data = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 {
-		return Xsqlite3CorruptError(tls, 70531)
+		return Xsqlite3CorruptError(tls, 70535)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1))
@@ -28591,7 +28593,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1))))
 	if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) {
-		return Xsqlite3CorruptError(tls, 70545)
+		return Xsqlite3CorruptError(tls, 70549)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = -1
@@ -28694,7 +28696,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	rc = Xsqlite3CorruptError(tls, 70700)
+	rc = Xsqlite3CorruptError(tls, 70704)
 	goto getAndInitPage_error1
 __1:
 	;
@@ -28722,7 +28724,7 @@ __3:
 	if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) {
 		goto __5
 	}
-	rc = Xsqlite3CorruptError(tls, 70721)
+	rc = Xsqlite3CorruptError(tls, 70725)
 	goto getAndInitPage_error2
 __5:
 	;
@@ -28761,7 +28763,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 {
 			releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
 			*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
-			return Xsqlite3CorruptError(tls, 70787)
+			return Xsqlite3CorruptError(tls, 70791)
 		}
 		(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0)
 	} else {
@@ -29644,7 +29646,7 @@ __16:
 	if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) {
 		goto __18
 	}
-	rc = Xsqlite3CorruptError(tls, 71722)
+	rc = Xsqlite3CorruptError(tls, 71726)
 	goto page1_init_failed
 	goto __19
 __18:
@@ -30059,7 +30061,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 	if int32(eType) == PTRMAP_OVERFLOW2 {
 		if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
-			return Xsqlite3CorruptError(tls, 72143)
+			return Xsqlite3CorruptError(tls, 72147)
 		}
 		Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo)
 	} else {
@@ -30085,7 +30087,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp)
 				if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 					if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-						return Xsqlite3CorruptError(tls, 72162)
+						return Xsqlite3CorruptError(tls, 72166)
 					}
 					if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) {
 						Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo)
@@ -30094,7 +30096,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				}
 			} else {
 				if pCell+uintptr(4) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-					return Xsqlite3CorruptError(tls, 72171)
+					return Xsqlite3CorruptError(tls, 72175)
 				}
 				if Xsqlite3Get4byte(tls, pCell) == iFrom {
 					Xsqlite3Put4byte(tls, pCell, iTo)
@@ -30105,7 +30107,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 		if i == nCell {
 			if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom {
-				return Xsqlite3CorruptError(tls, 72183)
+				return Xsqlite3CorruptError(tls, 72187)
 			}
 			Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo)
 		}
@@ -30121,7 +30123,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag
 	var pPager uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPager
 
 	if iDbPage < Pgno(3) {
-		return Xsqlite3CorruptError(tls, 72218)
+		return Xsqlite3CorruptError(tls, 72222)
 	}
 
 	*(*int32)(unsafe.Pointer(bp)) = Xsqlite3PagerMovepage(tls, pPager, (*MemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -30182,7 +30184,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 			return rc
 		}
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE {
-			return Xsqlite3CorruptError(tls, 72316)
+			return Xsqlite3CorruptError(tls, 72320)
 		}
 
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE {
@@ -30217,7 +30219,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 20)))
 				if *(*Pgno)(unsafe.Pointer(bp + 24)) > dbSize {
 					releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
-					return Xsqlite3CorruptError(tls, 72368)
+					return Xsqlite3CorruptError(tls, 72372)
 				}
 			}
 
@@ -30277,7 +30279,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 {
 		var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree)
 
 		if nOrig < nFin || nFree >= nOrig {
-			rc = Xsqlite3CorruptError(tls, 72436)
+			rc = Xsqlite3CorruptError(tls, 72440)
 		} else if nFree > Pgno(0) {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
 			if rc == SQLITE_OK {
@@ -30316,7 +30318,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 
 		nOrig = btreePagecount(tls, pBt)
 		if ptrmapPageno(tls, pBt, nOrig) == nOrig || nOrig == U32(Xsqlite3PendingByte)/(*BtShared)(unsafe.Pointer(pBt)).FpageSize+U32(1) {
-			return Xsqlite3CorruptError(tls, 72487)
+			return Xsqlite3CorruptError(tls, 72491)
 		}
 
 		nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
@@ -30347,7 +30349,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 		}
 		nFin = finalDbSize(tls, pBt, nOrig, nVac)
 		if nFin > nOrig {
-			return Xsqlite3CorruptError(tls, 72514)
+			return Xsqlite3CorruptError(tls, 72518)
 		}
 		if nFin < nOrig {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -30688,7 +30690,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u
 
 	if iTable <= Pgno(1) {
 		if iTable < Pgno(1) {
-			return Xsqlite3CorruptError(tls, 72978)
+			return Xsqlite3CorruptError(tls, 72982)
 		} else if btreePagecount(tls, pBt) == Pgno(0) {
 			iTable = Pgno(0)
 		}
@@ -30932,14 +30934,14 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt
 
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
-		return Xsqlite3CorruptError(tls, 73385)
+		return Xsqlite3CorruptError(tls, 73389)
 	}
 
 	getCellInfo(tls, pCur)
 	aPayload = (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
 
 	if Uptr((int32(aPayload)-int32((*MemPage)(unsafe.Pointer(pPage)).FaData))/1) > (*BtShared)(unsafe.Pointer(pBt)).FusableSize-U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
-		return Xsqlite3CorruptError(tls, 73400)
+		return Xsqlite3CorruptError(tls, 73404)
 	}
 
 	if offset < U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -30984,7 +30986,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 
 		for *(*Pgno)(unsafe.Pointer(bp)) != 0 {
 			if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage {
-				return Xsqlite3CorruptError(tls, 73462)
+				return Xsqlite3CorruptError(tls, 73466)
 			}
 
 			*(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp))
@@ -31033,7 +31035,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	}
 
 	if rc == SQLITE_OK && amt > U32(0) {
-		return Xsqlite3CorruptError(tls, 73547)
+		return Xsqlite3CorruptError(tls, 73551)
 	}
 	return rc
 }
@@ -31113,7 +31115,7 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt
 
 func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 {
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 {
-		return Xsqlite3CorruptError(tls, 73684)
+		return Xsqlite3CorruptError(tls, 73688)
 	}
 	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	*(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl))
@@ -31204,7 +31206,7 @@ __2:
 	if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 73823)
+	return Xsqlite3CorruptError(tls, 73827)
 __11:
 	;
 skip_init:
@@ -31224,7 +31226,7 @@ __12:
 	if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) {
 		goto __16
 	}
-	return Xsqlite3CorruptError(tls, 73835)
+	return Xsqlite3CorruptError(tls, 73839)
 __16:
 	;
 	subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8))
@@ -31434,7 +31436,7 @@ __19:
 	if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __21
 	}
-	return Xsqlite3CorruptError(tls, 74077)
+	return Xsqlite3CorruptError(tls, 74081)
 __21:
 	;
 	goto __19
@@ -31638,7 +31640,7 @@ __2:
 	if !!(int32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit) != 0) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 74273)
+	return Xsqlite3CorruptError(tls, 74277)
 __4:
 	;
 	goto bypass_moveto_root
@@ -31703,7 +31705,7 @@ __15:
 	if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) {
 		goto __17
 	}
-	rc = Xsqlite3CorruptError(tls, 74360)
+	rc = Xsqlite3CorruptError(tls, 74364)
 	goto moveto_index_finish
 __17:
 	;
@@ -31751,7 +31753,7 @@ __22:
 	if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) {
 		goto __24
 	}
-	rc = Xsqlite3CorruptError(tls, 74392)
+	rc = Xsqlite3CorruptError(tls, 74396)
 __24:
 	;
 	goto moveto_index_finish
@@ -31870,7 +31872,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 {
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1))
 	if !(int32((*MemPage)(unsafe.Pointer(pPage)).FisInit) != 0) || Xsqlite3FaultSim(tls, 412) != 0 {
-		return Xsqlite3CorruptError(tls, 74508)
+		return Xsqlite3CorruptError(tls, 74512)
 	}
 
 	if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
@@ -32030,7 +32032,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr
 	if !(n >= mxPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74688)
+	return Xsqlite3CorruptError(tls, 74692)
 __1:
 	;
 	if !(n > U32(0)) {
@@ -32095,7 +32097,7 @@ __15:
 	if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) {
 		goto __16
 	}
-	rc = Xsqlite3CorruptError(tls, 74744)
+	rc = Xsqlite3CorruptError(tls, 74748)
 	goto __17
 __16:
 	rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+4, 0)
@@ -32131,7 +32133,7 @@ __19:
 		goto __22
 	}
 
-	rc = Xsqlite3CorruptError(tls, 74773)
+	rc = Xsqlite3CorruptError(tls, 74777)
 	goto end_allocate_page
 	goto __23
 __22:
@@ -32175,7 +32177,7 @@ __27:
 	if !(iNewTrunk > mxPage) {
 		goto __32
 	}
-	rc = Xsqlite3CorruptError(tls, 74807)
+	rc = Xsqlite3CorruptError(tls, 74811)
 	goto end_allocate_page
 __32:
 	;
@@ -32287,7 +32289,7 @@ __40:
 	if !(iPage > mxPage || iPage < Pgno(2)) {
 		goto __51
 	}
-	rc = Xsqlite3CorruptError(tls, 74872)
+	rc = Xsqlite3CorruptError(tls, 74876)
 	goto end_allocate_page
 __51:
 	;
@@ -32445,7 +32447,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 {
 	if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74999)
+	return Xsqlite3CorruptError(tls, 75003)
 __1:
 	;
 	if !(pMemPage != 0) {
@@ -32502,7 +32504,7 @@ __7:
 	if !(iTrunk > btreePagecount(tls, pBt)) {
 		goto __10
 	}
-	*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 75046)
+	*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 75050)
 	goto freepage_out
 __10:
 	;
@@ -32518,7 +32520,7 @@ __11:
 	if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) {
 		goto __12
 	}
-	*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 75057)
+	*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 75061)
 	goto freepage_out
 __12:
 	;
@@ -32592,7 +32594,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 	var ovflPageSize U32
 
 	if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 75146)
+		return Xsqlite3CorruptError(tls, 75150)
 	}
 	ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
 	pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt
@@ -32604,7 +32606,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 		*(*Pgno)(unsafe.Pointer(bp + 4)) = Pgno(0)
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 		if ovflPgno < Pgno(2) || ovflPgno > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 75163)
+			return Xsqlite3CorruptError(tls, 75167)
 		}
 		if nOvfl != 0 {
 			rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+4)
@@ -32615,7 +32617,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 
 		if (*(*uintptr)(unsafe.Pointer(bp)) != 0 || libc.AssignPtrUintptr(bp, btreePageLookup(tls, pBt, ovflPgno)) != uintptr(0)) &&
 			Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 {
-			rc = Xsqlite3CorruptError(tls, 75183)
+			rc = Xsqlite3CorruptError(tls, 75187)
 		} else {
 			rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp)), ovflPgno)
 		}
@@ -32780,7 +32782,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
 	hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75436)
+		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75440)
 		return
 	}
 	rc = freeSpace(tls, pPage, uint16(pc), uint16(sz))
@@ -33058,12 +33060,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 
 		if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) {
 			if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) {
-				return Xsqlite3CorruptError(tls, 75737)
+				return Xsqlite3CorruptError(tls, 75741)
 			}
 			pCell = pTmp + uintptr((int32(pCell)-int32(aData))/1)
 		} else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) &&
 			Uptr(pCell) < Uptr(pSrcEnd) {
-			return Xsqlite3CorruptError(tls, 75742)
+			return Xsqlite3CorruptError(tls, 75746)
 		}
 
 		pData -= uintptr(sz)
@@ -33071,7 +33073,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 		*(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int32(pData) - int32(aData)) / 1)
 		pCellptr += uintptr(2)
 		if pData < pCellptr {
-			return Xsqlite3CorruptError(tls, 75748)
+			return Xsqlite3CorruptError(tls, 75752)
 		}
 		libc.Xmemmove(tls, pData, pCell, uint32(sz))
 
@@ -33131,7 +33133,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr,
 
 		if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4))+uintptr(sz)) > Uptr(pEnd) &&
 			Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4))) < Uptr(pEnd) {
-			Xsqlite3CorruptError(tls, 75833)
+			Xsqlite3CorruptError(tls, 75837)
 			return 1
 		}
 		libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4)), uint32(sz))
@@ -33220,7 +33222,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC
 	if !(nShift > nCell) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 75947)
+	return Xsqlite3CorruptError(tls, 75951)
 __2:
 	;
 	libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint32(nCell*2))
@@ -33336,7 +33338,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr
 	var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt
 
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
-		return Xsqlite3CorruptError(tls, 76060)
+		return Xsqlite3CorruptError(tls, 76064)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 80)) = allocateBtreePage(tls, pBt, bp, bp+4, uint32(0), uint8(0))
@@ -33656,7 +33658,7 @@ __22:
 	if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)))).FaData)))) {
 		goto __25
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76481)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76485)
 	goto balance_cleanup
 __25:
 	;
@@ -33667,7 +33669,7 @@ __25:
 	if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) {
 		goto __27
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76505)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76509)
 	goto balance_cleanup
 __27:
 	;
@@ -33825,7 +33827,7 @@ __52:
 	if !(k > NB+2) {
 		goto __55
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76606)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76610)
 	goto balance_cleanup
 __55:
 	;
@@ -33899,7 +33901,7 @@ __65:
 	}()) {
 		goto __67
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76639)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76643)
 	goto balance_cleanup
 __67:
 	;
@@ -33962,7 +33964,7 @@ __73:
 	}()) {
 		goto __75
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76683)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76687)
 	goto balance_cleanup
 __75:
 	;
@@ -33990,7 +33992,7 @@ __76:
 		*(*int32)(unsafe.Pointer(bp + 112)) == SQLITE_OK) {
 		goto __81
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76716)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76720)
 __81:
 	;
 	if !(*(*int32)(unsafe.Pointer(bp + 112)) != 0) {
@@ -34251,7 +34253,7 @@ __120:
 	if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) {
 		goto __121
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76916)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76920)
 	goto balance_cleanup
 __121:
 	;
@@ -34443,7 +34445,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 {
 		if pOther != pCur &&
 			int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID &&
 			(*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage {
-			return Xsqlite3CorruptError(tls, 77146)
+			return Xsqlite3CorruptError(tls, 77150)
 		}
 	}
 	return SQLITE_OK
@@ -34481,7 +34483,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 {
 				break
 			}
 		} else if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) > 1 {
-			rc = Xsqlite3CorruptError(tls, 77206)
+			rc = Xsqlite3CorruptError(tls, 77210)
 		} else {
 			var pParent uintptr = *(*uintptr)(unsafe.Pointer(pCur + 112 + uintptr(iPage-1)*4))
 			var iIdx int32 = int32(*(*U16)(unsafe.Pointer(pCur + 64 + uintptr(iPage-1)*2)))
@@ -34587,7 +34589,7 @@ func btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 			return rc
 		}
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
-			rc = Xsqlite3CorruptError(tls, 77370)
+			rc = Xsqlite3CorruptError(tls, 77374)
 		} else {
 			if U32(iOffset)+ovflPageSize < U32(nTotal) {
 				ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -34612,7 +34614,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 
 	if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd ||
 		(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FcellOffset) {
-		return Xsqlite3CorruptError(tls, 77398)
+		return Xsqlite3CorruptError(tls, 77402)
 	}
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
 		return btreeOverwriteContent(tls, pPage, (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX,
@@ -34682,7 +34684,7 @@ __2:
 		goto __3
 	}
 
-	return Xsqlite3CorruptError(tls, 77479)
+	return Xsqlite3CorruptError(tls, 77483)
 __3:
 	;
 __1:
@@ -34795,7 +34797,7 @@ __7:
 		goto __21
 	}
 
-	*(*int32)(unsafe.Pointer(bp + 84)) = Xsqlite3CorruptError(tls, 77602)
+	*(*int32)(unsafe.Pointer(bp + 84)) = Xsqlite3CorruptError(tls, 77606)
 	goto __22
 __21:
 	*(*int32)(unsafe.Pointer(bp + 84)) = btreeComputeFreeSpace(tls, pPage)
@@ -34855,6 +34857,7 @@ __30:
 __25:
 	;
 	idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
+	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !(*(*int32)(unsafe.Pointer(bp)) == 0) {
 		goto __31
 	}
@@ -34862,7 +34865,7 @@ __25:
 	if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) {
 		goto __33
 	}
-	return Xsqlite3CorruptError(tls, 77640)
+	return Xsqlite3CorruptError(tls, 77645)
 __33:
 	;
 	*(*int32)(unsafe.Pointer(bp + 84)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage)
@@ -34900,13 +34903,13 @@ __37:
 	if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) {
 		goto __39
 	}
-	return Xsqlite3CorruptError(tls, 77667)
+	return Xsqlite3CorruptError(tls, 77672)
 __39:
 	;
 	if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 88))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __40
 	}
-	return Xsqlite3CorruptError(tls, 77670)
+	return Xsqlite3CorruptError(tls, 77675)
 __40:
 	;
 	libc.Xmemcpy(tls, oldCell, newCell, uint32(*(*int32)(unsafe.Pointer(bp + 88))))
@@ -34937,7 +34940,6 @@ __32:
 	;
 	*(*int32)(unsafe.Pointer(bp + 84)) = insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 88)), uintptr(0), uint32(0))
 
-	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) {
 		goto __44
 	}
@@ -35012,7 +35014,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 	nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
 	aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
 	if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 77773)
+		return Xsqlite3CorruptError(tls, 77777)
 	}
 	nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
 	if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -35037,7 +35039,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 
 		if nRem > nIn {
 			if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-				return Xsqlite3CorruptError(tls, 77798)
+				return Xsqlite3CorruptError(tls, 77802)
 			}
 			ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
 		}
@@ -35138,7 +35140,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 				return *(*int32)(unsafe.Pointer(bp + 20))
 			}
 		} else {
-			return Xsqlite3CorruptError(tls, 77894)
+			return Xsqlite3CorruptError(tls, 77898)
 		}
 	}
 
@@ -35146,11 +35148,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 	iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
-		return Xsqlite3CorruptError(tls, 77903)
+		return Xsqlite3CorruptError(tls, 77907)
 	}
 	pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx) + 1)))))
 	if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 {
-		return Xsqlite3CorruptError(tls, 77907)
+		return Xsqlite3CorruptError(tls, 77911)
 	}
 
 	bPreserve = U8(libc.Bool32(int32(flags)&BTREE_SAVEPOSITION != 0))
@@ -35225,7 +35227,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 		}
 		pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)) + 1)))))
 		if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 {
-			return Xsqlite3CorruptError(tls, 77998)
+			return Xsqlite3CorruptError(tls, 78002)
 		}
 		nCell = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
@@ -35294,7 +35296,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 
 		Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp)
 		if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 78114)
+			return Xsqlite3CorruptError(tls, 78118)
 		}
 		*(*Pgno)(unsafe.Pointer(bp))++
 
@@ -35323,7 +35325,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 			}
 			*(*int32)(unsafe.Pointer(bp + 24)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp)), bp+16, bp+20)
 			if int32(*(*U8)(unsafe.Pointer(bp + 16))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 16))) == PTRMAP_FREEPAGE {
-				*(*int32)(unsafe.Pointer(bp + 24)) = Xsqlite3CorruptError(tls, 78162)
+				*(*int32)(unsafe.Pointer(bp + 24)) = Xsqlite3CorruptError(tls, 78166)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 24)) != SQLITE_OK {
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 12)))
@@ -35399,7 +35401,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 78252)
+	return Xsqlite3CorruptError(tls, 78256)
 __1:
 	;
 	*(*int32)(unsafe.Pointer(bp + 24)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0)
@@ -35413,7 +35415,7 @@ __2:
 		Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) {
 		goto __3
 	}
-	*(*int32)(unsafe.Pointer(bp + 24)) = Xsqlite3CorruptError(tls, 78259)
+	*(*int32)(unsafe.Pointer(bp + 24)) = Xsqlite3CorruptError(tls, 78263)
 	goto cleardatabasepage_out
 __3:
 	;
@@ -35547,7 +35549,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3
 	var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt
 
 	if iTable > btreePagecount(tls, pBt) {
-		return Xsqlite3CorruptError(tls, 78363)
+		return Xsqlite3CorruptError(tls, 78367)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0))
@@ -38016,7 +38018,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32,
 	var rc int32
 	(*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null)
 	if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) {
-		return Xsqlite3CorruptError(tls, 81630)
+		return Xsqlite3CorruptError(tls, 81634)
 	}
 	if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) {
 		rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz)
@@ -38664,7 +38666,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		return Xsqlite3GetVarint32(tls, a, bp)
 	}())
 	if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) {
-		return Xsqlite3CorruptError(tls, 82270)
+		return Xsqlite3CorruptError(tls, 82274)
 	}
 	iField = *(*int32)(unsafe.Pointer(bp))
 	for i = 0; i <= iCol; i++ {
@@ -38679,14 +38681,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		}())
 
 		if iHdr > *(*int32)(unsafe.Pointer(bp)) {
-			return Xsqlite3CorruptError(tls, 82276)
+			return Xsqlite3CorruptError(tls, 82280)
 		}
 		szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4))))
 		iField = iField + szField
 	}
 
 	if iField > nRec {
-		return Xsqlite3CorruptError(tls, 82282)
+		return Xsqlite3CorruptError(tls, 82286)
 	}
 	if pMem == uintptr(0) {
 		pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db))
@@ -40990,7 +40992,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 {
 		return rc
 	}
 	if *(*int32)(unsafe.Pointer(bp)) != 0 {
-		return Xsqlite3CorruptError(tls, 86058)
+		return Xsqlite3CorruptError(tls, 86062)
 	}
 	(*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0)
 	(*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE)
@@ -41541,7 +41543,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		i = 0
 	}
 	if d1 > uint32(nKey1) {
-		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86985))
+		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86989))
 		return 0
 	}
 
@@ -41606,7 +41608,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 
 				if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) ||
 					int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87062))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87066))
 					return 0
 				} else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 20 + uintptr(i)*4)) != 0 {
 					(*Mem)(unsafe.Pointer(bp + 8)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc
@@ -41640,7 +41642,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 				var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 48)) - U32(12)) / U32(2))
 
 				if d1+U32(nStr) > uint32(nKey1) {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87092))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87096))
 					return 0
 				} else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 {
 					if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) {
@@ -41690,7 +41692,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		}
 		idx1 = idx1 + U32(Xsqlite3VarintLen(tls, uint64(*(*U32)(unsafe.Pointer(bp + 48)))))
 		if idx1 >= *(*U32)(unsafe.Pointer(bp + 4)) {
-			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87136))
+			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87140))
 			return 0
 		}
 	}
@@ -41836,7 +41838,7 @@ __5:
 	if !(szHdr+nStr > nKey1) {
 		goto __7
 	}
-	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87299))
+	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87303))
 	return 0
 __7:
 	;
@@ -42007,7 +42009,7 @@ __6:
 idx_rowid_corruption:
 	;
 	Xsqlite3VdbeMemReleaseMalloc(tls, bp)
-	return Xsqlite3CorruptError(tls, 87457)
+	return Xsqlite3CorruptError(tls, 87461)
 }
 
 // Compare the key of the index entry that cursor pC is pointing to against
@@ -42033,7 +42035,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
 
 	if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) {
 		*(*int32)(unsafe.Pointer(res)) = 0
-		return Xsqlite3CorruptError(tls, 87490)
+		return Xsqlite3CorruptError(tls, 87494)
 	}
 	Xsqlite3VdbeMemInit(tls, bp, db, uint16(0))
 	rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp)
@@ -42307,7 +42309,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 {
 		var v uintptr = pStmt
 		var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb
 		if vdbeSafety(tls, v) != 0 {
-			return Xsqlite3MisuseError(tls, 87854)
+			return Xsqlite3MisuseError(tls, 87858)
 		}
 		Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) {
@@ -42922,7 +42924,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 {
 	var db uintptr
 
 	if vdbeSafetyNotNull(tls, v) != 0 {
-		return Xsqlite3MisuseError(tls, 88544)
+		return Xsqlite3MisuseError(tls, 88548)
 	}
 	db = (*Vdbe)(unsafe.Pointer(v)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -43442,7 +43444,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 
 	var pVar uintptr
 	if vdbeSafetyNotNull(tls, p) != 0 {
-		return Xsqlite3MisuseError(tls, 89208)
+		return Xsqlite3MisuseError(tls, 89212)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 	if int32((*Vdbe)(unsafe.Pointer(p)).FeVdbeState) != VDBE_READY_STATE {
@@ -43450,7 +43452,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 		Xsqlite3_log(tls, SQLITE_MISUSE,
 			ts+5350, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql))
-		return Xsqlite3MisuseError(tls, 89216)
+		return Xsqlite3MisuseError(tls, 89220)
 	}
 	if i >= uint32((*Vdbe)(unsafe.Pointer(p)).FnVar) {
 		Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE)
@@ -43855,7 +43857,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89707)
+	rc = Xsqlite3MisuseError(tls, 89711)
 	goto preupdate_old_out
 __1:
 	;
@@ -43999,7 +44001,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89809)
+	rc = Xsqlite3MisuseError(tls, 89813)
 	goto preupdate_new_out
 __1:
 	;
@@ -44443,10 +44445,6 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 {
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Real != 0 {
 			h = h + U64(Xsqlite3VdbeIntValue(tls, p))
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 {
-			h = h + U64((*Mem)(unsafe.Pointer(p)).Fn)
-			if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Zero != 0 {
-				h = h + U64(*(*int32)(unsafe.Pointer(p)))
-			}
 		}
 	}
 	return h
@@ -47095,7 +47093,7 @@ op_column_corrupt:
 	goto __9
 	goto __425
 __424:
-	rc = Xsqlite3CorruptError(tls, 93317)
+	rc = Xsqlite3CorruptError(tls, 93320)
 	goto abort_due_to_error
 __425:
 	;
@@ -48855,7 +48853,7 @@ notExistsWithKey:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) {
 		goto __682
 	}
-	rc = Xsqlite3CorruptError(tls, 95560)
+	rc = Xsqlite3CorruptError(tls, 95563)
 	goto __683
 __682:
 	goto jump_to_p2
@@ -49633,7 +49631,7 @@ __767:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) {
 		goto __770
 	}
-	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96635, ts+5859)
+	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96638, ts+5859)
 	goto abort_due_to_error
 __770:
 	;
@@ -49743,7 +49741,7 @@ __780:
 	if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) {
 		goto __781
 	}
-	rc = Xsqlite3CorruptError(tls, 96840)
+	rc = Xsqlite3CorruptError(tls, 96843)
 	goto abort_due_to_error
 __781:
 	;
@@ -49937,7 +49935,7 @@ __802:
 		goto __803
 	}
 
-	rc = Xsqlite3CorruptError(tls, 97092)
+	rc = Xsqlite3CorruptError(tls, 97095)
 __803:
 	;
 	Xsqlite3DbFreeNN(tls, db, zSql)
@@ -51304,7 +51302,7 @@ __955:
 	if !(rc == SQLITE_IOERR|int32(33)<<8) {
 		goto __957
 	}
-	rc = Xsqlite3CorruptError(tls, 99031)
+	rc = Xsqlite3CorruptError(tls, 99034)
 __957:
 	;
 __956:
@@ -51824,7 +51822,7 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99516)
+		return Xsqlite3MisuseError(tls, 99519)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -51907,7 +51905,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99616)
+		return Xsqlite3MisuseError(tls, 99619)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -55340,14 +55338,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			;
 			Xsqlite3WalkExpr(tls, pWalker, (*Expr)(unsafe.Pointer(pExpr)).FpLeft)
 			if 0 == Xsqlite3ExprCanBeNull(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
-				if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6757
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsTrue)
-				} else {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6762
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
-				}
-				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
+				*(*int32)(unsafe.Pointer(pExpr + 8)) = libc.Bool32(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL)
+				*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IntValue)
+				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_INTEGER)
+
 				i = 0
 				p = pNC
 			__4:
@@ -55391,7 +55385,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_GenCol) != 0 {
-					notValidImpl(tls, pParse, pNC, ts+6768, uintptr(0), pExpr)
+					notValidImpl(tls, pParse, pNC, ts+6757, uintptr(0), pExpr)
 				}
 
 				pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight
@@ -55455,7 +55449,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 						(*Expr)(unsafe.Pointer(pExpr)).FiTable = exprProbability(tls, (*ExprList_item)(unsafe.Pointer(pList+8+1*20)).FpExpr)
 						if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 {
 							Xsqlite3ErrorMsg(tls, pParse,
-								ts+6785, libc.VaList(bp, pExpr))
+								ts+6774, libc.VaList(bp, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
 					} else {
@@ -55471,7 +55465,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 					var auth int32 = Xsqlite3AuthCheck(tls, pParse, SQLITE_FUNCTION, uintptr(0), (*FuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0))
 					if auth != SQLITE_OK {
 						if auth == SQLITE_DENY {
-							Xsqlite3ErrorMsg(tls, pParse, ts+6849,
+							Xsqlite3ErrorMsg(tls, pParse, ts+6838,
 								libc.VaList(bp+8, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
@@ -55485,7 +55479,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				}
 				if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_CONSTANT) == U32(0) {
 					if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_PartIdx|NC_GenCol) != 0 {
-						notValidImpl(tls, pParse, pNC, ts+6885, uintptr(0), pExpr)
+						notValidImpl(tls, pParse, pNC, ts+6874, uintptr(0), pExpr)
 					}
 
 				} else {
@@ -55508,30 +55502,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			if 0 == libc.Bool32(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 				if pDef != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+6913, libc.VaList(bp+16, pExpr))
+						ts+6902, libc.VaList(bp+16, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowAgg == 0 ||
 					is_agg != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) ||
 					is_agg != 0 && pWin != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowWin == 0 {
 					var zType uintptr
 					if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 {
-						zType = ts + 6956
+						zType = ts + 6945
 					} else {
-						zType = ts + 6963
+						zType = ts + 6952
 					}
-					Xsqlite3ErrorMsg(tls, pParse, ts+6973, libc.VaList(bp+24, zType, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6962, libc.VaList(bp+24, zType, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 					is_agg = 0
 				} else if no_such_func != 0 && int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7001, libc.VaList(bp+40, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6990, libc.VaList(bp+40, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if wrong_num_args != 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7023,
+					Xsqlite3ErrorMsg(tls, pParse, ts+7012,
 						libc.VaList(bp+48, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg == 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7067,
+						ts+7056,
 						libc.VaList(bp+56, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				}
@@ -55603,15 +55597,15 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_SelfRef != 0 {
-					notValidImpl(tls, pParse, pNC, ts+7115, pExpr, pExpr)
+					notValidImpl(tls, pParse, pNC, ts+7104, pExpr, pExpr)
 				} else {
 					Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 20)))
 				}
 
 				if nRef != (*NameContext)(unsafe.Pointer(pNC)).FnRef {
 					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_VarSelect)
-					*(*int32)(unsafe.Pointer(pNC + 24)) |= NC_VarSelect
 				}
+				*(*int32)(unsafe.Pointer(pNC + 24)) |= NC_Subquery
 			}
 			break
 
@@ -55619,7 +55613,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 	case TK_VARIABLE:
 		{
 			if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IsCheck|NC_PartIdx|NC_IdxExpr|NC_GenCol) != 0 {
-				notValidImpl(tls, pParse, pNC, ts+7126, pExpr, pExpr)
+				notValidImpl(tls, pParse, pNC, ts+7115, pExpr, pExpr)
 			}
 
 			break
@@ -55750,7 +55744,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3
 	defer tls.Free(24)
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+7137, libc.VaList(bp, i, zType, mx))
+		ts+7126, libc.VaList(bp, i, zType, mx))
 	Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pError)
 }
 
@@ -55770,7 +55764,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	}
 	db = (*Parse)(unsafe.Pointer(pParse)).Fdb
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 116 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7193, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7182, 0)
 		return 1
 	}
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
@@ -55805,7 +55799,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 			}
 			if Xsqlite3ExprIsInteger(tls, pE, bp+8) != 0 {
 				if *(*int32)(unsafe.Pointer(bp + 8)) <= 0 || *(*int32)(unsafe.Pointer(bp + 8)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr {
-					resolveOutOfRangeError(tls, pParse, ts+7227, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
+					resolveOutOfRangeError(tls, pParse, ts+7216, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
 					return 1
 				}
 			} else {
@@ -55862,7 +55856,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
 		if int32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*20 + 8 + 4))&0x4>>2) == 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+7233, libc.VaList(bp, i+1))
+				ts+7222, libc.VaList(bp, i+1))
 			return 1
 		}
 	}
@@ -55890,7 +55884,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr,
 		return 0
 	}
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 116 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7294, libc.VaList(bp, zType))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7283, libc.VaList(bp, zType))
 		return 1
 	}
 	pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList
@@ -56104,7 +56098,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		*(*int32)(unsafe.Pointer(bp + 24)) |= NC_UEList
 		if (*Select)(unsafe.Pointer(p)).FpHaving != 0 {
 			if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Aggregate) == U32(0) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7325, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+7314, 0)
 				return WRC_Abort
 			}
 			if Xsqlite3ResolveExprNames(tls, bp, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 {
@@ -56144,7 +56138,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 
 		if (*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) &&
 			isCompound <= nCompound &&
-			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7227) != 0 {
+			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7216) != 0 {
 			return WRC_Abort
 		}
 		if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -56155,7 +56149,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		if pGroupBy != 0 {
 			var pItem uintptr
 
-			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7364) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
+			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7353) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 				return WRC_Abort
 			}
 			i = 0
@@ -56167,7 +56161,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 			{
 				if (*Expr)(unsafe.Pointer((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr)).Fflags&U32(EP_Agg) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7370, 0)
+						ts+7359, 0)
 					return WRC_Abort
 				}
 
@@ -57031,7 +57025,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32
 	var mxHeight int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 116 + 3*4))
 	if nHeight > mxHeight {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+7429, libc.VaList(bp, mxHeight))
+			ts+7418, libc.VaList(bp, mxHeight))
 		rc = SQLITE_ERROR
 	}
 	return rc
@@ -57280,10 +57274,10 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList
 			nExprElem = 1
 		}
 		if nExprElem != nElem {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7477,
+			Xsqlite3ErrorMsg(tls, pParse, ts+7466,
 				libc.VaList(bp, nExprElem, func() uintptr {
 					if nExprElem > 1 {
-						return ts + 7521
+						return ts + 7510
 					}
 					return ts + 1547
 				}(), nElem))
@@ -57324,7 +57318,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt
 		!(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 		Xsqlite3ExprDeferredDelete(tls, pParse, pLeft)
 		Xsqlite3ExprDeferredDelete(tls, pParse, pRight)
-		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7523)
+		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7512)
 	} else {
 		return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight)
 	}
@@ -57350,7 +57344,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u
 	if pList != 0 &&
 		(*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 116 + 6*4)) &&
 		!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7525, libc.VaList(bp, pToken))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7514, libc.VaList(bp, pToken))
 	}
 	*(*uintptr)(unsafe.Pointer(pNew + 20)) = pList
 	*(*U32)(unsafe.Pointer(pNew + 4)) |= U32(EP_HasFunc)
@@ -57378,7 +57372,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD
 	if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromDDL) != U32(0) {
 		if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_DIRECT) != U32(0) ||
 			(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) == uint64(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7559, libc.VaList(bp, pExpr))
+			Xsqlite3ErrorMsg(tls, pParse, ts+7548, libc.VaList(bp, pExpr))
 		}
 	}
 }
@@ -57425,7 +57419,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 			}
 
 			if bOk == 0 || *(*I64)(unsafe.Pointer(bp + 8)) < int64(1) || *(*I64)(unsafe.Pointer(bp + 8)) > I64(*(*int32)(unsafe.Pointer(db + 116 + 9*4))) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7579,
+				Xsqlite3ErrorMsg(tls, pParse, ts+7568,
 					libc.VaList(bp, *(*int32)(unsafe.Pointer(db + 116 + 9*4))))
 				Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 				return
@@ -57450,7 +57444,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 	}
 	(*Expr)(unsafe.Pointer(pExpr)).FiColumn = x
 	if int32(x) > *(*int32)(unsafe.Pointer(db + 116 + 9*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7622, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7611, 0)
 		Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 	}
 }
@@ -58025,7 +58019,7 @@ __2:
 	if !(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_SELECT && (*IdList)(unsafe.Pointer(pColumns)).FnId != libc.AssignInt32(&n, Xsqlite3ExprVectorSize(tls, pExpr))) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7645,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7634,
 		libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n))
 	goto vector_append_error
 __3:
@@ -58148,7 +58142,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr,
 	var mx int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 116 + 2*4))
 
 	if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7675, libc.VaList(bp, zObject))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7664, libc.VaList(bp, zObject))
 	}
 }
 
@@ -58204,10 +58198,10 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int
 //	  "false"                        EP_IsFalse
 //	  anything else                  0
 func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 {
-	if Xsqlite3StrICmp(tls, zIn, ts+6757) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7687) == 0 {
 		return U32(EP_IsTrue)
 	}
-	if Xsqlite3StrICmp(tls, zIn, ts+6762) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7692) == 0 {
 		return U32(EP_IsFalse)
 	}
 	return U32(0)
@@ -59282,7 +59276,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 {
 	}
 	if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
-		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7523)
+		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7512)
 		if pLimit != 0 {
 			(*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC)
 			pLimit = Xsqlite3PExpr(tls, pParse, TK_NE,
@@ -59720,6 +59714,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr
 func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) {
 	var iAddr int32
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
+	var nErr int32 = (*Parse)(unsafe.Pointer(pParse)).FnErr
 
 	if (*Parse)(unsafe.Pointer(pParse)).FiSelfTab > 0 {
 		iAddr = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Parse)(unsafe.Pointer(pParse)).FiSelfTab-1, 0, regOut)
@@ -59733,6 +59728,9 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr
 	if iAddr != 0 {
 		Xsqlite3VdbeJumpHere(tls, v, iAddr)
 	}
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr > nErr {
+		(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FerrByteOffset = -1
+	}
 }
 
 // Generate code to extract the value of the iCol-th column of a table.
@@ -59951,6 +59949,7 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 	var p uintptr
 	var v uintptr
 	for p = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr; p != 0; p = (*IndexedExpr)(unsafe.Pointer(p)).FpIENext {
+		var exprAff U8
 		var iDataCur int32 = (*IndexedExpr)(unsafe.Pointer(p)).FiDataCur
 		if iDataCur < 0 {
 			continue
@@ -59964,6 +59963,14 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 		if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IndexedExpr)(unsafe.Pointer(p)).FpExpr, iDataCur) != 0 {
 			continue
 		}
+
+		exprAff = U8(Xsqlite3ExprAffinity(tls, pExpr))
+		if int32(exprAff) <= SQLITE_AFF_BLOB && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_BLOB ||
+			int32(exprAff) == SQLITE_AFF_TEXT && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_TEXT ||
+			int32(exprAff) >= SQLITE_AFF_NUMERIC && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_NUMERIC {
+			continue
+		}
+
 		v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 
 		if (*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow != 0 {
@@ -60737,7 +60744,7 @@ __121:
 	if !((*Expr)(unsafe.Pointer(pExpr)).FiTable != n1) {
 		goto __122
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7645,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7634,
 		libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1))
 __122:
 	;
@@ -60759,11 +60766,10 @@ __49:
 	return target
 
 __50:
-	if !(!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) &&
-		(*Expr)(unsafe.Pointer(pExpr)).FpLeft != 0 &&
-		int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_FUNCTION) {
+	if !!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) {
 		goto __123
 	}
+
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	if !(inReg != target) {
 		goto __125
@@ -60834,13 +60840,19 @@ __129:
 	;
 __127:
 	;
-	addrINR = Xsqlite3VdbeAddOp1(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable)
+	addrINR = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable, 0, target)
 
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = U8(0)
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = okConstFactor
+	if !(inReg != target) {
+		goto __130
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, inReg, target)
+	inReg = target
+__130:
+	;
 	Xsqlite3VdbeJumpHere(tls, v, addrINR)
-	Xsqlite3VdbeChangeP3(tls, v, addrINR, inReg)
 	goto __5
 
 __56:
@@ -60853,15 +60865,15 @@ __56:
 	nExpr = (*ExprList)(unsafe.Pointer(pEList)).FnExpr
 	endLabel = Xsqlite3VdbeMakeLabel(tls, pParse)
 	if !(libc.AssignUintptr(&pX, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) != uintptr(0)) {
-		goto __130
+		goto __131
 	}
 	pDel = Xsqlite3ExprDup(tls, db1, pX, 0)
 	if !((*Sqlite3)(unsafe.Pointer(db1)).FmallocFailed != 0) {
-		goto __131
+		goto __132
 	}
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	goto __5
-__131:
+__132:
 	;
 	exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+40))
 
@@ -60871,22 +60883,22 @@ __131:
 	pTest = bp + 100
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = 0
-__130:
+__131:
 	;
 	i1 = 0
-__132:
+__133:
 	if !(i1 < nExpr-1) {
-		goto __134
+		goto __135
 	}
 	if !(pX != 0) {
-		goto __135
+		goto __136
 	}
 
 	(*Expr)(unsafe.Pointer(bp + 100)).FpRight = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*20)).FpExpr
-	goto __136
-__135:
-	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*20)).FpExpr
+	goto __137
 __136:
+	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*20)).FpExpr
+__137:
 	;
 	nextCase = Xsqlite3VdbeMakeLabel(tls, pParse)
 
@@ -60895,21 +60907,21 @@ __136:
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(aListelem+uintptr(i1+1)*20)).FpExpr, target)
 	Xsqlite3VdbeGoto(tls, v, endLabel)
 	Xsqlite3VdbeResolveLabel(tls, v, nextCase)
-	goto __133
-__133:
-	i1 = i1 + 2
-	goto __132
 	goto __134
 __134:
+	i1 = i1 + 2
+	goto __133
+	goto __135
+__135:
 	;
 	if !(nExpr&1 != 0) {
-		goto __137
+		goto __138
 	}
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(pEList+8+uintptr(nExpr-1)*20)).FpExpr, target)
-	goto __138
-__137:
-	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+	goto __139
 __138:
+	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+__139:
 	;
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	setDoNotMergeFlagOnCopy(tls, v)
@@ -60919,27 +60931,27 @@ __138:
 __57:
 	;
 	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).FpTriggerTab) != 0) && !(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0)) {
-		goto __139
+		goto __140
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
 		ts+8075, 0)
 	return 0
-__139:
-	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
-		goto __140
-	}
-	Xsqlite3MayAbort(tls, pParse)
 __140:
 	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
 		goto __141
 	}
+	Xsqlite3MayAbort(tls, pParse)
+__141:
+	;
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+		goto __142
+	}
 	Xsqlite3VdbeAddOp4(tls,
 		v, OP_Halt, SQLITE_OK, OE_Ignore, 0, *(*uintptr)(unsafe.Pointer(pExpr + 8)), 0)
 
-	goto __142
-__141:
+	goto __143
+__142:
 	Xsqlite3HaltConstraint(tls, pParse,
 		func() int32 {
 			if (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab != 0 {
@@ -60948,7 +60960,7 @@ __141:
 			return SQLITE_ERROR
 		}(),
 		int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr), *(*uintptr)(unsafe.Pointer(pExpr + 8)), int8(0), uint8(0))
-__142:
+__143:
 	;
 	goto __5
 
@@ -63619,7 +63631,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 		return SQLITE_NOMEM
 	}
 	if Xsqlite3_strnicmp(tls, zSql, ts+10915, 7) != 0 {
-		return Xsqlite3CorruptError(tls, 113494)
+		return Xsqlite3CorruptError(tls, 113516)
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 {
 		if bTemp != 0 {
@@ -63636,7 +63648,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 	}
 	if rc == SQLITE_OK &&
 		((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
-		rc = Xsqlite3CorruptError(tls, 113505)
+		rc = Xsqlite3CorruptError(tls, 113527)
 	}
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
@@ -64557,7 +64569,7 @@ __1:
 		goto __2
 	}
 
-	rc = Xsqlite3CorruptError(tls, 114441)
+	rc = Xsqlite3CorruptError(tls, 114463)
 	goto drop_column_done
 __2:
 	;
@@ -68920,6 +68932,12 @@ __10:
 
 	pExpr = Xsqlite3PExpr(tls, pParse, TK_UPLUS, pExpr, uintptr(0))
 __11:
+	;
+	if !(pExpr != 0 && int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_RAISE) {
+		goto __12
+	}
+	(*Expr)(unsafe.Pointer(pExpr)).FaffExpr = (*Column)(unsafe.Pointer(pCol)).Faffinity
+__12:
 	;
 	Xsqlite3ColumnSetExpr(tls, pParse, pTab, pCol, pExpr)
 	pExpr = uintptr(0)
@@ -70085,7 +70103,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 {
 		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3279, 4) == 0 {
 			return 0
 		}
-		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7126, 10) == 0 {
+		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7115, 10) == 0 {
 			return 0
 		}
 		return 1
@@ -71331,7 +71349,7 @@ __81:
 		goto __101
 	}
 	Xsqlite3ErrorMsg(tls, pParse, ts+14133, 0)
-	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121835)
+	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121859)
 	goto exit_create_index
 __101:
 	;
@@ -73376,7 +73394,7 @@ __20:
 	goto __16
 __15:
 	wcf = U16(WHERE_ONEPASS_DESIRED | WHERE_DUPLICATES_OK)
-	if !((*NameContext)(unsafe.Pointer(bp+8)).FncFlags&NC_VarSelect != 0) {
+	if !((*NameContext)(unsafe.Pointer(bp+8)).FncFlags&NC_Subquery != 0) {
 		goto __23
 	}
 	bComplex = 1
@@ -79841,7 +79859,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca
 	if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) {
 		goto __1
 	}
-	return Xsqlite3MisuseError(tls, 131895)
+	return Xsqlite3MisuseError(tls, 131931)
 __1:
 	;
 	if !(zSql == uintptr(0)) {
@@ -81238,7 +81256,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh
 		} else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) {
 			zType = ts + 17506
 		} else {
-			zType = ts + 7521
+			zType = ts + 7510
 		}
 		Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17508,
 			libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin,
@@ -81399,6 +81417,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p
 	var zErr2 uintptr
 	var k3 int32
 	var pCheck uintptr
+	var jmp7 int32
 	var jmp6 int32
 	var iCol1 int32
 	var uniqOk int32
@@ -82717,7 +82736,7 @@ __215:
 		goto __217
 	}
 	pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7521, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7510, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
 	goto __216
 __216:
 	j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext
@@ -82733,7 +82752,7 @@ __218:
 	if !(i6 < int32(uint32(unsafe.Sizeof(aPragmaName))/uint32(unsafe.Sizeof(PragmaName{})))) {
 		goto __220
 	}
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7521, libc.VaList(bp+272, aPragmaName[i6].FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7510, libc.VaList(bp+272, aPragmaName[i6].FzName))
 	goto __219
 __219:
 	i6++
@@ -83538,80 +83557,94 @@ __344:
 	jmp4 = integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, jmp21)
 
+	if !((*Table)(unsafe.Pointer(pTab9)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) {
+		goto __345
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_IdxRowid, *(*int32)(unsafe.Pointer(bp + 568))+j4, 3)
+	jmp7 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 3, 0, r1+int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)-1)
+
+	Xsqlite3VdbeLoadString(tls, v, 3,
+		ts+17922)
+	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17958)
+	Xsqlite3VdbeGoto(tls, v, jmp5-1)
+	Xsqlite3VdbeJumpHere(tls, v, jmp7)
+__345:
+	;
 	label6 = 0
 	kk = 0
-__345:
+__346:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __347
-	}
-	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*4)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __348
 	}
-	goto __346
-__348:
-	;
-	if !(label6 == 0) {
+	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*4)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __349
 	}
-	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+	goto __347
 __349:
+	;
+	if !(label6 == 0) {
+		goto __350
+	}
+	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+__350:
 	;
 	Xsqlite3VdbeAddOp3(tls, v, OP_Column, *(*int32)(unsafe.Pointer(bp + 568))+j4, kk, 3)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Ne, 3, label6, r1+kk)
-	goto __346
-__346:
-	kk++
-	goto __345
 	goto __347
 __347:
+	kk++
+	goto __346
+	goto __348
+__348:
 	;
 	if !(label6 != 0) {
-		goto __350
+		goto __351
 	}
 	jmp6 = Xsqlite3VdbeAddOp0(tls, v, OP_Goto)
 	Xsqlite3VdbeResolveLabel(tls, v, label6)
 	Xsqlite3VdbeLoadString(tls, v, 3, ts+17896)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
-	Xsqlite3VdbeLoadString(tls, v, 4, ts+17922)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17969)
 	Xsqlite3VdbeGoto(tls, v, jmp5-1)
 	Xsqlite3VdbeJumpHere(tls, v, jmp6)
-__350:
+__351:
 	;
 	if !(int32((*Index)(unsafe.Pointer(pIdx5)).FonError) != OE_None) {
-		goto __351
+		goto __352
 	}
 	uniqOk = Xsqlite3VdbeMakeLabel(tls, pParse)
 	kk = 0
-__352:
+__353:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __354
+		goto __355
 	}
 	iCol1 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2)))
 
 	if !(iCol1 >= 0 && uint32(int32(*(*uint8)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*16 + 4))&0xf>>0)) != 0) {
-		goto __355
+		goto __356
 	}
-	goto __353
-__355:
+	goto __354
+__356:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_IsNull, r1+kk, uniqOk)
 
-	goto __353
-__353:
-	kk++
-	goto __352
 	goto __354
 __354:
+	kk++
+	goto __353
+	goto __355
+__355:
 	;
 	jmp61 = Xsqlite3VdbeAddOp1(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 568))+j4)
 	Xsqlite3VdbeGoto(tls, v, uniqOk)
 	Xsqlite3VdbeJumpHere(tls, v, jmp61)
 	Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, *(*int32)(unsafe.Pointer(bp + 568))+j4, uniqOk, r1,
 		int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol))
-	Xsqlite3VdbeLoadString(tls, v, 3, ts+17949)
+	Xsqlite3VdbeLoadString(tls, v, 3, ts+17996)
 	Xsqlite3VdbeGoto(tls, v, jmp5)
 	Xsqlite3VdbeResolveLabel(tls, v, uniqOk)
-__351:
+__352:
 	;
 	Xsqlite3VdbeJumpHere(tls, v, jmp4)
 	Xsqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 576)))
@@ -83628,20 +83661,20 @@ __340:
 	Xsqlite3VdbeAddOp2(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 564)), loopTop)
 	Xsqlite3VdbeJumpHere(tls, v, loopTop-1)
 	if !!(isQuick != 0) {
-		goto __356
+		goto __357
 	}
-	Xsqlite3VdbeLoadString(tls, v, 2, ts+17976)
+	Xsqlite3VdbeLoadString(tls, v, 2, ts+18023)
 	j4 = 0
 	pIdx5 = (*Table)(unsafe.Pointer(pTab9)).FpIndex
-__357:
+__358:
 	if !(pIdx5 != 0) {
-		goto __359
-	}
-	if !(pPk1 == pIdx5) {
 		goto __360
 	}
-	goto __358
-__360:
+	if !(pPk1 == pIdx5) {
+		goto __361
+	}
+	goto __359
+__361:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_Count, *(*int32)(unsafe.Pointer(bp + 568))+j4, 3)
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 8+j4, 0, 3)
@@ -83650,21 +83683,21 @@ __360:
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 2, 3)
 	integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
-	goto __358
-__358:
-	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
-	j4++
-	goto __357
 	goto __359
 __359:
+	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
+	j4++
+	goto __358
+	goto __360
+__360:
 	;
 	if !(pPk1 != 0) {
-		goto __361
+		goto __362
 	}
 	Xsqlite3ReleaseTempRange(tls, pParse, r2, int32((*Index)(unsafe.Pointer(pPk1)).FnKeyCol))
-__361:
+__362:
 	;
-__356:
+__357:
 	;
 	goto __291
 __291:
@@ -83682,14 +83715,14 @@ __266:
 	;
 	aOp2 = Xsqlite3VdbeAddOpList(tls, v, int32(uint32(unsafe.Sizeof(endCode))/uint32(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&endCode)), iLn5)
 	if !(aOp2 != 0) {
-		goto __362
+		goto __363
 	}
 	(*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = 1 - *(*int32)(unsafe.Pointer(bp + 560))
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 2*20)).Fp4type = int8(-1)
-	*(*uintptr)(unsafe.Pointer(aOp2 + 2*20 + 16)) = ts + 18005
+	*(*uintptr)(unsafe.Pointer(aOp2 + 2*20 + 16)) = ts + 18052
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 5*20)).Fp4type = int8(-1)
 	*(*uintptr)(unsafe.Pointer(aOp2 + 5*20 + 16)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT)
-__362:
+__363:
 	;
 	Xsqlite3VdbeChangeP3(tls, v, 0, Xsqlite3VdbeCurrentAddr(tls, v)-2)
 
@@ -83697,27 +83730,27 @@ __362:
 
 __45:
 	if !!(zRight != 0) {
-		goto __363
+		goto __364
 	}
 	if !(Xsqlite3ReadSchema(tls, pParse) != 0) {
-		goto __365
-	}
-	goto pragma_out
-__365:
-	;
-	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
-	goto __364
-__363:
-	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
 		goto __366
 	}
+	goto pragma_out
+__366:
+	;
+	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
+	goto __365
+__364:
+	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
+		goto __367
+	}
 	pEnc = uintptr(unsafe.Pointer(&encnames1))
-__367:
+__368:
 	if !((*EncName)(unsafe.Pointer(pEnc)).FzName != 0) {
-		goto __369
+		goto __370
 	}
 	if !(0 == Xsqlite3StrICmp(tls, zRight, (*EncName)(unsafe.Pointer(pEnc)).FzName)) {
-		goto __370
+		goto __371
 	}
 	if (*EncName)(unsafe.Pointer(pEnc)).Fenc != 0 {
 		enc = (*EncName)(unsafe.Pointer(pEnc)).Fenc
@@ -83726,25 +83759,25 @@ __367:
 	}
 	(*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema)).Fenc = enc
 	Xsqlite3SetTextEncoding(tls, db, enc)
-	goto __369
-__370:
-	;
-	goto __368
-__368:
-	pEnc += 8
-	goto __367
-	goto __369
-__369:
-	;
-	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
-		goto __371
-	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18008, libc.VaList(bp+456, zRight))
+	goto __370
 __371:
 	;
-__366:
+	goto __369
+__369:
+	pEnc += 8
+	goto __368
+	goto __370
+__370:
 	;
-__364:
+	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
+		goto __372
+	}
+	Xsqlite3ErrorMsg(tls, pParse, ts+18055, libc.VaList(bp+456, zRight))
+__372:
+	;
+__367:
+	;
+__365:
 	;
 	goto __15
 
@@ -83752,15 +83785,15 @@ __46:
 	iCookie = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiArg)
 	Xsqlite3VdbeUsesBtree(tls, v, iDb)
 	if !(zRight != 0 && int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_ReadOnly == 0) {
-		goto __372
+		goto __373
 	}
 
 	aOp3 = Xsqlite3VdbeAddOpList(tls, v, int32(uint32(unsafe.Sizeof(setCookie))/uint32(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&setCookie)), 0)
 	if !(0 != 0) {
-		goto __374
+		goto __375
 	}
 	goto __15
-__374:
+__375:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp3)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*20)).Fp1 = iDb
@@ -83768,41 +83801,41 @@ __374:
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*20)).Fp3 = Xsqlite3Atoi(tls, zRight)
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*20)).Fp5 = U16(1)
 	if !(iCookie == BTREE_SCHEMA_VERSION && (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0)) {
-		goto __375
+		goto __376
 	}
 
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*20)).Fopcode = U8(OP_Noop)
-__375:
+__376:
 	;
-	goto __373
-__372:
+	goto __374
+__373:
 	;
 	aOp4 = Xsqlite3VdbeAddOpList(tls, v, int32(uint32(unsafe.Sizeof(readCookie))/uint32(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&readCookie)), 0)
 	if !(0 != 0) {
-		goto __376
+		goto __377
 	}
 	goto __15
-__376:
+__377:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp4)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*20)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*20)).Fp3 = iCookie
 	Xsqlite3VdbeReusable(tls, v)
-__373:
+__374:
 	;
 	goto __15
 
 __47:
 	i10 = 0
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 1
-__377:
+__378:
 	if !(libc.AssignUintptr(&zOpt, Xsqlite3_compileoption_get(tls, libc.PostIncInt32(&i10, 1))) != uintptr(0)) {
-		goto __378
+		goto __379
 	}
 	Xsqlite3VdbeLoadString(tls, v, 1, zOpt)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1)
-	goto __377
-__378:
+	goto __378
+__379:
 	;
 	Xsqlite3VdbeReusable(tls, v)
 
@@ -83817,31 +83850,31 @@ __48:
 	}()
 	eMode2 = SQLITE_CHECKPOINT_PASSIVE
 	if !(zRight != 0) {
-		goto __379
-	}
-	if !(Xsqlite3StrICmp(tls, zRight, ts+17338) == 0) {
 		goto __380
 	}
+	if !(Xsqlite3StrICmp(tls, zRight, ts+17338) == 0) {
+		goto __381
+	}
 	eMode2 = SQLITE_CHECKPOINT_FULL
-	goto __381
-__380:
-	if !(Xsqlite3StrICmp(tls, zRight, ts+18033) == 0) {
-		goto __382
+	goto __382
+__381:
+	if !(Xsqlite3StrICmp(tls, zRight, ts+18080) == 0) {
+		goto __383
 	}
 	eMode2 = SQLITE_CHECKPOINT_RESTART
-	goto __383
-__382:
+	goto __384
+__383:
 	if !(Xsqlite3StrICmp(tls, zRight, ts+17491) == 0) {
-		goto __384
+		goto __385
 	}
 	eMode2 = SQLITE_CHECKPOINT_TRUNCATE
+__385:
+	;
 __384:
 	;
-__383:
+__382:
 	;
-__381:
-	;
-__379:
+__380:
 	;
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 3
 	Xsqlite3VdbeAddOp3(tls, v, OP_Checkpoint, iBt, eMode2, 1)
@@ -83851,10 +83884,10 @@ __379:
 
 __49:
 	if !(zRight != 0) {
-		goto __385
+		goto __386
 	}
 	Xsqlite3_wal_autocheckpoint(tls, db, Xsqlite3Atoi(tls, zRight))
-__385:
+__386:
 	;
 	returnSingleInt(tls, v,
 		func() int64 {
@@ -83874,19 +83907,19 @@ __50:
 
 __51:
 	if !(zRight != 0) {
-		goto __386
+		goto __387
 	}
 	opMask = U32(Xsqlite3Atoi(tls, zRight))
 	if !(opMask&U32(0x02) == U32(0)) {
-		goto __388
+		goto __389
 	}
 	goto __15
-__388:
+__389:
 	;
-	goto __387
-__386:
-	opMask = U32(0xfffe)
+	goto __388
 __387:
+	opMask = U32(0xfffe)
+__388:
 	;
 	iTabCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1)
 	iDbLast = func() int32 {
@@ -83895,86 +83928,86 @@ __387:
 		}
 		return (*Sqlite3)(unsafe.Pointer(db)).FnDb - 1
 	}()
-__389:
+__390:
 	if !(iDb <= iDbLast) {
-		goto __391
-	}
-	if !(iDb == 1) {
 		goto __392
 	}
-	goto __390
-__392:
+	if !(iDb == 1) {
+		goto __393
+	}
+	goto __391
+__393:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
 	pSchema = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FpSchema
 	k4 = (*Hash)(unsafe.Pointer(pSchema + 8)).Ffirst
-__393:
+__394:
 	if !(k4 != 0) {
-		goto __395
+		goto __396
 	}
 	pTab10 = (*HashElem)(unsafe.Pointer(k4)).Fdata
 
 	if !((*Table)(unsafe.Pointer(pTab10)).FtabFlags&U32(TF_StatsUsed) == U32(0)) {
-		goto __396
+		goto __397
 	}
-	goto __394
-__396:
+	goto __395
+__397:
 	;
 	szThreshold = LogEst(int32((*Table)(unsafe.Pointer(pTab10)).FnRowLogEst) + 46)
 	pIdx6 = (*Table)(unsafe.Pointer(pTab10)).FpIndex
-__397:
+__398:
 	if !(pIdx6 != 0) {
-		goto __399
-	}
-	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 56))&0x80>>7) != 0) {
 		goto __400
 	}
+	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 56))&0x80>>7) != 0) {
+		goto __401
+	}
 	szThreshold = int16(0)
-	goto __399
-__400:
+	goto __400
+__401:
 	;
-	goto __398
-__398:
-	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
-	goto __397
 	goto __399
 __399:
+	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
+	goto __398
+	goto __400
+__400:
 	;
 	if !(szThreshold != 0) {
-		goto __401
+		goto __402
 	}
 	Xsqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab10, OP_OpenRead)
 	Xsqlite3VdbeAddOp3(tls, v, OP_IfSmaller, iTabCur,
 		int32(U32(Xsqlite3VdbeCurrentAddr(tls, v)+2)+opMask&U32(1)), int32(szThreshold))
 
-__401:
+__402:
 	;
-	zSubSql = Xsqlite3MPrintf(tls, db, ts+18041,
+	zSubSql = Xsqlite3MPrintf(tls, db, ts+18088,
 		libc.VaList(bp+464, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, (*Table)(unsafe.Pointer(pTab10)).FzName))
 	if !(opMask&U32(0x01) != 0) {
-		goto __402
+		goto __403
 	}
 	r11 = Xsqlite3GetTempReg(tls, pParse)
 	Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, r11, 0, zSubSql, -6)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, r11, 1)
-	goto __403
-__402:
-	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+	goto __404
 __403:
+	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+__404:
 	;
-	goto __394
-__394:
-	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
-	goto __393
 	goto __395
 __395:
+	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
+	goto __394
+	goto __396
+__396:
 	;
-	goto __390
-__390:
-	iDb++
-	goto __389
 	goto __391
 __391:
+	iDb++
+	goto __390
+	goto __392
+__392:
 	;
 	Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
 	goto __15
@@ -83982,36 +84015,36 @@ __391:
 __52:
 	;
 	if !(zRight != 0) {
-		goto __404
+		goto __405
 	}
 	Xsqlite3_busy_timeout(tls, db, Xsqlite3Atoi(tls, zRight))
-__404:
+__405:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout))
 	goto __15
 
 __53:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+580) == SQLITE_OK) {
-		goto __405
+		goto __406
 	}
 	Xsqlite3_soft_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 580)))
-__405:
+__406:
 	;
 	returnSingleInt(tls, v, Xsqlite3_soft_heap_limit64(tls, int64(-1)))
 	goto __15
 
 __54:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+588) == SQLITE_OK) {
-		goto __406
+		goto __407
 	}
 	iPrior = Xsqlite3_hard_heap_limit64(tls, int64(-1))
 	if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 588)) > int64(0) && (iPrior == int64(0) || iPrior > *(*Sqlite3_int64)(unsafe.Pointer(bp + 588)))) {
-		goto __407
+		goto __408
 	}
 	Xsqlite3_hard_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 588)))
-__407:
+__408:
 	;
-__406:
+__407:
 	;
 	returnSingleInt(tls, v, Xsqlite3_hard_heap_limit64(tls, int64(-1)))
 	goto __15
@@ -84020,10 +84053,10 @@ __55:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+596) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 596)) >= int64(0)) {
-		goto __408
+		goto __409
 	}
 	Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 596))&int64(0x7fffffff)))
-__408:
+__409:
 	;
 	returnSingleInt(tls, v, int64(Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, -1)))
 	goto __15
@@ -84032,10 +84065,10 @@ __56:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+604) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 604)) >= int64(0)) {
-		goto __409
+		goto __410
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 604)) & int64(0x7fffffff))
-__409:
+__410:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit))
 	goto __15
@@ -84043,10 +84076,10 @@ __409:
 __15:
 	;
 	if !(int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_NoColumns1 != 0 && zRight != 0) {
-		goto __410
+		goto __411
 	}
 
-__410:
+__411:
 	;
 pragma_out:
 	Xsqlite3DbFree(tls, db, zLeft)
@@ -84098,14 +84131,14 @@ var endCode = [7]VdbeOpList{
 	{Fopcode: U8(OP_Goto), Fp2: int8(3)},
 }
 var encnames1 = [9]EncName{
-	{FzName: ts + 18059, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18064, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18070, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18079, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18088, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18096, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18104},
-	{FzName: ts + 18111},
+	{FzName: ts + 18106, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18111, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18117, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18126, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18135, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18143, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18151},
+	{FzName: ts + 18158},
 	{},
 }
 var setCookie = [2]VdbeOpList{
@@ -84157,7 +84190,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	_ = argc
 	_ = argv
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), bp+56, int32(unsafe.Sizeof([200]int8{})), 0)
-	Xsqlite3_str_appendall(tls, bp+32, ts+18117)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18164)
 	i = 0
 	j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName)
 __1:
@@ -84165,7 +84198,7 @@ __1:
 		goto __3
 	}
 	{
-		Xsqlite3_str_appendf(tls, bp+32, ts+18132, libc.VaList(bp, int32(cSep), pragCName[j]))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18179, libc.VaList(bp, int32(cSep), pragCName[j]))
 		cSep = int8(',')
 
 	}
@@ -84178,16 +84211,16 @@ __2:
 __3:
 	;
 	if i == 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18139, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18186, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
 		i++
 	}
 	j = 0
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_Result1 != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18145)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18192)
 		j++
 	}
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(PragFlg_SchemaOpt|PragFlg_SchemaReq) != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18157)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18204)
 		j++
 	}
 	Xsqlite3_str_append(tls, bp+32, ts+4950, 1)
@@ -84370,13 +84403,13 @@ __2:
 __3:
 	;
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 116 + 1*4)))
-	Xsqlite3_str_appendall(tls, bp+32, ts+18172)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18219)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 16 + 1*4)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18180, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 16 + 1*4))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18227, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 16 + 1*4))))
 	}
 	Xsqlite3_str_appendall(tls, bp+32, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 16)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18184, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 16))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18231, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 16))))
 	}
 	zSql = Xsqlite3StrAccumFinish(tls, bp+32)
 	if zSql == uintptr(0) {
@@ -84453,12 +84486,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 	} else if *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) != uintptr(0) {
 	} else if (*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask) != 0 {
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db,
-			ts+18188, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*4)),
+			ts+18235, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*4)),
 				azAlterType[(*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask)-U32(1)],
 				zExtra))
 		(*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR
 	} else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137196)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137249)
 	} else {
 		var z uintptr
 		var zObj uintptr
@@ -84467,19 +84500,19 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 		} else {
 			zObj = ts + 5001
 		}
-		z = Xsqlite3MPrintf(tls, db, ts+18216, libc.VaList(bp+32, zObj))
+		z = Xsqlite3MPrintf(tls, db, ts+18263, libc.VaList(bp+32, zObj))
 		if zExtra != 0 && *(*int8)(unsafe.Pointer(zExtra)) != 0 {
-			z = Xsqlite3MPrintf(tls, db, ts+18247, libc.VaList(bp+40, z, zExtra))
+			z = Xsqlite3MPrintf(tls, db, ts+18294, libc.VaList(bp+40, z, zExtra))
 		}
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137203)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137256)
 	}
 }
 
 var azAlterType = [3]uintptr{
-	ts + 18255,
-	ts + 18262,
-	ts + 18274,
+	ts + 18302,
+	ts + 18309,
+	ts + 18321,
 }
 
 // Check to see if any sibling index (another index on the same table)
@@ -84571,7 +84604,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr
 		var pIndex uintptr
 		pIndex = Xsqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*4)), (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName)
 		if pIndex == uintptr(0) {
-			corruptSchema(tls, pData, argv, ts+18285)
+			corruptSchema(tls, pData, argv, ts+18332)
 		} else if Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4)), pIndex+44) == 0 ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2) ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage ||
@@ -84619,7 +84652,7 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl
 	}())
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 2*4)) = *(*uintptr)(unsafe.Pointer(bp + 16 + 1*4))
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 3*4)) = ts + 7931
-	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*4)) = ts + 18298
+	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*4)) = ts + 18345
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 5*4)) = uintptr(0)
 	(*InitData)(unsafe.Pointer(bp + 40)).Fdb = db
 	(*InitData)(unsafe.Pointer(bp + 40)).FiDb = iDb
@@ -84748,7 +84781,7 @@ __18:
 	if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) {
 		goto __19
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+18370)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+18417)
 	rc = SQLITE_ERROR
 	goto initone_error_out
 __19:
@@ -84762,7 +84795,7 @@ __20:
 	(*InitData)(unsafe.Pointer(bp + 40)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt)
 
 	zSql = Xsqlite3MPrintf(tls, db,
-		ts+18394,
+		ts+18441,
 		libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zSchemaTabName))
 
 	xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth
@@ -85094,7 +85127,7 @@ __4:
 		goto __8
 	}
 	zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*16)).FzDbSName
-	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18428, libc.VaList(bp, zDb))
+	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18475, libc.VaList(bp, zDb))
 
 	goto end_prepare
 __8:
@@ -85124,7 +85157,7 @@ __9:
 	if !(nBytes > mxLen) {
 		goto __12
 	}
-	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18458, 0)
+	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18505, 0)
 	rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG)
 	goto end_prepare
 __12:
@@ -85220,7 +85253,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 137995)
+		return Xsqlite3MisuseError(tls, 138048)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	Xsqlite3BtreeEnterAll(tls, db)
@@ -85319,7 +85352,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 138143)
+		return Xsqlite3MisuseError(tls, 138196)
 	}
 	if nBytes >= 0 {
 		var sz int32
@@ -85646,13 +85679,13 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC
 			zSp2++
 		}
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+18477, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
+			ts+18524, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
 		jointype = JT_INNER
 	}
 	return jointype
 }
 
-var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18507))
+var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18554))
 var aKeyword = [7]struct {
 	Fi     U8
 	FnChar U8
@@ -85827,7 +85860,7 @@ __1:
 			var pUsing uintptr = uintptr(0)
 			if uint32(int32(*(*uint16)(unsafe.Pointer(pRight + 36 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 48)) != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+18541, libc.VaList(bp, 0))
+					ts+18588, libc.VaList(bp, 0))
 				return 1
 			}
 			for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ {
@@ -85872,7 +85905,7 @@ __1:
 					tableAndColumnIndex(tls, pSrc, 0, i, zName, bp+24, bp+28,
 						int32(*(*uint16)(unsafe.Pointer(pRight + 36 + 4))&0x1000>>12)) == 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+18591, libc.VaList(bp+8, zName))
+						ts+18638, libc.VaList(bp+8, zName))
 					return 1
 				}
 				pE1 = Xsqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 28)))
@@ -85883,7 +85916,7 @@ __1:
 						int32(*(*uint16)(unsafe.Pointer(pRight + 36 + 4))&0x1000>>12)) != 0 {
 						if int32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*68 + 36 + 4))&0x400>>10) == 0 ||
 							Xsqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*68 + 48)), zName) < 0 {
-							Xsqlite3ErrorMsg(tls, pParse, ts+18655,
+							Xsqlite3ErrorMsg(tls, pParse, ts+18702,
 								libc.VaList(bp+16, zName))
 							break
 						}
@@ -86511,16 +86544,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr {
 	var z uintptr
 	switch id {
 	case TK_ALL:
-		z = ts + 18692
+		z = ts + 18739
 		break
 	case TK_INTERSECT:
-		z = ts + 18702
+		z = ts + 18749
 		break
 	case TK_EXCEPT:
-		z = ts + 18712
+		z = ts + 18759
 		break
 	default:
-		z = ts + 18719
+		z = ts + 18766
 		break
 	}
 	return z
@@ -86530,7 +86563,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18725, libc.VaList(bp, zUsage))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18772, libc.VaList(bp, zUsage))
 }
 
 func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) {
@@ -86556,9 +86589,9 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n
 	var nRefKey int32 = 0
 	var aOutEx uintptr = (*Select)(unsafe.Pointer(p)).FpEList + 8
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18748, libc.VaList(bp, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18795, libc.VaList(bp, func() uintptr {
 		if (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 {
-			return ts + 18779
+			return ts + 18826
 		}
 		return ts + 1547
 	}()))
@@ -86902,7 +86935,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr)
 		} else {
 			var z uintptr = (*ExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*20)).FzEName
 			if z == uintptr(0) {
-				z = Xsqlite3MPrintf(tls, db, ts+18794, libc.VaList(bp+16, i+1))
+				z = Xsqlite3MPrintf(tls, db, ts+18841, libc.VaList(bp+16, i+1))
 			} else {
 				z = Xsqlite3DbStrDup(tls, db, z)
 			}
@@ -87002,7 +87035,7 @@ __1:
 		if zName != 0 && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) {
 			zName = Xsqlite3DbStrDup(tls, db, zName)
 		} else {
-			zName = Xsqlite3MPrintf(tls, db, ts+18794, libc.VaList(bp, i+1))
+			zName = Xsqlite3MPrintf(tls, db, ts+18841, libc.VaList(bp, i+1))
 		}
 
 		*(*U32)(unsafe.Pointer(bp + 48)) = U32(0)
@@ -87018,7 +87051,7 @@ __1:
 					nName = j
 				}
 			}
-			zName = Xsqlite3MPrintf(tls, db, ts+18803, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 48)), 1)))
+			zName = Xsqlite3MPrintf(tls, db, ts+18850, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 48)), 1)))
 			Xsqlite3ProgressCheck(tls, pParse)
 			if *(*U32)(unsafe.Pointer(bp + 48)) > U32(3) {
 				Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+48)
@@ -87101,8 +87134,6 @@ __1:
 		(*Column)(unsafe.Pointer(pCol)).Faffinity = Xsqlite3ExprAffinity(tls, p)
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) <= SQLITE_AFF_NONE {
 			(*Column)(unsafe.Pointer(pCol)).Faffinity = aff
-		} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
-			(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
 		}
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_TEXT && (*Select)(unsafe.Pointer(pSelect)).FpNext != 0 {
 			var m int32 = 0
@@ -87117,12 +87148,15 @@ __1:
 			} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && m&0x02 != 0 {
 				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_BLOB)
 			}
+			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
+				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
+			}
 		}
 		zType = columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0))
 		if zType == uintptr(0) || int32((*Column)(unsafe.Pointer(pCol)).Faffinity) != int32(Xsqlite3AffinityType(tls, zType, uintptr(0))) {
 			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_NUMERIC ||
 				int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_FLEXNUM {
-				zType = ts + 18811
+				zType = ts + 18858
 			} else {
 				zType = uintptr(0)
 				for j = 1; j < SQLITE_N_STDTYPE; j++ {
@@ -87338,7 +87372,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest
 	if !((*Select)(unsafe.Pointer(p)).FpWin != 0) {
 		goto __1
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18815, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18862, 0)
 	return
 __1:
 	;
@@ -87429,7 +87463,7 @@ __12:
 	if !((*Select)(unsafe.Pointer(pFirstRec)).FselFlags&U32(SF_Aggregate) != 0) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18864, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18911, 0)
 	goto end_of_recursive_query
 __15:
 	;
@@ -87449,7 +87483,7 @@ __14:
 	;
 	pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18906, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18953, 0)
 	rc = Xsqlite3Select(tls, pParse, pSetup, bp)
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = p
 	if !(rc != 0) {
@@ -87486,7 +87520,7 @@ __20:
 	Xsqlite3VdbeResolveLabel(tls, v, addrCont)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18912, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18959, 0)
 	Xsqlite3Select(tls, pParse, p, bp)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup
@@ -87520,11 +87554,11 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 		p = (*Select)(unsafe.Pointer(p)).FpPrior
 		nRow = nRow + bShowAll
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18927, libc.VaList(bp, nRow, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18974, libc.VaList(bp, nRow, func() uintptr {
 		if nRow == 1 {
 			return ts + 1547
 		}
-		return ts + 18950
+		return ts + 18997
 	}()))
 	for p != 0 {
 		selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1)
@@ -87625,8 +87659,8 @@ __6:
 	if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) {
 		goto __8
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18952, 0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18967, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18999, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19014, 0)
 __8:
 	;
 	switch int32((*Select)(unsafe.Pointer(p)).Fop) {
@@ -87673,7 +87707,7 @@ __16:
 	;
 __15:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18692, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18739, 0)
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+16)
 
@@ -87740,7 +87774,7 @@ __23:
 	pLimit = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 48)).FeDest = op
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18986, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19033, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+48)
 
@@ -87802,7 +87836,7 @@ __26:
 	pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 76)).FiSDParm = tab2
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18986, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19033, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+76)
 
@@ -87955,10 +87989,10 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr)
 	defer tls.Free(8)
 
 	if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Values) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19007, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+19054, 0)
 	} else {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+19053,
+			ts+19100,
 			libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 	}
 }
@@ -88212,8 +88246,8 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	(*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0)
 
 	(*Select)(unsafe.Pointer(pPrior)).FpOrderBy = Xsqlite3ExprListDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7227)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7227)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7216)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7216)
 
 	computeLimitRegisters(tls, pParse, p, labelEnd)
 	if (*Select)(unsafe.Pointer(p)).FiLimit != 0 && op == TK_ALL {
@@ -88240,13 +88274,13 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	Xsqlite3SelectDestInit(tls, bp+8, SRT_Coroutine, regAddrA)
 	Xsqlite3SelectDestInit(tls, bp+36, SRT_Coroutine, regAddrB)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19135, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19182, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	addrSelectA = Xsqlite3VdbeCurrentAddr(tls, v) + 1
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA)
 
 	(*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19146, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19193, 0)
 	Xsqlite3Select(tls, pParse, pPrior, bp+8)
 	Xsqlite3VdbeEndCoroutine(tls, v, regAddrA)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
@@ -88258,7 +88292,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset
 	(*Select)(unsafe.Pointer(p)).FiLimit = regLimitB
 	(*Select)(unsafe.Pointer(p)).FiOffset = 0
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19151, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19198, 0)
 	Xsqlite3Select(tls, pParse, p, bp+36)
 	(*Select)(unsafe.Pointer(p)).FiLimit = savedLimit
 	(*Select)(unsafe.Pointer(p)).FiOffset = savedOffset
@@ -88445,7 +88479,8 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr {
 				Xsqlite3VectorErrorMsg(tls, (*SubstContext)(unsafe.Pointer(pSubst)).FpParse, pCopy)
 			} else {
 				var db uintptr = (*Parse)(unsafe.Pointer((*SubstContext)(unsafe.Pointer(pSubst)).FpParse)).Fdb
-				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 && int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN {
+				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 &&
+					(int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN || (*Expr)(unsafe.Pointer(pCopy)).FiTable != (*SubstContext)(unsafe.Pointer(pSubst)).FiNewTable) {
 					libc.Xmemset(tls, bp, 0, uint32(unsafe.Sizeof(Expr{})))
 					(*Expr)(unsafe.Pointer(bp)).Fop = U8(TK_IF_NULL_ROW)
 					(*Expr)(unsafe.Pointer(bp)).FpLeft = pCopy
@@ -89344,7 +89379,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	for pIdx = (*Table)(unsafe.Pointer(pTab)).FpIndex; pIdx != 0 && Xsqlite3StrICmp(tls, (*Index)(unsafe.Pointer(pIdx)).FzName, zIndexedBy) != 0; pIdx = (*Index)(unsafe.Pointer(pIdx)).FpNext {
 	}
 	if !(pIdx != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19157, libc.VaList(bp, zIndexedBy, 0))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19204, libc.VaList(bp, zIndexedBy, 0))
 		(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 		return SQLITE_ERROR
 	}
@@ -89427,7 +89462,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 {
 	defer tls.Free(8)
 
 	if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 36 + 4))&0x4>>2)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19175, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19222, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
 		return 1
 	}
 	return 0
@@ -89556,7 +89591,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		*(*U32)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= U32(SF_CopyCte)
 
 		if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 36 + 4))&0x2>>1)) != 0 {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19198, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 60))))
+			Xsqlite3ErrorMsg(tls, pParse, ts+19245, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 60))))
 			return 2
 		}
 		libc.SetBitFieldPtr16Uint32(pFrom+36+4, uint32(1), 8, 0x100)
@@ -89579,7 +89614,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 					libc.SetBitFieldPtr16Uint32(pItem+36+4, uint32(1), 6, 0x40)
 					if (*Select)(unsafe.Pointer(pRecTerm)).FselFlags&U32(SF_Recursive) != 0 {
 						Xsqlite3ErrorMsg(tls, pParse,
-							ts+19218, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
+							ts+19265, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
 						return 2
 					}
 					*(*U32)(unsafe.Pointer(pRecTerm + 4)) |= U32(SF_Recursive)
@@ -89595,7 +89630,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 			pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior
 		}
 
-		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19261
+		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19308
 		pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith
 		(*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 48))
 		if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
@@ -89621,7 +89656,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		pEList = (*Select)(unsafe.Pointer(pLeft)).FpEList
 		if (*Cte)(unsafe.Pointer(pCte)).FpCols != 0 {
 			if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr != (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19284,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19331,
 					libc.VaList(bp+24, (*Cte)(unsafe.Pointer(pCte)).FzName, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr))
 				(*Parse)(unsafe.Pointer(pParse)).FpWith = pSavedWith
 				return 2
@@ -89632,9 +89667,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		Xsqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+34, pTab+4)
 		if bMayRecursive != 0 {
 			if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19322
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19369
 			} else {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19356
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19403
 			}
 			Xsqlite3WalkSelect(tls, pWalker, pSel)
 		}
@@ -89681,7 +89716,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	if (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 {
 		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3DbStrDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias)
 	} else {
-		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19394, libc.VaList(bp, pFrom))
+		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19441, libc.VaList(bp, pFrom))
 	}
 	for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 {
 		pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior
@@ -89793,7 +89828,7 @@ __1:
 				return WRC_Abort
 			}
 			if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19398,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19445,
 					libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 				(*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0)
 				return WRC_Abort
@@ -89812,7 +89847,7 @@ __1:
 				if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW {
 					if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) &&
 						(*Table)(unsafe.Pointer(pTab)).FpSchema != (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19437,
+						Xsqlite3ErrorMsg(tls, pParse, ts+19484,
 							libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName))
 					}
 					(*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, *(*uintptr)(unsafe.Pointer(pTab + 44)), 0)
@@ -89936,7 +89971,7 @@ __3:
 							if pNew != 0 {
 								var pX uintptr = pNew + 8 + uintptr((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1)*20
 
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19468, libc.VaList(bp+24, zUName))
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19515, libc.VaList(bp+24, zUName))
 								libc.SetBitFieldPtr16Uint32(pX+8+4, uint32(ENAME_TAB), 0, 0x3)
 								libc.SetBitFieldPtr16Uint32(pX+8+4, uint32(1), 7, 0x80)
 							}
@@ -90001,7 +90036,7 @@ __3:
 								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(pNestedFrom+8+uintptr(j)*20)).FzEName)
 
 							} else {
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19473,
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19520,
 									libc.VaList(bp+32, zSchemaName, zTabName, zName))
 
 							}
@@ -90032,9 +90067,9 @@ __3:
 				;
 				if !(tableSeen != 0) {
 					if zTName != 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19482, libc.VaList(bp+72, zTName))
+						Xsqlite3ErrorMsg(tls, pParse, ts+19529, libc.VaList(bp+72, zTName))
 					} else {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19500, 0)
+						Xsqlite3ErrorMsg(tls, pParse, ts+19547, 0)
 					}
 				}
 			}
@@ -90044,7 +90079,7 @@ __3:
 	}
 	if (*Select)(unsafe.Pointer(p)).FpEList != 0 {
 		if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 116 + 2*4)) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19520, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+19567, 0)
 			return WRC_Abort
 		}
 		if elistFlags&U32(EP_HasFunc|EP_Subquery) != U32(0) {
@@ -90182,7 +90217,7 @@ func optimizeAggregateUseOfIndexedExpr(tls *libc.TLS, pParse uintptr, pSelect ui
 	(*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn = (*AggInfo)(unsafe.Pointer(pAggInfo)).FnAccumulator
 	if int32((*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn) > 0 {
 		if (*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn == 0 {
-			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(0)
+			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpGroupBy)).FnExpr)
 		} else {
 			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(int32((*AggInfo_col)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaCol+uintptr((*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn-1)*16)).FiSorterColumn) + 1)
 		}
@@ -90266,13 +90301,13 @@ __1:
 
 			if *(*uintptr)(unsafe.Pointer(pE + 20)) == uintptr(0) || (*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 20)))).FnExpr != 1 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+19551, 0)
+					ts+19598, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1
 			} else {
 				var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 20)), 0, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral,
 					(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -8)
-				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19602, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
+				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19649, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
 			}
 		}
 
@@ -90461,11 +90496,11 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt
 
 	if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 {
 		var bCover int32 = libc.Bool32(pIdx != uintptr(0) && ((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0) || !(int32(*(*uint16)(unsafe.Pointer(pIdx + 56))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY)))
-		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19635,
+		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19682,
 			libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName,
 				func() uintptr {
 					if bCover != 0 {
-						return ts + 19647
+						return ts + 19694
 					}
 					return ts + 1547
 				}(),
@@ -90793,7 +90828,7 @@ __5:
 		goto __7
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+19670,
+		ts+19717,
 		libc.VaList(bp, func() uintptr {
 			if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 {
 				return (*SrcItem)(unsafe.Pointer(p0)).FzAlias
@@ -90854,7 +90889,7 @@ __14:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19724,
+	Xsqlite3ErrorMsg(tls, pParse, ts+19771,
 		libc.VaList(bp+8, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr))
 	goto select_end
 __15:
@@ -90996,7 +91031,7 @@ __33:
 
 	(*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop
 	Xsqlite3SelectDestInit(tls, bp+88, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19764, libc.VaList(bp+32, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19811, libc.VaList(bp+32, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+88)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	libc.SetBitFieldPtr16Uint32(pItem1+36+4, uint32(1), 5, 0x20)
@@ -91055,7 +91090,7 @@ __43:
 	;
 	Xsqlite3SelectDestInit(tls, bp+88, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19779, libc.VaList(bp+40, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19826, libc.VaList(bp+40, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+88)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	if !(onceAddr != 0) {
@@ -91526,9 +91561,9 @@ __101:
 	explainTempTable(tls, pParse,
 		func() uintptr {
 			if (*DistinctCtx)(unsafe.Pointer(bp+116)).FisTnct != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct) == U32(0) {
-				return ts + 19795
+				return ts + 19842
 			}
-			return ts + 19804
+			return ts + 19851
 		}())
 
 	groupBySort = 1
@@ -91879,7 +91914,7 @@ __65:
 	if !(int32((*DistinctCtx)(unsafe.Pointer(bp+116)).FeTnctType) == WHERE_DISTINCT_UNORDERED) {
 		goto __146
 	}
-	explainTempTable(tls, pParse, ts+19795)
+	explainTempTable(tls, pParse, ts+19842)
 __146:
 	;
 	if !((*SortCtx)(unsafe.Pointer(bp+48)).FpOrderBy != 0) {
@@ -91983,7 +92018,7 @@ __5:
 	}
 	Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg)
 	(*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+19813, 0)
+		ts+19860, 0)
 	(*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 	return 1
 __11:
@@ -92216,7 +92251,7 @@ func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2
 	if !((*Token)(unsafe.Pointer(pName2)).Fn > uint32(0)) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19878, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19925, 0)
 	goto trigger_cleanup
 __3:
 	;
@@ -92260,7 +92295,7 @@ __7:
 	goto trigger_cleanup
 __8:
 	;
-	Xsqlite3FixInit(tls, bp+36, pParse, iDb, ts+19924, *(*uintptr)(unsafe.Pointer(bp + 32)))
+	Xsqlite3FixInit(tls, bp+36, pParse, iDb, ts+19971, *(*uintptr)(unsafe.Pointer(bp + 32)))
 	if !(Xsqlite3FixSrcList(tls, bp+36, pTableName) != 0) {
 		goto __9
 	}
@@ -92278,7 +92313,7 @@ __10:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB) {
 		goto __11
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19932, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19979, 0)
 	goto trigger_orphan_error
 __11:
 	;
@@ -92290,7 +92325,7 @@ __11:
 	goto trigger_cleanup
 __12:
 	;
-	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19924, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
+	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19971, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
 		goto __13
 	}
 	goto trigger_cleanup
@@ -92305,11 +92340,12 @@ __13:
 	if !!(noErr != 0) {
 		goto __16
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19973, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20020, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
 	goto __17
 __16:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
+
 __17:
 	;
 	goto trigger_cleanup
@@ -92320,19 +92356,19 @@ __14:
 	if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+6374, 7) == 0) {
 		goto __18
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19999, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20046, 0)
 	goto trigger_cleanup
 __18:
 	;
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW && tr_tm != TK_INSTEAD) {
 		goto __19
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20037,
+	Xsqlite3ErrorMsg(tls, pParse, ts+20084,
 		libc.VaList(bp+8, func() uintptr {
 			if tr_tm == TK_BEFORE {
-				return ts + 20074
+				return ts + 20121
 			}
-			return ts + 20081
+			return ts + 20128
 		}(), pTableName+8))
 	goto trigger_orphan_error
 __19:
@@ -92341,7 +92377,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20087, libc.VaList(bp+24, pTableName+8))
+		ts+20134, libc.VaList(bp+24, pTableName+8))
 	goto trigger_orphan_error
 __20:
 	;
@@ -92490,7 +92526,7 @@ __2:
 __3:
 	;
 	Xsqlite3TokenInit(tls, bp+56, (*Trigger)(unsafe.Pointer(pTrig)).FzName)
-	Xsqlite3FixInit(tls, bp+64, pParse, iDb, ts+19924, bp+56)
+	Xsqlite3FixInit(tls, bp+64, pParse, iDb, ts+19971, bp+56)
 	if !(Xsqlite3FixTriggerStep(tls, bp+64, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 ||
 		Xsqlite3FixExpr(tls, bp+64, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0) {
 		goto __4
@@ -92523,7 +92559,7 @@ __9:
 		goto __12
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20133,
+		ts+20180,
 		libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrig)).FzName, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget))
 	goto triggerfinish_cleanup
 __12:
@@ -92548,13 +92584,13 @@ __13:
 	z = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pAll)).Fz, uint64((*Token)(unsafe.Pointer(pAll)).Fn))
 
 	Xsqlite3NestedParse(tls, pParse,
-		ts+20181,
+		ts+20228,
 		libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zName,
 			(*Trigger)(unsafe.Pointer(pTrig)).Ftable, z))
 	Xsqlite3DbFree(tls, db, z)
 	Xsqlite3ChangeCookie(tls, pParse, iDb)
 	Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb,
-		Xsqlite3MPrintf(tls, db, ts+20256, libc.VaList(bp+48, zName)), uint16(0))
+		Xsqlite3MPrintf(tls, db, ts+20303, libc.VaList(bp+48, zName)), uint16(0))
 __7:
 	;
 __6:
@@ -92810,7 +92846,7 @@ __5:
 	if !!(noErr != 0) {
 		goto __9
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20285, libc.VaList(bp, pName+8))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20332, libc.VaList(bp, pName+8))
 	goto __10
 __9:
 	Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb)
@@ -92863,7 +92899,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) {
 
 	if libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse)) != uintptr(0) {
 		Xsqlite3NestedParse(tls, pParse,
-			ts+20305,
+			ts+20352,
 			libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, (*Trigger)(unsafe.Pointer(pTrigger)).FzName))
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 		Xsqlite3VdbeAddOp4(tls, v, OP_DropTrigger, iDb, 0, 0, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, 0)
@@ -92977,12 +93013,12 @@ __9:
 		goto __15
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20367,
+		ts+20414,
 		libc.VaList(bp, func() uintptr {
 			if op == TK_DELETE {
-				return ts + 20415
+				return ts + 20462
 			}
-			return ts + 20422
+			return ts + 20469
 		}()))
 __15:
 	;
@@ -93096,7 +93132,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 {
 	if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK {
 		return 0
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20429, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20476, 0)
 	return 1
 }
 
@@ -93162,7 +93198,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab
 	}
 	Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(bp)).FpEList)
 	pNew = sqlite3ExpandReturning(tls, pParse, (*Returning)(unsafe.Pointer(pReturning)).FpReturnEL, pTab)
-	if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) {
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 {
 		libc.Xmemset(tls, bp+152, 0, uint32(unsafe.Sizeof(NameContext{})))
 		if (*Returning)(unsafe.Pointer(pReturning)).FnRetCol == 0 {
 			(*Returning)(unsafe.Pointer(pReturning)).FnRetCol = (*ExprList)(unsafe.Pointer(pNew)).FnExpr
@@ -93326,7 +93362,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt
 	if v != 0 {
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 {
 			Xsqlite3VdbeChangeP4(tls, v, -1,
-				Xsqlite3MPrintf(tls, db, ts+20471, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
+				Xsqlite3MPrintf(tls, db, ts+20518, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
 		}
 
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FpWhen != 0 {
@@ -93919,7 +93955,7 @@ __25:
 	}
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20485,
+		ts+20532,
 		libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*16)).FzCnName))
 	goto update_cleanup
 __27:
@@ -93951,7 +93987,7 @@ __21:
 	iRowidExpr = i
 	goto __30
 __29:
-	Xsqlite3ErrorMsg(tls, pParse, ts+20521, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*20)).FzEName))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20568, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*20)).FzEName))
 	(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 	goto update_cleanup
 __30:
@@ -94277,7 +94313,12 @@ __74:
 	goto __77
 __76:
 	flags = WHERE_ONEPASS_DESIRED
-	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) && !(pTrigger != 0) && !(hasFK != 0) && !(chngKey != 0) && !(*(*int32)(unsafe.Pointer(bp + 68)) != 0)) {
+	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) &&
+		!(pTrigger != 0) &&
+		!(hasFK != 0) &&
+		!(chngKey != 0) &&
+		!(*(*int32)(unsafe.Pointer(bp + 68)) != 0) &&
+		(*NameContext)(unsafe.Pointer(bp+28)).FncFlags&NC_Subquery == 0) {
 		goto __78
 	}
 	flags = flags | WHERE_ONEPASS_MULTIROW
@@ -94831,7 +94872,7 @@ __168:
 	if !(regRowCount != 0) {
 		goto __169
 	}
-	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20540)
+	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20587)
 __169:
 	;
 update_cleanup:
@@ -95137,10 +95178,10 @@ __1:
 			if nClause == 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) {
 				*(*int8)(unsafe.Pointer(bp + 152)) = int8(0)
 			} else {
-				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+152, ts+20553, libc.VaList(bp, nClause+1))
+				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+152, ts+20600, libc.VaList(bp, nClause+1))
 			}
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+20557, libc.VaList(bp+8, bp+152))
+				ts+20604, libc.VaList(bp+8, bp+152))
 			return SQLITE_ERROR
 		}
 
@@ -95263,7 +95304,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 {
 		var zSubSql uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
 
 		if zSubSql != 0 &&
-			(libc.Xstrncmp(tls, zSubSql, ts+20630, uint32(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20634, uint32(3)) == 0) {
+			(libc.Xstrncmp(tls, zSubSql, ts+20677, uint32(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20681, uint32(3)) == 0) {
 			rc = execSql(tls, db, pzErrMsg, zSubSql)
 			if rc != SQLITE_OK {
 				break
@@ -95411,14 +95452,14 @@ func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p
 	if !!(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) {
 		goto __1
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20638)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20685)
 	return SQLITE_ERROR
 __1:
 	;
 	if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) {
 		goto __2
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20678)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20725)
 	return SQLITE_ERROR
 __2:
 	;
@@ -95429,7 +95470,7 @@ __2:
 	if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) {
 		goto __5
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20721)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20768)
 	return SQLITE_ERROR
 __5:
 	;
@@ -95457,7 +95498,7 @@ __4:
 	isMemDb = Xsqlite3PagerIsMemdb(tls, Xsqlite3BtreePager(tls, pMain))
 
 	nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb
-	rc = execSqlF(tls, db, pzErrMsg, ts+20739, libc.VaList(bp, zOut))
+	rc = execSqlF(tls, db, pzErrMsg, ts+20786, libc.VaList(bp, zOut))
 	(*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags
 	if !(rc != SQLITE_OK) {
 		goto __6
@@ -95477,7 +95518,7 @@ __6:
 		goto __8
 	}
 	rc = SQLITE_ERROR
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20762)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20809)
 	goto end_of_vacuum
 __8:
 	;
@@ -95537,7 +95578,7 @@ __12:
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb)
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20789,
+		ts+20836,
 		libc.VaList(bp+8, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __13
@@ -95546,7 +95587,7 @@ __12:
 __13:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20897,
+		ts+20944,
 		libc.VaList(bp+16, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __14
@@ -95557,7 +95598,7 @@ __14:
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
 
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20951,
+		ts+20998,
 		libc.VaList(bp+24, zDbMain))
 
 	*(*U32)(unsafe.Pointer(db + 24)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))
@@ -95568,7 +95609,7 @@ __14:
 __15:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+21102,
+		ts+21149,
 		libc.VaList(bp+32, zDbMain))
 	if !(rc != 0) {
 		goto __16
@@ -95997,11 +96038,11 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		if pEnd != 0 {
 			(*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32((int32((*Token)(unsafe.Pointer(pEnd)).Fz)-int32((*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz))/1) + (*Token)(unsafe.Pointer(pEnd)).Fn
 		}
-		zStmt = Xsqlite3MPrintf(tls, db, ts+21232, libc.VaList(bp, pParse+196))
+		zStmt = Xsqlite3MPrintf(tls, db, ts+21279, libc.VaList(bp, pParse+196))
 
 		iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema)
 		Xsqlite3NestedParse(tls, pParse,
-			ts+21256,
+			ts+21303,
 			libc.VaList(bp+8, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
@@ -96011,7 +96052,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 
 		Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
-		zWhere = Xsqlite3MPrintf(tls, db, ts+21355, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
+		zWhere = Xsqlite3MPrintf(tls, db, ts+21402, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
 		Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0))
 		Xsqlite3DbFree(tls, db, zStmt)
 
@@ -96072,7 +96113,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	for pCtx = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx; pCtx != 0; pCtx = (*VtabCtx)(unsafe.Pointer(pCtx)).FpPrior {
 		if (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db,
-				ts+21374, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
+				ts+21421, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 			return SQLITE_LOCKED
 		}
 	}
@@ -96100,9 +96141,11 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FbDeclared = 0
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32
+	(*Table)(unsafe.Pointer(pTab)).FnTabRef++
 	rc = (*struct {
 		f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32
 	})(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+8, bp+48)
+	Xsqlite3DeleteTable(tls, db, pTab)
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior
 	if rc == SQLITE_NOMEM {
 		Xsqlite3OomFault(tls, db)
@@ -96110,7 +96153,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 
 	if SQLITE_OK != rc {
 		if *(*uintptr)(unsafe.Pointer(bp + 48)) == uintptr(0) {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21416, libc.VaList(bp+8, zModuleName))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21463, libc.VaList(bp+8, zModuleName))
 		} else {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+3656, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 48))))
 			Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 48)))
@@ -96122,7 +96165,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 		(*Module)(unsafe.Pointer(pMod)).FnRefModule++
 		(*VTable)(unsafe.Pointer(pVTable)).FnRef = 1
 		if (*VtabCtx)(unsafe.Pointer(bp+32)).FbDeclared == 0 {
-			var zFormat uintptr = ts + 21446
+			var zFormat uintptr = ts + 21493
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName))
 			Xsqlite3VtabUnlock(tls, pVTable)
 			rc = SQLITE_ERROR
@@ -96196,7 +96239,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32
 
 	if !(pMod != 0) {
 		var zModule uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pTab + 44 + 4))))
-		Xsqlite3ErrorMsg(tls, pParse, ts+21492, libc.VaList(bp, zModule))
+		Xsqlite3ErrorMsg(tls, pParse, ts+21539, libc.VaList(bp, zModule))
 		rc = SQLITE_ERROR
 	} else {
 		*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
@@ -96254,7 +96297,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr,
 	pMod = Xsqlite3HashFind(tls, db+396, zMod)
 
 	if pMod == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21492, libc.VaList(bp, zMod))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21539, libc.VaList(bp, zMod))
 		rc = SQLITE_ERROR
 	} else {
 		rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr)
@@ -96288,7 +96331,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3
 	if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
 		Xsqlite3Error(tls, db, SQLITE_MISUSE)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
-		return Xsqlite3MisuseError(tls, 151030)
+		return Xsqlite3MisuseError(tls, 151102)
 	}
 	pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab
 
@@ -96741,7 +96784,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	if !(p != 0) {
-		rc = Xsqlite3MisuseError(tls, 151521)
+		rc = Xsqlite3MisuseError(tls, 151593)
 	} else {
 		ap = va
 		switch op {
@@ -96768,7 +96811,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 			fallthrough
 		default:
 			{
-				rc = Xsqlite3MisuseError(tls, 151539)
+				rc = Xsqlite3MisuseError(tls, 151611)
 				break
 
 			}
@@ -96994,7 +97037,7 @@ type InLoop = struct {
 func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr {
 	i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2)))
 	if i == -2 {
-		return ts + 21511
+		return ts + 21558
 	}
 	if i == -1 {
 		return ts + 16260
@@ -97006,11 +97049,11 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	var i int32
 
 	if bAnd != 0 {
-		Xsqlite3_str_append(tls, pStr, ts+21518, 5)
+		Xsqlite3_str_append(tls, pStr, ts+21565, 5)
 	}
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21524, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21571, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97025,7 +97068,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	Xsqlite3_str_append(tls, pStr, zOp, 1)
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21524, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21571, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97051,27 +97094,27 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) {
 	if int32(nEq) == 0 && (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT|WHERE_TOP_LIMIT) == U32(0) {
 		return
 	}
-	Xsqlite3_str_append(tls, pStr, ts+21526, 2)
+	Xsqlite3_str_append(tls, pStr, ts+21573, 2)
 	for i = 0; i < int32(nEq); i++ {
 		var z uintptr = explainIndexColumnName(tls, pIndex, i)
 		if i != 0 {
-			Xsqlite3_str_append(tls, pStr, ts+21518, 5)
+			Xsqlite3_str_append(tls, pStr, ts+21565, 5)
 		}
 		Xsqlite3_str_appendf(tls, pStr, func() uintptr {
 			if i >= int32(nSkip) {
-				return ts + 21529
+				return ts + 21576
 			}
-			return ts + 21534
+			return ts + 21581
 		}(), libc.VaList(bp, z))
 	}
 
 	j = i
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21542)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21589)
 		i = 1
 	}
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_TOP_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21544)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21591)
 	}
 	Xsqlite3_str_append(tls, pStr, ts+4950, 1)
 }
@@ -97114,11 +97157,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 
 		Xsqlite3StrAccumInit(tls, bp+64, db, bp+88, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 		(*StrAccum)(unsafe.Pointer(bp + 64)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-		Xsqlite3_str_appendf(tls, bp+64, ts+21546, libc.VaList(bp, func() uintptr {
+		Xsqlite3_str_appendf(tls, bp+64, ts+21593, libc.VaList(bp, func() uintptr {
 			if isSearch != 0 {
-				return ts + 21552
+				return ts + 21599
 			}
-			return ts + 21559
+			return ts + 21606
 		}(), pItem))
 		if flags&U32(WHERE_IPK|WHERE_VIRTUALTABLE) == U32(0) {
 			var zFmt uintptr = uintptr(0)
@@ -97131,40 +97174,40 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 					zFmt = ts + 10969
 				}
 			} else if flags&U32(WHERE_PARTIALIDX) != 0 {
-				zFmt = ts + 21564
+				zFmt = ts + 21611
 			} else if flags&U32(WHERE_AUTO_INDEX) != 0 {
-				zFmt = ts + 21597
+				zFmt = ts + 21644
 			} else if flags&U32(WHERE_IDX_ONLY) != 0 {
-				zFmt = ts + 21622
+				zFmt = ts + 21669
 			} else {
-				zFmt = ts + 21640
+				zFmt = ts + 21687
 			}
 			if zFmt != 0 {
-				Xsqlite3_str_append(tls, bp+64, ts+21649, 7)
+				Xsqlite3_str_append(tls, bp+64, ts+21696, 7)
 				Xsqlite3_str_appendf(tls, bp+64, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName))
 				explainIndexRange(tls, bp+64, pLoop)
 			}
 		} else if flags&U32(WHERE_IPK) != U32(0) && flags&U32(WHERE_CONSTRAINT) != U32(0) {
 			var cRangeOp int8
 			var zRowid uintptr = ts + 16260
-			Xsqlite3_str_appendf(tls, bp+64, ts+21657, libc.VaList(bp+24, zRowid))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21704, libc.VaList(bp+24, zRowid))
 			if flags&U32(WHERE_COLUMN_EQ|WHERE_COLUMN_IN) != 0 {
 				cRangeOp = int8('=')
 			} else if flags&U32(WHERE_BOTH_LIMIT) == U32(WHERE_BOTH_LIMIT) {
-				Xsqlite3_str_appendf(tls, bp+64, ts+21688, libc.VaList(bp+32, zRowid))
+				Xsqlite3_str_appendf(tls, bp+64, ts+21735, libc.VaList(bp+32, zRowid))
 				cRangeOp = int8('<')
 			} else if flags&U32(WHERE_BTM_LIMIT) != 0 {
 				cRangeOp = int8('>')
 			} else {
 				cRangeOp = int8('<')
 			}
-			Xsqlite3_str_appendf(tls, bp+64, ts+21698, libc.VaList(bp+40, int32(cRangeOp)))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21745, libc.VaList(bp+40, int32(cRangeOp)))
 		} else if flags&U32(WHERE_VIRTUALTABLE) != U32(0) {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21703,
+			Xsqlite3_str_appendf(tls, bp+64, ts+21750,
 				libc.VaList(bp+48, *(*int32)(unsafe.Pointer(pLoop + 24)), *(*uintptr)(unsafe.Pointer(pLoop + 24 + 12))))
 		}
 		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&JT_LEFT != 0 {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21730, 0)
+			Xsqlite3_str_appendf(tls, bp+64, ts+21777, 0)
 		}
 		zMsg = Xsqlite3StrAccumFinish(tls, bp+64)
 
@@ -97196,22 +97239,22 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp
 
 	Xsqlite3StrAccumInit(tls, bp+24, db, bp+48, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 	(*StrAccum)(unsafe.Pointer(bp + 24)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-	Xsqlite3_str_appendf(tls, bp+24, ts+21741, libc.VaList(bp, pItem))
+	Xsqlite3_str_appendf(tls, bp+24, ts+21788, libc.VaList(bp, pItem))
 	pLoop = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_IPK) != 0 {
 		var pTab uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FpTab
 		if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21529, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*16)).FzCnName))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21576, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*16)).FzCnName))
 		} else {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21762, 0)
+			Xsqlite3_str_appendf(tls, bp+24, ts+21809, 0)
 		}
 	} else {
 		for i = int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip); i < int32(*(*U16)(unsafe.Pointer(pLoop + 24))); i++ {
 			var z uintptr = explainIndexColumnName(tls, *(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)), i)
 			if i > int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip) {
-				Xsqlite3_str_append(tls, bp+24, ts+21518, 5)
+				Xsqlite3_str_append(tls, bp+24, ts+21565, 5)
 			}
-			Xsqlite3_str_appendf(tls, bp+24, ts+21529, libc.VaList(bp+16, z))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21576, libc.VaList(bp+16, z))
 		}
 	}
 	Xsqlite3_str_append(tls, bp+24, ts+4950, 1)
@@ -98808,7 +98851,7 @@ __134:
 	;
 __126:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21770, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21817, 0)
 	ii = 0
 __135:
 	if !(ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm) {
@@ -98836,7 +98879,7 @@ __139:
 	pOrExpr = pAndExpr
 __140:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21785, libc.VaList(bp, ii+1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21832, libc.VaList(bp, ii+1))
 
 	pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0),
 		uint16(WHERE_OR_SUBCLAUSE), iCovCur)
@@ -99354,7 +99397,7 @@ func Xsqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
 	var mAll Bitmask = uint64(0)
 	var k int32
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21794, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21841, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
 
 	for k = 0; k < iLevel; k++ {
 		var iIdxCur int32
@@ -99715,7 +99758,7 @@ var aOp = [4]Op2{
 	{FzOp: ts + 16109, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)},
 	{FzOp: ts + 15440, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)},
 	{FzOp: ts + 14960, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)},
-	{FzOp: ts + 21808, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
+	{FzOp: ts + 21855, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
 }
 
 func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) {
@@ -100205,12 +100248,12 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			extraRight = x - uint64(1)
 
 			if prereqAll>>1 >= x {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21815, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21862, 0)
 				return
 			}
 		} else if prereqAll>>1 >= x {
 			if (*SrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*SrcItem)(unsafe.Pointer(pSrc+8)).Ffg.Fjointype)&JT_LTORJ != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21815, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21862, 0)
 				return
 			}
 			*(*U32)(unsafe.Pointer(pExpr + 4)) &= libc.Uint32FromInt32(libc.CplInt32(EP_InnerON))
@@ -100289,7 +100332,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_OuterON) != U32(0)) &&
 			0 == Xsqlite3ExprCanBeNull(tls, pLeft) {
 			(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
-			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6762
+			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 7692
 			*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0)
@@ -100383,7 +100426,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 		}
 		zCollSeqName = func() uintptr {
 			if *(*int32)(unsafe.Pointer(bp + 16)) != 0 {
-				return ts + 21856
+				return ts + 21903
 			}
 			return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))
 		}()
@@ -100759,7 +100802,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 			k++
 		}
 		if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21863,
+			Xsqlite3ErrorMsg(tls, pParse, ts+21910,
 				libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j))
 			return
 		}
@@ -100775,7 +100818,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 		pRhs = Xsqlite3PExpr(tls, pParse, TK_UPLUS,
 			Xsqlite3ExprDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*ExprList_item)(unsafe.Pointer(pArgs+8+uintptr(j)*20)).FpExpr, 0), uintptr(0))
 		pTerm = Xsqlite3PExpr(tls, pParse, TK_EQ, pColRef, pRhs)
-		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ) != 0 {
+		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ|JT_RIGHT) != 0 {
 			joinType = U32(EP_OuterON)
 		} else {
 			joinType = U32(EP_InnerON)
@@ -101492,7 +101535,7 @@ __4:
 		goto __6
 	}
 	Xsqlite3_log(tls, SQLITE_WARNING|int32(1)<<8,
-		ts+21899, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
+		ts+21946, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
 			(*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*16)).FzCnName))
 	sentWarning = U8(1)
 __6:
@@ -101563,7 +101606,7 @@ __13:
 __14:
 	;
 	*(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)) = pIdx
-	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21925
+	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21972
 	(*Index)(unsafe.Pointer(pIdx)).FpTable = pTable
 	n = 0
 	idxCols = uint64(0)
@@ -101737,6 +101780,10 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 	var pLoop uintptr = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	var iCur int32
+	var saved_pIdxEpr uintptr
+
+	saved_pIdxEpr = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = uintptr(0)
 
 	addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once)
 	for __ccgo := true; __ccgo; __ccgo = iLevel < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel) {
@@ -101780,9 +101827,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 			var r1 int32 = Xsqlite3GetTempRange(tls, pParse, n)
 			var jj int32
 			for jj = 0; jj < n; jj++ {
-				var iCol int32 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(jj)*2)))
-
-				Xsqlite3ExprCodeGetColumnOfTable(tls, v, (*Index)(unsafe.Pointer(pIdx)).FpTable, iCur, iCol, r1+jj)
+				Xsqlite3ExprCodeLoadIndexColumn(tls, pParse, pIdx, iCur, jj, r1+jj)
 			}
 			Xsqlite3VdbeAddOp4Int(tls, v, OP_FilterAdd, (*WhereLevel)(unsafe.Pointer(pLevel)).FregFilter, 0, r1, n)
 			Xsqlite3ReleaseTempRange(tls, pParse, r1, n)
@@ -101816,6 +101861,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 		}
 	}
 	Xsqlite3VdbeJumpHere(tls, v, addrOnce)
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = saved_pIdxEpr
 }
 
 func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr {
@@ -102074,11 +102120,16 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro
 
 	_ = pParse
 
+	if !((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) && int32(*(*uint16)(unsafe.Pointer(pIdx + 56))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol)
+	} else {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnColumn)
+	}
 	nField = func() int32 {
-		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < (*Index)(unsafe.Pointer(pIdx)).FnSample {
+		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < nField {
 			return int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField)
 		}
-		return (*Index)(unsafe.Pointer(pIdx)).FnSample
+		return nField
 	}()
 	iCol = 0
 	iSample = (*Index)(unsafe.Pointer(pIdx)).FnSample * nField
@@ -103658,7 +103709,7 @@ __4:
 				j >= (*WhereClause)(unsafe.Pointer(pWC)).FnTerm ||
 				*(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*4)) != uintptr(0) ||
 				int32((*sqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21936, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+				Xsqlite3ErrorMsg(tls, pParse, ts+21983, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 				return SQLITE_ERROR
 			}
@@ -103716,7 +103767,7 @@ __6:
 	(*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm = U16(mxTerm + 1)
 	for i = 0; i <= mxTerm; i++ {
 		if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*4)) == uintptr(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21936, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+			Xsqlite3ErrorMsg(tls, pParse, ts+21983, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 			return SQLITE_ERROR
 		}
@@ -104114,7 +104165,7 @@ __1:
 		mPrior = mPrior | (*WhereLoop)(unsafe.Pointer(pNew)).FmaskSelf
 		if rc != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 			if rc == SQLITE_DONE {
-				Xsqlite3_log(tls, SQLITE_WARNING, ts+21962, 0)
+				Xsqlite3_log(tls, SQLITE_WARNING, ts+22009, 0)
 				rc = SQLITE_OK
 			} else {
 				goto __3
@@ -104721,7 +104772,7 @@ __3:
 	}
 
 	if nFrom == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+21997, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+22044, 0)
 		Xsqlite3DbFreeNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pSpace)
 		return SQLITE_ERROR
 	}
@@ -104756,6 +104807,10 @@ __3:
 			if int32((*WherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*ExprList)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr {
 				(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_ORDERED)
 			}
+			if (*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 &&
+				int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr {
+				(*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = I8((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr)
+			}
 		} else {
 			(*WhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*WherePath)(unsafe.Pointer(pFrom)).FrevLoop
 			if int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 {
@@ -105050,6 +105105,9 @@ func whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur in
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCur = iIdxCur
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCol = i
 		(*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow = U8(bMaybeNullRow)
+		if Xsqlite3IndexAffinityStr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pIdx) != 0 {
+			(*IndexedExpr)(unsafe.Pointer(p)).Faff = U8(*(*int8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(i))))
+		}
 		(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = p
 		if (*IndexedExpr)(unsafe.Pointer(p)).FpIENext == uintptr(0) {
 			Xsqlite3ParserAddCleanup(tls, pParse, *(*uintptr)(unsafe.Pointer(&struct {
@@ -105202,7 +105260,7 @@ __1:
 	if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(uint32(unsafe.Sizeof(Bitmask(0)))*uint32(8))) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22015, libc.VaList(bp, int32(uint32(unsafe.Sizeof(Bitmask(0)))*uint32(8))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+22062, libc.VaList(bp, int32(uint32(unsafe.Sizeof(Bitmask(0)))*uint32(8))))
 	return uintptr(0)
 __2:
 	;
@@ -105266,7 +105324,7 @@ __6:
 	(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE)
 __7:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22043, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22090, 0)
 	goto __5
 __4:
 	ii = 0
@@ -106148,7 +106206,7 @@ __1:
 
 error_out:
 	Xsqlite3_result_error(tls,
-		pCtx, ts+22061, -1)
+		pCtx, ts+22108, -1)
 }
 
 func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
@@ -106281,7 +106339,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 			(*NtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 			if (*NtileCtx)(unsafe.Pointer(p)).FnParam <= int64(0) {
 				Xsqlite3_result_error(tls,
-					pCtx, ts+22117, -1)
+					pCtx, ts+22164, -1)
 			}
 		}
 		(*NtileCtx)(unsafe.Pointer(p)).FnTotal++
@@ -106370,17 +106428,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
 	}
 }
 
-var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22162))
-var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22173))
-var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22184))
-var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22189))
-var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22202))
-var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22212))
-var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22218))
-var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22229))
-var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22239))
-var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22251))
-var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22256))
+var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22209))
+var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22220))
+var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22231))
+var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22236))
+var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22249))
+var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22259))
+var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22265))
+var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22276))
+var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22286))
+var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22298))
+var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22303))
 
 func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) {
 	_ = p
@@ -106426,7 +106484,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin
 		}
 	}
 	if p == uintptr(0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22260, libc.VaList(bp, zName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+22307, libc.VaList(bp, zName))
 	}
 	return p
 }
@@ -106470,12 +106528,12 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin
 		((*Window)(unsafe.Pointer(pWin)).FpStart != 0 || (*Window)(unsafe.Pointer(pWin)).FpEnd != 0) &&
 		((*Window)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*ExprList)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != 1) {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+22279, 0)
+			ts+22326, 0)
 	} else if (*FuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
 		if (*Window)(unsafe.Pointer(pWin)).FpFilter != 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22350, 0)
+				ts+22397, 0)
 		} else {
 			*(*[8]WindowUpdate)(unsafe.Pointer(bp)) = [8]WindowUpdate{
 				{FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT},
@@ -106701,7 +106759,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr
 
 	if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) {
 		Xsqlite3ErrorMsg(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse,
-			ts+22413, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
+			ts+22460, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
 	}
 	return WRC_Continue
 }
@@ -106817,7 +106875,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 {
 
 		if *(*uintptr)(unsafe.Pointer(bp + 28)) == uintptr(0) {
 			*(*uintptr)(unsafe.Pointer(bp + 28)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0),
-				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7523))
+				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7512))
 		}
 
 		pSub = Xsqlite3SelectNew(tls,
@@ -106932,7 +106990,7 @@ __1:
 		eStart == TK_FOLLOWING && (eEnd == TK_PRECEDING || eEnd == TK_CURRENT)) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22439, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22486, 0)
 	goto windowAllocErr
 __2:
 	;
@@ -106997,15 +107055,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint
 			var zErr uintptr = uintptr(0)
 
 			if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 {
-				zErr = ts + 22471
+				zErr = ts + 22518
 			} else if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0 {
-				zErr = ts + 22488
+				zErr = ts + 22535
 			} else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 {
-				zErr = ts + 22504
+				zErr = ts + 22551
 			}
 			if zErr != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+22524, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
+					ts+22571, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
 			} else {
 				(*Window)(unsafe.Pointer(pWin)).FpPartition = Xsqlite3ExprListDup(tls, db, (*Window)(unsafe.Pointer(pExist)).FpPartition, 0)
 				if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 {
@@ -107026,7 +107084,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr
 		(*Window)(unsafe.Pointer(pWin)).FpOwner = p
 		if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Distinct) != 0 && int32((*Window)(unsafe.Pointer(pWin)).FeFrmType) != TK_FILTER {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22557, 0)
+				ts+22604, 0)
 		}
 	} else {
 		Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin)
@@ -107182,11 +107240,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) {
 }
 
 var azErr = [5]uintptr{
-	ts + 22604,
-	ts + 22657,
-	ts + 22061,
-	ts + 22708,
-	ts + 22760,
+	ts + 22651,
+	ts + 22704,
+	ts + 22108,
+	ts + 22755,
+	ts + 22807,
 }
 var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge}
 
@@ -108578,19 +108636,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) {
 			}
 			cnt++
 			if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*Select)(unsafe.Pointer(pLoop)).FpLimit != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+22810,
+				Xsqlite3ErrorMsg(tls, pParse, ts+22857,
 					libc.VaList(bp, func() uintptr {
 						if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) {
-							return ts + 22852
+							return ts + 22899
 						}
-						return ts + 22861
+						return ts + 22908
 					}(),
 						Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(pNext)).Fop))))
 				break
 			}
 		}
 		if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_MultiValue) == U32(0) && libc.AssignInt32(&mxSelect, *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 116 + 4*4))) > 0 && cnt > mxSelect {
-			Xsqlite3ErrorMsg(tls, pParse, ts+22867, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+22914, 0)
 		}
 	}
 
@@ -108661,7 +108719,7 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT
 	var p uintptr = Xsqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0))
 	if (hasCollate != 0 || sortOrder != -1) &&
 		int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22901,
+		Xsqlite3ErrorMsg(tls, pParse, ts+22948,
 			libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz))
 	}
 	Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1)
@@ -109756,7 +109814,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) {
 		yy_pop_parser_stack(tls, yypParser)
 	}
 
-	Xsqlite3ErrorMsg(tls, pParse, ts+22939, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22986, 0)
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
 }
@@ -110735,7 +110793,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4)) = U32(TF_WithoutRowid | TF_NoVisibleRowid)
 				} else {
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22961, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+4)).Fn, (*Token)(unsafe.Pointer(yymsp+4)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23008, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+4)).Fn, (*Token)(unsafe.Pointer(yymsp+4)).Fz))
 				}
 			}
 			break
@@ -110745,7 +110803,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(TF_Strict)
 				} else {
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22961, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+4)).Fn, (*Token)(unsafe.Pointer(yymsp+4)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23008, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+4)).Fn, (*Token)(unsafe.Pointer(yymsp+4)).Fz))
 				}
 			}
 			*(*U32)(unsafe.Pointer(yymsp + 4)) = *(*U32)(unsafe.Pointer(bp + 40))
@@ -111488,7 +111546,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 		case uint32(157):
 			{
 				Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4)), yymsp+libc.UintptrFromInt32(-4)*12+4)
-				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4)), ts+22988)
+				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4)), ts+23035)
 				if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4)) != 0 {
 					var pFromClause uintptr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4))
 					if (*SrcList)(unsafe.Pointer(pFromClause)).FnSrc > 1 {
@@ -111652,7 +111710,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*Token)(unsafe.Pointer(bp + 92)) = *(*Token)(unsafe.Pointer(yymsp + 4))
 
 					if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+22997, libc.VaList(bp+32, bp+92))
+						Xsqlite3ErrorMsg(tls, pParse, ts+23044, libc.VaList(bp+32, bp+92))
 						*(*uintptr)(unsafe.Pointer(yymsp + 4)) = uintptr(0)
 					} else {
 						*(*uintptr)(unsafe.Pointer(yymsp + 4)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0))
@@ -111869,9 +111927,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					Xsqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*12 + 4)))
 					*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*12 + 4)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_STRING, func() uintptr {
 						if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*12 + 4)) != 0 {
-							return ts + 6757
+							return ts + 7687
 						}
-						return ts + 6762
+						return ts + 7692
 					}())
 					if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*12 + 4)) != 0 {
 						Xsqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*12 + 4)))
@@ -112155,19 +112213,19 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 			{
 				*(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4)) = *(*Token)(unsafe.Pointer(yymsp + 4))
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23021, 0)
+					ts+23068, 0)
 			}
 			break
 		case uint32(271):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23116, 0)
+					ts+23163, 0)
 			}
 			break
 		case uint32(272):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23200, 0)
+					ts+23247, 0)
 			}
 			break
 		case uint32(273):
@@ -112546,9 +112604,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To
 
 	_ = yymajor
 	if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8)).Fz)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22997, libc.VaList(bp, bp+8))
+		Xsqlite3ErrorMsg(tls, pParse, ts+23044, libc.VaList(bp, bp+8))
 	} else {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23285, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+23332, 0)
 	}
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
@@ -113316,7 +113374,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 			} else {
 				(*Token)(unsafe.Pointer(bp + 1248)).Fz = zSql
 				(*Token)(unsafe.Pointer(bp + 1248)).Fn = uint32(n)
-				Xsqlite3ErrorMsg(tls, pParse, ts+23302, libc.VaList(bp, bp+1248))
+				Xsqlite3ErrorMsg(tls, pParse, ts+23349, libc.VaList(bp, bp+1248))
 				break
 			}
 		}
@@ -113339,7 +113397,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 		if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) {
 			(*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+3656, libc.VaList(bp+8, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc)))
 		}
-		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23327, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
+		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23374, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
 		nErr++
 	}
 	(*Parse)(unsafe.Pointer(pParse)).FzTail = zSql
@@ -113512,7 +113570,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'C':
 						{
-							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23338, 6) == 0 {
+							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23385, 6) == 0 {
 								token = U8(TkCREATE)
 							} else {
 								token = U8(TkOTHER)
@@ -113525,11 +113583,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'T':
 						{
-							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19924, 7) == 0 {
+							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19971, 7) == 0 {
 								token = U8(TkTRIGGER)
-							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23345, 4) == 0 {
+							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23392, 4) == 0 {
 								token = U8(TkTEMP)
-							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23350, 9) == 0 {
+							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23397, 9) == 0 {
 								token = U8(TkTEMP)
 							} else {
 								token = U8(TkOTHER)
@@ -113542,9 +113600,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'E':
 						{
-							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23360, 3) == 0 {
+							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23407, 3) == 0 {
 								token = U8(TkEND)
-							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23364, 7) == 0 {
+							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23411, 7) == 0 {
 								token = U8(TkEXPLAIN)
 							} else {
 								token = U8(TkOTHER)
@@ -113778,7 +113836,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 {
 	var rc int32 = SQLITE_OK
 
 	if Xsqlite3Config.FisInit != 0 {
-		return Xsqlite3MisuseError(tls, 174337)
+		return Xsqlite3MisuseError(tls, 174426)
 	}
 
 	ap = va
@@ -114353,7 +114411,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 		return SQLITE_OK
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 175111)
+		return Xsqlite3MisuseError(tls, 175200)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 {
@@ -114368,7 +114426,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 
 	if !(forceZombie != 0) && connectionIsBusy(tls, db) != 0 {
 		Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-			ts+23372, 0)
+			ts+23419, 0)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		return SQLITE_BUSY
 	}
@@ -114559,23 +114617,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) {
 // Return a static string that describes the kind of error specified in the
 // argument.
 func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
-	var zErr uintptr = ts + 23440
+	var zErr uintptr = ts + 23487
 	switch rc {
 	case SQLITE_ABORT | int32(2)<<8:
 		{
-			zErr = ts + 23454
+			zErr = ts + 23501
 			break
 
 		}
 	case SQLITE_ROW:
 		{
-			zErr = ts + 23476
+			zErr = ts + 23523
 			break
 
 		}
 	case SQLITE_DONE:
 		{
-			zErr = ts + 23498
+			zErr = ts + 23545
 			break
 
 		}
@@ -114593,35 +114651,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
 }
 
 var aMsg = [29]uintptr{
-	ts + 23521,
-	ts + 23534,
+	ts + 23568,
+	ts + 23581,
 	uintptr(0),
-	ts + 23550,
-	ts + 23575,
-	ts + 23589,
-	ts + 23608,
+	ts + 23597,
+	ts + 23622,
+	ts + 23636,
+	ts + 23655,
 	ts + 1483,
-	ts + 23633,
-	ts + 23670,
-	ts + 23682,
-	ts + 23697,
-	ts + 23730,
-	ts + 23748,
-	ts + 23773,
-	ts + 23802,
+	ts + 23680,
+	ts + 23717,
+	ts + 23729,
+	ts + 23744,
+	ts + 23777,
+	ts + 23795,
+	ts + 23820,
+	ts + 23849,
 	uintptr(0),
 	ts + 5831,
 	ts + 5327,
-	ts + 23819,
-	ts + 23837,
-	ts + 23855,
+	ts + 23866,
+	ts + 23884,
+	ts + 23902,
 	uintptr(0),
-	ts + 23889,
-	uintptr(0),
-	ts + 23910,
 	ts + 23936,
-	ts + 23959,
-	ts + 23980,
+	uintptr(0),
+	ts + 23957,
+	ts + 23983,
+	ts + 24006,
+	ts + 24027,
 }
 
 func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 {
@@ -114742,7 +114800,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 		libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) ||
 		(nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) ||
 		255 < Xsqlite3Strlen30(tls, zFunctionName) {
-		return Xsqlite3MisuseError(tls, 175758)
+		return Xsqlite3MisuseError(tls, 175847)
 	}
 
 	extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS)
@@ -114787,7 +114845,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 	if p != 0 && (*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK) == U32(enc) && int32((*FuncDef)(unsafe.Pointer(p)).FnArg) == nArg {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+23996, 0)
+				ts+24043, 0)
 
 			return SQLITE_BUSY
 		} else {
@@ -114904,7 +114962,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs
 	_ = NotUsed
 	_ = NotUsed2
 	zErr = Xsqlite3_mprintf(tls,
-		ts+24059, libc.VaList(bp, zName))
+		ts+24106, libc.VaList(bp, zName))
 	Xsqlite3_result_error(tls, context, zErr, -1)
 	Xsqlite3_free(tls, zErr)
 }
@@ -115140,7 +115198,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
 	}
 	if iDb < 0 {
 		rc = SQLITE_ERROR
-		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24110, libc.VaList(bp, zDb))
+		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24157, libc.VaList(bp, zDb))
 	} else {
 		(*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0
 		rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt)
@@ -115233,7 +115291,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr {
 		return Xsqlite3ErrStr(tls, SQLITE_NOMEM)
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176503))
+		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176592))
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -115303,7 +115361,7 @@ var misuse = [34]U16{
 // passed to this function, we assume a malloc() failed during sqlite3_open().
 func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176582)
+		return Xsqlite3MisuseError(tls, 176671)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -115313,7 +115371,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 
 func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176591)
+		return Xsqlite3MisuseError(tls, 176680)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -115345,14 +115403,14 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint
 		enc2 = SQLITE_UTF16LE
 	}
 	if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE {
-		return Xsqlite3MisuseError(tls, 176639)
+		return Xsqlite3MisuseError(tls, 176728)
 	}
 
 	pColl = Xsqlite3FindCollSeq(tls, db, U8(enc2), zName, 0)
 	if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24131, 0)
+				ts+24178, 0)
 			return SQLITE_BUSY
 		}
 		Xsqlite3ExpirePreparedStatements(tls, db, 0)
@@ -115482,7 +115540,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u
 
 	if !((flags&uint32(SQLITE_OPEN_URI) != 0 ||
 		Xsqlite3Config.FbOpenUri != 0) &&
-		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24199, uint32(5)) == 0) {
+		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24246, uint32(5)) == 0) {
 		goto __1
 	}
 	iOut = 0
@@ -115527,10 +115585,10 @@ __8:
 	goto __8
 __9:
 	;
-	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24205, zUri+7, uint32(9)) != 0)) {
+	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24252, zUri+7, uint32(9)) != 0)) {
 		goto __10
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24215,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24262,
 		libc.VaList(bp, iIn-7, zUri+7))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
@@ -115635,7 +115693,7 @@ __27:
 	zVal = zOpt + uintptr(nOpt+1)
 	nVal = Xsqlite3Strlen30(tls, zVal)
 
-	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24243, zOpt, uint32(3)) == 0) {
+	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24290, zOpt, uint32(3)) == 0) {
 		goto __29
 	}
 	zVfs = zVal
@@ -115646,17 +115704,17 @@ __29:
 	mask = 0
 	limit = 0
 
-	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24247, zOpt, uint32(5)) == 0) {
+	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24294, zOpt, uint32(5)) == 0) {
 		goto __31
 	}
 
 	mask = SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE
 	aMode = uintptr(unsafe.Pointer(&aCacheMode))
 	limit = mask
-	zModeType = ts + 24247
+	zModeType = ts + 24294
 __31:
 	;
-	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24253, zOpt, uint32(4)) == 0) {
+	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24300, zOpt, uint32(4)) == 0) {
 		goto __32
 	}
 
@@ -115694,7 +115752,7 @@ __36:
 	if !(mode == 0) {
 		goto __38
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24258, libc.VaList(bp+16, zModeType, zVal))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24305, libc.VaList(bp+16, zModeType, zVal))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
 __38:
@@ -115702,7 +115760,7 @@ __38:
 	if !(mode&libc.CplInt32(SQLITE_OPEN_MEMORY) > limit) {
 		goto __39
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24278,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24325,
 		libc.VaList(bp+32, zModeType, zVal))
 	rc = SQLITE_PERM
 	goto parse_uri_out
@@ -115742,7 +115800,7 @@ __2:
 	if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) {
 		goto __42
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24302, libc.VaList(bp+48, zVfs))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24349, libc.VaList(bp+48, zVfs))
 	rc = SQLITE_ERROR
 __42:
 	;
@@ -115765,14 +115823,14 @@ type OpenMode = struct {
 }
 
 var aCacheMode = [3]OpenMode{
-	{Fz: ts + 24318, Fmode: SQLITE_OPEN_SHAREDCACHE},
-	{Fz: ts + 24325, Fmode: SQLITE_OPEN_PRIVATECACHE},
+	{Fz: ts + 24365, Fmode: SQLITE_OPEN_SHAREDCACHE},
+	{Fz: ts + 24372, Fmode: SQLITE_OPEN_PRIVATECACHE},
 	{},
 }
 var aOpenMode = [5]OpenMode{
-	{Fz: ts + 24333, Fmode: SQLITE_OPEN_READONLY},
-	{Fz: ts + 24336, Fmode: SQLITE_OPEN_READWRITE},
-	{Fz: ts + 24339, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
+	{Fz: ts + 24380, Fmode: SQLITE_OPEN_READONLY},
+	{Fz: ts + 24383, Fmode: SQLITE_OPEN_READWRITE},
+	{Fz: ts + 24386, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
 	{Fz: ts + 17355, Fmode: SQLITE_OPEN_MEMORY},
 	{},
 }
@@ -115919,10 +115977,10 @@ __12:
 	createCollation(tls, db, uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{binCollFunc})), uintptr(0))
-	createCollation(tls, db, ts+21856, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+21903, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{nocaseCollatingFunc})), uintptr(0))
-	createCollation(tls, db, ts+24343, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+24390, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{rtrimCollFunc})), uintptr(0))
 	if !((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) {
@@ -115936,7 +115994,7 @@ __15:
 	if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) {
 		goto __16
 	}
-	rc = Xsqlite3MisuseError(tls, 177308)
+	rc = Xsqlite3MisuseError(tls, 177397)
 	goto __17
 __16:
 	rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+12, bp+16)
@@ -115989,7 +116047,7 @@ __22:
 
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 6434
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).Fsafety_level = U8(SQLITE_DEFAULT_SYNCHRONOUS + 1)
-	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*16)).FzDbSName = ts + 23345
+	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*16)).FzDbSName = ts + 23392
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*16)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF)
 
 	(*Sqlite3)(unsafe.Pointer(db)).FeOpenState = U8(SQLITE_STATE_OPEN)
@@ -116094,7 +116152,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 {
 		return rc
 	}
 	if zFilename == uintptr(0) {
-		zFilename = ts + 24349
+		zFilename = ts + 24396
 	}
 	pVal = Xsqlite3ValueNew(tls, uintptr(0))
 	Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0))
@@ -116197,21 +116255,21 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr)
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	Xsqlite3_log(tls, iErr, ts+24352,
+	Xsqlite3_log(tls, iErr, ts+24399,
 		libc.VaList(bp, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls)))
 	return iErr
 }
 
 func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24377)
+	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24424)
 }
 
 func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24397)
+	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24444)
 }
 
 func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24404)
+	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24451)
 }
 
 // This is a convenience routine that makes sure that all thread-specific
@@ -116369,7 +116427,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24)))
-	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24421, libc.VaList(bp, zTableName,
+	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24468, libc.VaList(bp, zTableName,
 		zColumnName))
 	rc = SQLITE_ERROR
 __20:
@@ -117025,7 +117083,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 {
 
 	azCompileOpt = Xsqlite3CompileOptions(tls, bp)
 
-	if Xsqlite3_strnicmp(tls, zOptName, ts+24449, 7) == 0 {
+	if Xsqlite3_strnicmp(tls, zOptName, ts+24496, 7) == 0 {
 		zOptName += uintptr(7)
 	}
 	n = Xsqlite3Strlen30(tls, zOptName)
@@ -117143,7 +117201,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin
 
 	Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr {
 		if rc != 0 {
-			return ts + 24457
+			return ts + 24504
 		}
 		return uintptr(0)
 	}(), 0)
@@ -117320,7 +117378,7 @@ type JsonParse1 = struct {
 type JsonParse = JsonParse1
 
 var jsonType = [8]uintptr{
-	ts + 6174, ts + 6757, ts + 6762, ts + 6184, ts + 6179, ts + 7998, ts + 24480, ts + 24486,
+	ts + 6174, ts + 7687, ts + 7692, ts + 6184, ts + 6179, ts + 7998, ts + 24527, ts + 24533,
 }
 
 func jsonZero(tls *libc.TLS, p uintptr) {
@@ -117473,7 +117531,7 @@ __10:
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0' + int32(c)>>4)
-	c = uint8(*(*int8)(unsafe.Pointer(ts + 24493 + uintptr(int32(c)&0xf))))
+	c = uint8(*(*int8)(unsafe.Pointer(ts + 24540 + uintptr(int32(c)&0xf))))
 __8:
 	;
 __6:
@@ -117528,7 +117586,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) {
 	default:
 		{
 			if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 {
-				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24510, -1)
+				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24557, -1)
 				(*JsonString)(unsafe.Pointer(p)).FbErr = U8(2)
 				jsonReset(tls, p)
 			}
@@ -117592,13 +117650,13 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr
 		}
 	case JSON_TRUE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6757, uint32(4))
+			jsonAppendRaw(tls, pOut, ts+7687, uint32(4))
 			break
 
 		}
 	case JSON_FALSE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6762, uint32(5))
+			jsonAppendRaw(tls, pOut, ts+7692, uint32(5))
 			break
 
 		}
@@ -118148,12 +118206,12 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 't' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6757, uint32(4)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7687, uint32(4)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(4)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_TRUE), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 'f' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6762, uint32(5)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7692, uint32(5)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(5)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_FALSE), uint32(0), uintptr(0))
 		return int32(i + U32(5))
@@ -118254,7 +118312,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32
 			if (*JsonParse)(unsafe.Pointer(pParse)).Foom != 0 {
 				Xsqlite3_result_error_nomem(tls, pCtx)
 			} else {
-				Xsqlite3_result_error(tls, pCtx, ts+24539, -1)
+				Xsqlite3_result_error(tls, pCtx, ts+24586, -1)
 			}
 		}
 		jsonParseReset(tls, pParse)
@@ -118560,7 +118618,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt
 	}
 	if int32(*(*int8)(unsafe.Pointer(zPath))) == '.' {
 		jsonParseAddNode(tls, pParse, uint32(JSON_OBJECT), uint32(0), uintptr(0))
-	} else if libc.Xstrncmp(tls, zPath, ts+24554, uint32(3)) == 0 {
+	} else if libc.Xstrncmp(tls, zPath, ts+24601, uint32(3)) == 0 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0))
 	} else {
 		return uintptr(0)
@@ -118575,7 +118633,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	return Xsqlite3_mprintf(tls, ts+24558, libc.VaList(bp, zErr))
+	return Xsqlite3_mprintf(tls, ts+24605, libc.VaList(bp, zErr))
 }
 
 func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr {
@@ -118629,7 +118687,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24584,
+	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24631,
 		libc.VaList(bp, zFuncName))
 	Xsqlite3_result_error(tls, pCtx, zMsg, -1)
 	Xsqlite3_free(tls, zMsg)
@@ -118734,11 +118792,11 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 			if int32(*(*int8)(unsafe.Pointer(zPath))) != '$' {
 				jsonInit(tls, bp, ctx)
 				if int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zPath)))])&0x04 != 0 {
-					jsonAppendRaw(tls, bp, ts+24627, uint32(2))
+					jsonAppendRaw(tls, bp, ts+24674, uint32(2))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendRaw(tls, bp, ts+4991, uint32(2))
 				} else {
-					jsonAppendRaw(tls, bp, ts+24630, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
+					jsonAppendRaw(tls, bp, ts+24677, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendChar(tls, bp, int8(0))
 				}
@@ -118895,14 +118953,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 
 	if argc&1 != 0 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+24633, -1)
+			ts+24680, -1)
 		return
 	}
 	jsonInit(tls, bp, ctx)
 	jsonAppendChar(tls, bp, int8('{'))
 	for i = 0; i < argc; i = i + 2 {
 		if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) != SQLITE_TEXT {
-			Xsqlite3_result_error(tls, ctx, ts+24684, -1)
+			Xsqlite3_result_error(tls, ctx, ts+24731, -1)
 			jsonReset(tls, bp)
 			return
 		}
@@ -119072,9 +119130,9 @@ __1:
 	}
 	jsonWrongNumArgs(tls, ctx, func() uintptr {
 		if bIsSet != 0 {
-			return ts + 24718
+			return ts + 24765
 		}
-		return ts + 24722
+		return ts + 24769
 	}())
 	return
 __2:
@@ -119207,7 +119265,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24729, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24776, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -119304,7 +119362,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24732, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24779, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -119348,7 +119406,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u
 	_ = argc
 	_ = pAux
 	rc = Xsqlite3_declare_vtab(tls, db,
-		ts+24735)
+		ts+24782)
 	if rc == SQLITE_OK {
 		pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{}))))
 		if pNew == uintptr(0) {
@@ -119479,7 +119537,7 @@ func jsonAppendObjectPathElement(tls *libc.TLS, pStr uintptr, pNode uintptr) {
 			nn = nn - 2
 		}
 	}
-	jsonPrintf(tls, nn+2, pStr, ts+24818, libc.VaList(bp, nn, z))
+	jsonPrintf(tls, nn+2, pStr, ts+24865, libc.VaList(bp, nn, z))
 }
 
 func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
@@ -119498,7 +119556,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
 	pNode = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(i)*12
 	pUp = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(iUp)*12
 	if int32((*JsonNode)(unsafe.Pointer(pUp)).FeType) == JSON_ARRAY {
-		jsonPrintf(tls, 30, pStr, ts+24824, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
+		jsonPrintf(tls, 30, pStr, ts+24871, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
 	} else {
 		if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_LABEL == 0 {
 			pNode -= 12
@@ -119594,7 +119652,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 					jsonAppendChar(tls, bp+8, int8('$'))
 				}
 				if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY {
-					jsonPrintf(tls, 30, bp+8, ts+24824, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
+					jsonPrintf(tls, 30, bp+8, ts+24871, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
 				} else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT {
 					jsonAppendObjectPathElement(tls, bp+8, pThis)
 				}
@@ -119618,7 +119676,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 		{
 			var zRoot uintptr = (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot
 			if zRoot == uintptr(0) {
-				zRoot = ts + 24829
+				zRoot = ts + 24876
 			}
 			Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0))
 			break
@@ -119740,7 +119798,7 @@ func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, ar
 		var rc int32 = SQLITE_NOMEM
 		if int32((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.Foom) == 0 {
 			Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg)
-			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24539, 0)
+			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24586, 0)
 			if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 {
 				rc = SQLITE_ERROR
 			}
@@ -119835,25 +119893,25 @@ func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) {
 }
 
 var aJsonFunc = [19]FuncDef{
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24831},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24836},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24847},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24847},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24865},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_JSON), FxSFunc: 0, FzName: ts + 24878},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_SQL), FxSFunc: 0, FzName: ts + 24881},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24885},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24897},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24909},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24920},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24931},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24943},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_ISSET), FxSFunc: 0, FzName: ts + 24956},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24965},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24965},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24975},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24986},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25003}}
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24878},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24883},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24894},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24894},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24912},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_JSON), FxSFunc: 0, FzName: ts + 24925},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_SQL), FxSFunc: 0, FzName: ts + 24928},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24932},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24944},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24956},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24967},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24978},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24990},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_ISSET), FxSFunc: 0, FzName: ts + 25003},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25012},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25012},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25022},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25033},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25050}}
 
 // Register the JSON table-valued functions
 func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 {
@@ -119872,8 +119930,8 @@ var aMod = [2]struct {
 	FzName   uintptr
 	FpModule uintptr
 }{
-	{FzName: ts + 25021, FpModule: 0},
-	{FzName: ts + 25031, FpModule: 0},
+	{FzName: ts + 25068, FpModule: 0},
+	{FzName: ts + 25078, FpModule: 0},
 }
 
 type Rtree1 = struct {
@@ -120126,11 +120184,11 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo
 		}
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) {
-		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25041, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25088, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		if zTab == uintptr(0) {
 			return SQLITE_NOMEM
 		}
-		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25049, iNode, 0,
+		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25096, iNode, 0,
 			pRtree+72)
 		Xsqlite3_free(tls, zTab)
 	}
@@ -120341,7 +120399,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32
 	var zCreate uintptr = Xsqlite3_mprintf(tls,
-		ts+25054,
+		ts+25101,
 		libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
@@ -121044,7 +121102,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 {
 	var pSrc uintptr
 	var pInfo uintptr
 
-	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25136)
+	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25183)
 	if pSrc == uintptr(0) {
 		return SQLITE_ERROR
 	}
@@ -122385,7 +122443,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+25150, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+	zSql = Xsqlite3_mprintf(tls, ts+25197, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 	if zSql != 0 {
 		rc = Xsqlite3_prepare_v2(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -1, bp+56, uintptr(0))
 	} else {
@@ -122397,12 +122455,12 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 		if iCol == 0 {
 			var zCol uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 0)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25170, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
+				ts+25217, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
 		} else {
 			var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol)
 			var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol+1)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25202, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
+				ts+25249, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
 		}
 	}
 
@@ -122628,7 +122686,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32 = SQLITE_NOMEM
 	var zSql uintptr = Xsqlite3_mprintf(tls,
-		ts+25239, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
+		ts+25286, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
 	if zSql != 0 {
 		nodeBlobReset(tls, pRtree)
 		rc = Xsqlite3_exec(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0))
@@ -122651,7 +122709,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 {
 	bp := tls.Alloc(20)
 	defer tls.Free(20)
 
-	var zFmt uintptr = ts + 25384
+	var zFmt uintptr = ts + 25431
 	var zSql uintptr
 
 	var rc int32
@@ -122699,7 +122757,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName1 = [3]uintptr{
-	ts + 25440, ts + 5053, ts + 16260,
+	ts + 25487, ts + 5053, ts + 16260,
 }
 
 var rtreeModule = Sqlite3_module{
@@ -122742,19 +122800,19 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		var p uintptr = Xsqlite3_str_new(tls, db)
 		var ii int32
 		Xsqlite3_str_appendf(tls, p,
-			ts+25445,
+			ts+25492,
 			libc.VaList(bp, zDb, zPrefix))
 		for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
-			Xsqlite3_str_appendf(tls, p, ts+25507, libc.VaList(bp+16, ii))
+			Xsqlite3_str_appendf(tls, p, ts+25554, libc.VaList(bp+16, ii))
 		}
 		Xsqlite3_str_appendf(tls, p,
-			ts+25512,
+			ts+25559,
 			libc.VaList(bp+24, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25576,
+			ts+25623,
 			libc.VaList(bp+40, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25646,
+			ts+25693,
 			libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))
 		zCreate = Xsqlite3_str_finish(tls, p)
 		if !(zCreate != 0) {
@@ -122783,7 +122841,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		if i != 3 || int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) == 0 {
 			zFormat = azSql[i]
 		} else {
-			zFormat = ts + 25695
+			zFormat = ts + 25742
 		}
 		zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix))
 		if zSql != 0 {
@@ -122795,7 +122853,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FnAux != 0 {
 		(*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls,
-			ts+25803,
+			ts+25850,
 			libc.VaList(bp+96, zDb, zPrefix))
 		if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -122803,18 +122861,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 			var p uintptr = Xsqlite3_str_new(tls, db)
 			var ii int32
 			var zSql uintptr
-			Xsqlite3_str_appendf(tls, p, ts+25848, libc.VaList(bp+112, zDb, zPrefix))
+			Xsqlite3_str_appendf(tls, p, ts+25895, libc.VaList(bp+112, zDb, zPrefix))
 			for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
 				if ii != 0 {
 					Xsqlite3_str_append(tls, p, ts+12760, 1)
 				}
 				if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) {
-					Xsqlite3_str_appendf(tls, p, ts+25875, libc.VaList(bp+128, ii, ii+2, ii))
+					Xsqlite3_str_appendf(tls, p, ts+25922, libc.VaList(bp+128, ii, ii+2, ii))
 				} else {
-					Xsqlite3_str_appendf(tls, p, ts+25897, libc.VaList(bp+152, ii, ii+2))
+					Xsqlite3_str_appendf(tls, p, ts+25944, libc.VaList(bp+152, ii, ii+2))
 				}
 			}
-			Xsqlite3_str_appendf(tls, p, ts+25905, 0)
+			Xsqlite3_str_appendf(tls, p, ts+25952, 0)
 			zSql = Xsqlite3_str_finish(tls, p)
 			if zSql == uintptr(0) {
 				rc = SQLITE_NOMEM
@@ -122829,14 +122887,14 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 }
 
 var azSql = [8]uintptr{
-	ts + 25921,
-	ts + 25974,
-	ts + 26019,
-	ts + 26071,
-	ts + 26125,
-	ts + 26170,
-	ts + 26228,
-	ts + 26283,
+	ts + 25968,
+	ts + 26021,
+	ts + 26066,
+	ts + 26118,
+	ts + 26172,
+	ts + 26217,
+	ts + 26275,
+	ts + 26330,
 }
 
 func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 {
@@ -122865,7 +122923,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 	var zSql uintptr
 	if isCreate != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = 0
-		zSql = Xsqlite3_mprintf(tls, ts+26330, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
+		zSql = Xsqlite3_mprintf(tls, ts+26377, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
 		rc = getIntFromStmt(tls, db, zSql, bp+48)
 		if rc == SQLITE_OK {
 			(*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp + 48)) - 64
@@ -122877,7 +122935,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		}
 	} else {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+26350,
+			ts+26397,
 			libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		rc = getIntFromStmt(tls, db, zSql, pRtree+16)
 		if rc != SQLITE_OK {
@@ -122885,7 +122943,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		} else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < 512-64 {
 			rc = SQLITE_CORRUPT | int32(1)<<8
 
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26407,
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26454,
 				libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		}
 	}
@@ -122927,10 +122985,10 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr
 	ii = 4
 	*(*[5]uintptr)(unsafe.Pointer(bp + 96)) = [5]uintptr{
 		uintptr(0),
-		ts + 26442,
-		ts + 26485,
-		ts + 26520,
-		ts + 26556,
+		ts + 26489,
+		ts + 26532,
+		ts + 26567,
+		ts + 26603,
 	}
 
 	if !(argc < 6 || argc > RTREE_MAX_AUX_COLUMN+3) {
@@ -122961,7 +123019,7 @@ __2:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*4)), uint32(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+26593,
+	Xsqlite3_str_appendf(tls, pSql, ts+26640,
 		libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4))), *(*uintptr)(unsafe.Pointer(argv + 3*4))))
 	ii = 4
 __3:
@@ -122973,7 +123031,7 @@ __3:
 		goto __6
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+26617, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
+	Xsqlite3_str_appendf(tls, pSql, ts+26664, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
 	goto __7
 __6:
 	if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) {
@@ -122996,7 +123054,7 @@ __4:
 	goto __5
 __5:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26623, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26670, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __10
@@ -123092,7 +123150,7 @@ __25:
 	return rc
 }
 
-var azFormat = [2]uintptr{ts + 26626, ts + 26637}
+var azFormat = [2]uintptr{ts + 26673, ts + 26684}
 
 func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	bp := tls.Alloc(592)
@@ -123132,11 +123190,11 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 		if ii > 0 {
 			Xsqlite3_str_append(tls, pOut, ts+10913, 1)
 		}
-		Xsqlite3_str_appendf(tls, pOut, ts+26647, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+544)).FiRowid))
+		Xsqlite3_str_appendf(tls, pOut, ts+26694, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+544)).FiRowid))
 		for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+44)).FnDim2); jj++ {
-			Xsqlite3_str_appendf(tls, pOut, ts+26653, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 544 + 8 + uintptr(jj)*4)))))
+			Xsqlite3_str_appendf(tls, pOut, ts+26700, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 544 + 8 + uintptr(jj)*4)))))
 		}
-		Xsqlite3_str_append(tls, pOut, ts+26657, 1)
+		Xsqlite3_str_append(tls, pOut, ts+26704, 1)
 	}
 	errCode = Xsqlite3_str_errcode(tls, pOut)
 	Xsqlite3_result_text(tls, ctx, Xsqlite3_str_finish(tls, pOut), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
@@ -123147,7 +123205,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	_ = nArg
 	if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB ||
 		Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 {
-		Xsqlite3_result_error(tls, ctx, ts+26659, -1)
+		Xsqlite3_result_error(tls, ctx, ts+26706, -1)
 	} else {
 		var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 		if zBlob != 0 {
@@ -123223,7 +123281,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr
 		if z == uintptr(0) {
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM
 		} else {
-			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26692,
+			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26739,
 				libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr {
 					if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 {
 						return ts + 4055
@@ -123247,7 +123305,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) {
 		(*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = rtreeCheckPrepare(tls, pCheck,
-			ts+26699,
+			ts+26746,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab))
 	}
 
@@ -123266,7 +123324,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 		}
 		rtreeCheckReset(tls, pCheck, (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode)
 		if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) {
-			rtreeCheckAppendMsg(tls, pCheck, ts+26744, libc.VaList(bp+16, iNode))
+			rtreeCheckAppendMsg(tls, pCheck, ts+26791, libc.VaList(bp+16, iNode))
 		}
 	}
 
@@ -123280,8 +123338,8 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	var rc int32
 	var pStmt uintptr
 	*(*[2]uintptr)(unsafe.Pointer(bp + 80)) = [2]uintptr{
-		ts + 26776,
-		ts + 26830,
+		ts + 26823,
+		ts + 26877,
 	}
 
 	if *(*uintptr)(unsafe.Pointer(pCheck + 24 + uintptr(bLeaf)*4)) == uintptr(0) {
@@ -123296,23 +123354,23 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	Xsqlite3_bind_int64(tls, pStmt, 1, iKey)
 	rc = Xsqlite3_step(tls, pStmt)
 	if rc == SQLITE_DONE {
-		rtreeCheckAppendMsg(tls, pCheck, ts+26878,
+		rtreeCheckAppendMsg(tls, pCheck, ts+26925,
 			libc.VaList(bp+16, iKey, iVal, func() uintptr {
 				if bLeaf != 0 {
-					return ts + 26923
+					return ts + 26970
 				}
-				return ts + 26931
+				return ts + 26978
 			}()))
 	} else if rc == SQLITE_ROW {
 		var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0)
 		if ii != iVal {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+26940,
+				ts+26987,
 				libc.VaList(bp+40, iKey, ii, func() uintptr {
 					if bLeaf != 0 {
-						return ts + 26923
+						return ts + 26970
 					}
-					return ts + 26931
+					return ts + 26978
 				}(), iKey, iVal))
 		}
 	}
@@ -123336,7 +123394,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 			return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48)) > *(*RtreeValue)(unsafe.Pointer(bp + 52)))
 		}() != 0 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+26998, libc.VaList(bp, i, iCell, iNode))
+				ts+27045, libc.VaList(bp, i, iCell, iNode))
 		}
 
 		if pParent != 0 {
@@ -123356,7 +123414,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 					return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52)) > *(*RtreeValue)(unsafe.Pointer(bp + 60)))
 				}() != 0 {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27046, libc.VaList(bp+24, i, iCell, iNode))
+					ts+27093, libc.VaList(bp+24, i, iCell, iNode))
 			}
 		}
 	}
@@ -123373,14 +123431,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 	if aNode != 0 {
 		if *(*int32)(unsafe.Pointer(bp + 48)) < 4 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27113, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
+				ts+27160, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
 		} else {
 			var nCell int32
 			var i int32
 			if aParent == uintptr(0) {
 				iDepth = readInt16(tls, aNode)
 				if iDepth > RTREE_MAX_DEPTH {
-					rtreeCheckAppendMsg(tls, pCheck, ts+27147, libc.VaList(bp+16, iDepth))
+					rtreeCheckAppendMsg(tls, pCheck, ts+27194, libc.VaList(bp+16, iDepth))
 					Xsqlite3_free(tls, aNode)
 					return
 				}
@@ -123388,7 +123446,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 			nCell = readInt16(tls, aNode+2)
 			if 4+nCell*(8+(*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim*2*4) > *(*int32)(unsafe.Pointer(bp + 48)) {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27177,
+					ts+27224,
 					libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48))))
 			} else {
 				for i = 0; i < nCell; i++ {
@@ -123417,14 +123475,14 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) {
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK {
 		var pCount uintptr
-		pCount = rtreeCheckPrepare(tls, pCheck, ts+27232,
+		pCount = rtreeCheckPrepare(tls, pCheck, ts+27279,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl))
 		if pCount != 0 {
 			if Xsqlite3_step(tls, pCount) == SQLITE_ROW {
 				var nActual I64 = Xsqlite3_column_int64(tls, pCount, 0)
 				if nActual != nExpect {
 					rtreeCheckAppendMsg(tls, pCheck,
-						ts+27263, libc.VaList(bp+24, zTbl, nExpect, nActual))
+						ts+27310, libc.VaList(bp+24, zTbl, nExpect, nActual))
 				}
 			}
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount)
@@ -123451,7 +123509,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	}
 
 	if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
-		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27330, libc.VaList(bp, zDb, zTab))
+		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27377, libc.VaList(bp, zDb, zTab))
 		if pStmt != 0 {
 			nAux = Xsqlite3_column_count(tls, pStmt) - 2
 			Xsqlite3_finalize(tls, pStmt)
@@ -123460,12 +123518,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		}
 	}
 
-	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25150, libc.VaList(bp+16, zDb, zTab))
+	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25197, libc.VaList(bp+16, zDb, zTab))
 	if pStmt != 0 {
 		var rc int32
 		(*RtreeCheck)(unsafe.Pointer(bp + 32)).FnDim = (Xsqlite3_column_count(tls, pStmt) - 1 - nAux) / 2
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).FnDim < 1 {
-			rtreeCheckAppendMsg(tls, bp+32, ts+27358, 0)
+			rtreeCheckAppendMsg(tls, bp+32, ts+27405, 0)
 		} else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).FbInt = libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)
 		}
@@ -123479,8 +123537,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			rtreeCheckNode(tls, bp+32, 0, uintptr(0), int64(1))
 		}
-		rtreeCheckCount(tls, bp+32, ts+27389, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
-		rtreeCheckCount(tls, bp+32, ts+27396, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27436, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27443, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
 	}
 
 	Xsqlite3_finalize(tls, (*RtreeCheck)(unsafe.Pointer(bp+32)).FpGetNode)
@@ -123488,7 +123546,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 + 24 + 1*4)))
 
 	if bEnd != 0 {
-		var rc int32 = Xsqlite3_exec(tls, db, ts+27404, uintptr(0), uintptr(0), uintptr(0))
+		var rc int32 = Xsqlite3_exec(tls, db, ts+27451, uintptr(0), uintptr(0), uintptr(0))
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).Frc = rc
 		}
@@ -123503,7 +123561,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 
 	if nArg != 1 && nArg != 2 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+27408, -1)
+			ts+27455, -1)
 	} else {
 		var rc int32
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
@@ -123521,7 +123579,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 				if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
 					return *(*uintptr)(unsafe.Pointer(bp))
 				}
-				return ts + 18005
+				return ts + 18052
 			}(), -1, libc.UintptrFromInt32(-1))
 		} else {
 			Xsqlite3_result_error_code(tls, ctx, rc)
@@ -123891,11 +123949,11 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var db uintptr = Xsqlite3_context_db_handle(tls, context)
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
-		Xsqlite3_str_append(tls, x, ts+27459, 1)
+		Xsqlite3_str_append(tls, x, ts+27506, 1)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27461, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27508, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27472, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27519, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -123915,19 +123973,19 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
 		var cSep int8 = int8('\'')
-		Xsqlite3_str_appendf(tls, x, ts+27483, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27530, 0)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27501, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27548, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 			cSep = int8(' ')
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27509, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27556, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		for i = 1; i < argc; i++ {
 			var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))
 			if z != 0 && *(*int8)(unsafe.Pointer(z)) != 0 {
-				Xsqlite3_str_appendf(tls, x, ts+27517, libc.VaList(bp+40, z))
+				Xsqlite3_str_appendf(tls, x, ts+27564, libc.VaList(bp+40, z))
 			}
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27521, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27568, 0)
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -124845,7 +124903,7 @@ __1:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*4)), uint32(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+27534, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+27581, 0)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1)
 	ii = 3
@@ -124854,7 +124912,7 @@ __2:
 		goto __4
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+27556, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4))))
+	Xsqlite3_str_appendf(tls, pSql, ts+27603, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4))))
 	goto __3
 __3:
 	ii++
@@ -124862,7 +124920,7 @@ __3:
 	goto __4
 __4:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26623, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26670, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __5
@@ -125099,7 +125157,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 	}
 	if iFuncTerm >= 0 {
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum
-		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27560
+		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27607
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).FargvIndex = 1
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).Fomit = uint8(0)
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 300.0
@@ -125107,7 +125165,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 		return SQLITE_OK
 	}
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4
-	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27566
+	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27613
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000)
 	return SQLITE_OK
@@ -125219,7 +125277,7 @@ __1:
 	if !(*(*int32)(unsafe.Pointer(bp + 48)) == SQLITE_ERROR) {
 		goto __4
 	}
-	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27575, 0)
+	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27622, 0)
 __4:
 	;
 	goto geopoly_update_end
@@ -125351,14 +125409,14 @@ geopoly_update_end:
 func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 {
 	_ = pVtab
 	_ = nArg
-	if Xsqlite3_stricmp(tls, zName, ts+27615) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27662) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyOverlapFunc}))
 		*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
 		return SQLITE_INDEX_CONSTRAINT_FUNCTION
 	}
-	if Xsqlite3_stricmp(tls, zName, ts+27631) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27678) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyWithinFunc}))
@@ -125423,7 +125481,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 {
 			uintptr(0), aAgg[i].FxStep, aAgg[i].FxFinal)
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27646, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27693, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
 	}
 	return rc
 }
@@ -125435,25 +125493,25 @@ var aFunc = [12]struct {
 	F__ccgo_pad1 [2]byte
 	FzName       uintptr
 }{
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27654},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27667},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27680},
-	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27693},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27631},
-	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27705},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27615},
-	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27728},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27742},
-	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27755},
-	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27769},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27785},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27701},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27714},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27727},
+	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27740},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27678},
+	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27752},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27662},
+	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27775},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27789},
+	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27802},
+	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27816},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27832},
 }
 var aAgg = [1]struct {
 	FxStep  uintptr
 	FxFinal uintptr
 	FzName  uintptr
 }{
-	{FxStep: 0, FxFinal: 0, FzName: ts + 27797},
+	{FxStep: 0, FxFinal: 0, FzName: ts + 27844},
 }
 
 // Register the r-tree module with database handle db. This creates the
@@ -125463,26 +125521,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 {
 	var utf8 int32 = SQLITE_UTF8
 	var rc int32
 
-	rc = Xsqlite3_create_function(tls, db, ts+27816, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	rc = Xsqlite3_create_function(tls, db, ts+27863, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr)
 	}{rtreenode})), uintptr(0), uintptr(0))
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27826, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27873, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreedepth})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27837, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27884, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreecheck})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_REAL32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27560, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27607, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_INT32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27848, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27895, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		rc = sqlite3_geopoly_init(tls, db)
@@ -125536,7 +125594,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
 			Xsqlite3_result_error_nomem(tls, ctx)
 			rtreeMatchArgFree(tls, pBlob)
 		} else {
-			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25136, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
+			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25183, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
 		}
 	}
 }
@@ -125851,7 +125909,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 
 	nOut = rbuDeltaOutputSize(tls, aDelta, nDelta)
 	if nOut < 0 {
-		Xsqlite3_result_error(tls, context, ts+27858, -1)
+		Xsqlite3_result_error(tls, context, ts+27905, -1)
 		return
 	}
 
@@ -125862,7 +125920,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 		nOut2 = rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut)
 		if nOut2 != nOut {
 			Xsqlite3_free(tls, aOut)
-			Xsqlite3_result_error(tls, context, ts+27858, -1)
+			Xsqlite3_result_error(tls, context, ts+27905, -1)
 		} else {
 			Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		}
@@ -125963,7 +126021,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuObjIterClearStatements(tls, pIter)
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) {
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+27879, uintptr(0), uintptr(0), p+36)
+				ts+27926, uintptr(0), uintptr(0), p+36)
 		}
 
 		if rc == SQLITE_OK {
@@ -126027,7 +126085,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) {
 				Xsqlite3_result_text(tls, pCtx, zIn, -1, uintptr(0))
 			}
 		} else {
-			if libc.Xstrlen(tls, zIn) > Size_t(4) && libc.Xmemcmp(tls, ts+25049, zIn, uint32(4)) == 0 {
+			if libc.Xstrlen(tls, zIn) > Size_t(4) && libc.Xmemcmp(tls, ts+25096, zIn, uint32(4)) == 0 {
 				var i int32
 				for i = 4; int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) >= '0' && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) <= '9'; i++ {
 				}
@@ -126048,16 +126106,16 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 
 	rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+36,
 		Xsqlite3_mprintf(tls,
-			ts+28050, libc.VaList(bp, func() uintptr {
+			ts+28097, libc.VaList(bp, func() uintptr {
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					return ts + 28200
+					return ts + 28247
 				}
 				return ts + 1547
 			}())))
 
 	if rc == SQLITE_OK {
 		rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+4, p+36,
-			ts+28241)
+			ts+28288)
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1
@@ -126173,7 +126231,7 @@ func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32, p+36,
 		Xsqlite3_mprintf(tls,
-			ts+28366, libc.VaList(bp, zTab)))
+			ts+28413, libc.VaList(bp, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) != SQLITE_ROW) {
 		goto __1
 	}
@@ -126191,7 +126249,7 @@ __2:
 	*(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), 1)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+1*4, p+36,
-		Xsqlite3_mprintf(tls, ts+28485, libc.VaList(bp+8, zTab)))
+		Xsqlite3_mprintf(tls, ts+28532, libc.VaList(bp+8, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) {
 		goto __3
 	}
@@ -126209,7 +126267,7 @@ __4:
 	}
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+2*4, p+36,
 		Xsqlite3_mprintf(tls,
-			ts+28506, libc.VaList(bp+16, zIdx)))
+			ts+28553, libc.VaList(bp+16, zIdx)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __7
 	}
@@ -126232,7 +126290,7 @@ __6:
 __5:
 	;
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+3*4, p+36,
-		Xsqlite3_mprintf(tls, ts+28557, libc.VaList(bp+24, zTab)))
+		Xsqlite3_mprintf(tls, ts+28604, libc.VaList(bp+24, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __10
 	}
@@ -126278,7 +126336,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		libc.Xmemcpy(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint32(unsafe.Sizeof(U8(0)))*uint32((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+16, p+36,
-			Xsqlite3_mprintf(tls, ts+28578, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28625, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0
@@ -126293,7 +126351,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 			libc.Xmemset(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0x01, uint32(unsafe.Sizeof(U8(0)))*uint32((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		}
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+20, p+36,
-			Xsqlite3_mprintf(tls, ts+28606, libc.VaList(bp+8, zIdx)))
+			Xsqlite3_mprintf(tls, ts+28653, libc.VaList(bp+8, zIdx)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 20))) {
 			var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 20)), 1)
 			if iCid >= 0 {
@@ -126333,7 +126391,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+36, bp+56, pIter+60)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19482, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19529, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
 			return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc
@@ -126343,18 +126401,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		}
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+60, p+36,
-			Xsqlite3_mprintf(tls, ts+28635, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
+			Xsqlite3_mprintf(tls, ts+28682, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 60)))
 			rbuAllocateIterArrays(tls, p, pIter, nCol)
 		}
 		for i = 0; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && i < nCol; i++ {
 			var zName uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 60)), i)
-			if Xsqlite3_strnicmp(tls, ts+28654, zName, 4) != 0 {
+			if Xsqlite3_strnicmp(tls, ts+28701, zName, 4) != 0 {
 				var zCopy uintptr = rbuStrndup(tls, zName, p+32)
 				*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol
 				*(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(libc.PostIncInt32(&(*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol, 1))*4)) = zCopy
-			} else if 0 == Xsqlite3_stricmp(tls, ts+28659, zName) {
+			} else if 0 == Xsqlite3_stricmp(tls, ts+28706, zName) {
 				bRbuRowid = 1
 			}
 		}
@@ -126366,18 +126424,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			bRbuRowid != libc.Bool32((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls,
-				ts+28669, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
+				ts+28716, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 					func() uintptr {
 						if bRbuRowid != 0 {
-							return ts + 28698
+							return ts + 28745
 						}
-						return ts + 28711
+						return ts + 28758
 					}()))
 		}
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+60, p+36,
-				Xsqlite3_mprintf(tls, ts+28720, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				Xsqlite3_mprintf(tls, ts+28767, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		}
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 60))) {
 			var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 60)), 1)
@@ -126391,7 +126449,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			}
 			if i == (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28742,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28789,
 					libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName))
 			} else {
 				var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 60)), 5)
@@ -126438,7 +126496,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var i int32
 	for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 		var z uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
-		zList = rbuMPrintf(tls, p, ts+28769, libc.VaList(bp, zList, zSep, z))
+		zList = rbuMPrintf(tls, p, ts+28816, libc.VaList(bp, zList, zSep, z))
 		zSep = ts + 14607
 	}
 	return zList
@@ -126456,7 +126514,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr,
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if int32(*(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
-				zRet = rbuMPrintf(tls, p, ts+28778, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
+				zRet = rbuMPrintf(tls, p, ts+28825, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
 				zSep = zSeparator
 				break
 			}
@@ -126478,25 +126536,25 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32,
 	if bRowid != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+36,
 			Xsqlite3_mprintf(tls,
-				ts+28791, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				ts+28838, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 			var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-			zRet = rbuMPrintf(tls, p, ts+28823, libc.VaList(bp+16, iMax))
+			zRet = rbuMPrintf(tls, p, ts+28870, libc.VaList(bp+16, iMax))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 	} else {
-		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+14607, ts+28846)
-		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28852, ts+28859, ts+4950)
+		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+14607, ts+28893)
+		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28899, ts+28906, ts+4950)
 		var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+14607, ts+1547)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+36,
 				Xsqlite3_mprintf(tls,
-					ts+28867,
+					ts+28914,
 					libc.VaList(bp+24, zSelect, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 				var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-				zRet = rbuMPrintf(tls, p, ts+28909, libc.VaList(bp+56, zList, zVal))
+				zRet = rbuMPrintf(tls, p, ts+28956, libc.VaList(bp+56, zList, zVal))
 			}
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 		}
@@ -126538,7 +126596,7 @@ func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	*(*uintptr)(unsafe.Pointer(bp + 176)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+36,
-		Xsqlite3_mprintf(tls, ts+28606, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+		Xsqlite3_mprintf(tls, ts+28653, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 __1:
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176)))) {
 		goto __2
@@ -126573,7 +126631,7 @@ __10:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
 	goto __7
 __6:
-	zCol = ts + 28929
+	zCol = ts + 28976
 __7:
 	;
 	goto __5
@@ -126581,11 +126639,11 @@ __4:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*4))
 __5:
 	;
-	zLhs = rbuMPrintf(tls, p, ts+28937,
+	zLhs = rbuMPrintf(tls, p, ts+28984,
 		libc.VaList(bp+8, zLhs, zSep, zCol, zCollate))
-	zOrder = rbuMPrintf(tls, p, ts+28958,
+	zOrder = rbuMPrintf(tls, p, ts+29005,
 		libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate))
-	zSelect = rbuMPrintf(tls, p, ts+28994,
+	zSelect = rbuMPrintf(tls, p, ts+29041,
 		libc.VaList(bp+80, zSelect, zSep, iCol, zCol))
 	zSep = ts + 14607
 	iCol++
@@ -126605,7 +126663,7 @@ __11:
 	*(*uintptr)(unsafe.Pointer(bp + 180)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+180, p+36,
-		Xsqlite3_mprintf(tls, ts+29021,
+		Xsqlite3_mprintf(tls, ts+29068,
 			libc.VaList(bp+112, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 180)))) {
 		goto __13
@@ -126632,7 +126690,7 @@ __19:
 	;
 __18:
 	;
-	zVector = rbuMPrintf(tls, p, ts+29069, libc.VaList(bp+136, zVector, zSep, zQuoted))
+	zVector = rbuMPrintf(tls, p, ts+29116, libc.VaList(bp+136, zVector, zSep, zQuoted))
 	zSep = ts + 14607
 	goto __15
 __15:
@@ -126644,7 +126702,7 @@ __16:
 	if !!(bFailed != 0) {
 		goto __20
 	}
-	zRet = rbuMPrintf(tls, p, ts+29076, libc.VaList(bp+160, zLhs, zVector))
+	zRet = rbuMPrintf(tls, p, ts+29123, libc.VaList(bp+160, zLhs, zVector))
 __20:
 	;
 __13:
@@ -126677,7 +126735,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 	if rc == SQLITE_OK {
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200, p+36,
-			Xsqlite3_mprintf(tls, ts+28606, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+			Xsqlite3_mprintf(tls, ts+28653, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 	}
 
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200))) {
@@ -126689,7 +126747,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 		if iCid == -2 {
 			var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 0)
-			zRet = Xsqlite3_mprintf(tls, ts+29088, libc.VaList(bp+8, zRet, zCom,
+			zRet = Xsqlite3_mprintf(tls, ts+29135, libc.VaList(bp+8, zRet, zCom,
 				(*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*8)).FnSpan, (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*8)).FzSpan, zCollate))
 			zType = ts + 1547
 		} else {
@@ -126701,37 +126759,37 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 					zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
 				} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					zCol = ts + 28929
+					zCol = ts + 28976
 				} else {
-					zCol = ts + 28659
+					zCol = ts + 28706
 				}
 				zType = ts + 1112
 			} else {
 				zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*4))
 				zType = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*4))
 			}
-			zRet = Xsqlite3_mprintf(tls, ts+29110, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
+			zRet = Xsqlite3_mprintf(tls, ts+29157, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 5) != 0 {
 			var zOrder uintptr = func() uintptr {
 				if bDesc != 0 {
-					return ts + 28846
+					return ts + 28893
 				}
 				return ts + 1547
 			}()
-			zImpPK = Xsqlite3_mprintf(tls, ts+29130,
+			zImpPK = Xsqlite3_mprintf(tls, ts+29177,
 				libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder))
 		}
-		zImpCols = Xsqlite3_mprintf(tls, ts+29151,
+		zImpCols = Xsqlite3_mprintf(tls, ts+29198,
 			libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate))
 		zWhere = Xsqlite3_mprintf(tls,
-			ts+29184, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
+			ts+29231, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
 		if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) {
 			rc = SQLITE_NOMEM
 		}
 		zCom = ts + 14607
-		zAnd = ts + 21518
+		zAnd = ts + 21565
 		nBind++
 	}
 
@@ -126770,9 +126828,9 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
-				zList = Xsqlite3_mprintf(tls, ts+29208, libc.VaList(bp, zList, zS, zObj, zCol))
+				zList = Xsqlite3_mprintf(tls, ts+29255, libc.VaList(bp, zList, zS, zObj, zCol))
 			} else {
-				zList = Xsqlite3_mprintf(tls, ts+29220, libc.VaList(bp+32, zList, zS))
+				zList = Xsqlite3_mprintf(tls, ts+29267, libc.VaList(bp+32, zList, zS))
 			}
 			zS = ts + 14607
 			if zList == uintptr(0) {
@@ -126782,7 +126840,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-			zList = rbuMPrintf(tls, p, ts+29229, libc.VaList(bp+48, zList, zObj))
+			zList = rbuMPrintf(tls, p, ts+29276, libc.VaList(bp+48, zList, zObj))
 		}
 	}
 	return zList
@@ -126794,18 +126852,18 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	var zList uintptr = uintptr(0)
 	if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-		zList = rbuMPrintf(tls, p, ts+29244, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
+		zList = rbuMPrintf(tls, p, ts+29291, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
 	} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
 		var zSep uintptr = ts + 1547
 		var i int32
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
-				zList = rbuMPrintf(tls, p, ts+29258, libc.VaList(bp+8, zList, zSep, i, i+1))
-				zSep = ts + 21518
+				zList = rbuMPrintf(tls, p, ts+29305, libc.VaList(bp+8, zList, zSep, i, i+1))
+				zSep = ts + 21565
 			}
 		}
 		zList = rbuMPrintf(tls, p,
-			ts+29270, libc.VaList(bp+40, zList))
+			ts+29317, libc.VaList(bp+40, zList))
 
 	} else {
 		var zSep uintptr = ts + 1547
@@ -126813,8 +126871,8 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
-				zList = rbuMPrintf(tls, p, ts+29320, libc.VaList(bp+48, zList, zSep, zCol, i+1))
-				zSep = ts + 21518
+				zList = rbuMPrintf(tls, p, ts+29367, libc.VaList(bp+48, zList, zSep, zCol, i+1))
+				zSep = ts + 21565
 			}
 		}
 	}
@@ -126823,7 +126881,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 func rbuBadControlError(tls *libc.TLS, p uintptr) {
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29333, 0)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29380, 0)
 }
 
 func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr {
@@ -126841,15 +126899,15 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr
 			for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 				var c int8 = *(*int8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4)))))
 				if int32(c) == 'x' {
-					zList = rbuMPrintf(tls, p, ts+29320,
+					zList = rbuMPrintf(tls, p, ts+29367,
 						libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+1))
 					zSep = ts + 14607
 				} else if int32(c) == 'd' {
-					zList = rbuMPrintf(tls, p, ts+29359,
+					zList = rbuMPrintf(tls, p, ts+29406,
 						libc.VaList(bp+32, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+1))
 					zSep = ts + 14607
 				} else if int32(c) == 'f' {
-					zList = rbuMPrintf(tls, p, ts+29389,
+					zList = rbuMPrintf(tls, p, ts+29436,
 						libc.VaList(bp+72, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+1))
 					zSep = ts + 14607
 				}
@@ -126886,19 +126944,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var z uintptr = uintptr(0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		var zSep uintptr = ts + 29426
+		var zSep uintptr = ts + 29473
 		*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 		*(*uintptr)(unsafe.Pointer(bp + 60)) = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56, p+36,
-			Xsqlite3_mprintf(tls, ts+28578, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28625, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) {
 			var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 3)
 			if zOrig != 0 && libc.Xstrcmp(tls, zOrig, ts+16148) == 0 {
 				var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 1)
 				if zIdx != 0 {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+60, p+36,
-						Xsqlite3_mprintf(tls, ts+28606, libc.VaList(bp+8, zIdx)))
+						Xsqlite3_mprintf(tls, ts+28653, libc.VaList(bp+8, zIdx)))
 				}
 				break
 			}
@@ -126910,15 +126968,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 				var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 60)), 2)
 				var zDesc uintptr
 				if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 60)), 3) != 0 {
-					zDesc = ts + 28846
+					zDesc = ts + 28893
 				} else {
 					zDesc = ts + 1547
 				}
-				z = rbuMPrintf(tls, p, ts+29439, libc.VaList(bp+16, z, zSep, zCol, zDesc))
+				z = rbuMPrintf(tls, p, ts+29486, libc.VaList(bp+16, z, zSep, zCol, zDesc))
 				zSep = ts + 14607
 			}
 		}
-		z = rbuMPrintf(tls, p, ts+29450, libc.VaList(bp+48, z))
+		z = rbuMPrintf(tls, p, ts+29497, libc.VaList(bp+48, z))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 60)))
 	}
 	return z
@@ -126938,7 +126996,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		var zPk uintptr = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168, p+36,
-			ts+29454)
+			ts+29501)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168)), 1, tnum)
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168))) {
@@ -126947,7 +127005,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		}
 		if zIdx != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+172, p+36,
-				Xsqlite3_mprintf(tls, ts+28606, libc.VaList(bp, zIdx)))
+				Xsqlite3_mprintf(tls, ts+28653, libc.VaList(bp, zIdx)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168)))
 
@@ -126957,23 +127015,23 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 				var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 172)), 1)
 				var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 172)), 3)
 				var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 172)), 4)
-				zCols = rbuMPrintf(tls, p, ts+29504, libc.VaList(bp+8, zCols, zComma,
+				zCols = rbuMPrintf(tls, p, ts+29551, libc.VaList(bp+8, zCols, zComma,
 					iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*4)), zCollate))
-				zPk = rbuMPrintf(tls, p, ts+29526, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
+				zPk = rbuMPrintf(tls, p, ts+29573, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
 					if bDesc != 0 {
-						return ts + 28846
+						return ts + 28893
 					}
 					return ts + 1547
 				}()))
 				zComma = ts + 14607
 			}
 		}
-		zCols = rbuMPrintf(tls, p, ts+29536, libc.VaList(bp+80, zCols))
+		zCols = rbuMPrintf(tls, p, ts+29583, libc.VaList(bp+80, zCols))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 172)))
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 1, tnum))
 		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+29551,
+			ts+29598,
 			libc.VaList(bp+120, zCols, zPk))
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 0, 0))
 	}
@@ -126999,13 +127057,13 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192, uintptr(0), uintptr(0), uintptr(0))
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 {
-				zPk = ts + 29613
+				zPk = ts + 29660
 			}
-			zSql = rbuMPrintf(tls, p, ts+29626,
+			zSql = rbuMPrintf(tls, p, ts+29673,
 				libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*4)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192)),
 					func() uintptr {
 						if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 {
-							return ts + 29653
+							return ts + 29700
 						}
 						return ts + 1547
 					}()))
@@ -127015,16 +127073,16 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
 			var zPk uintptr = rbuWithoutRowidPK(tls, p, pIter)
 			if zPk != 0 {
-				zSql = rbuMPrintf(tls, p, ts+29663, libc.VaList(bp+88, zSql, zPk))
+				zSql = rbuMPrintf(tls, p, ts+29710, libc.VaList(bp+88, zSql, zPk))
 			}
 		}
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 1, tnum))
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29670,
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29717,
 			libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql,
 				func() uintptr {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
-						return ts + 29702
+						return ts + 29749
 					}
 					return ts + 1547
 				}()))
@@ -127041,7 +127099,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis
 	if zBind != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+88, p+36, Xsqlite3_mprintf(tls,
-				ts+29717,
+				ts+29764,
 				libc.VaList(bp, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind)))
 	}
 }
@@ -127078,7 +127136,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	if *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(bp + 4)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36,
-			ts+29774)
+			ts+29821)
 	}
 	if *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK {
 		var rc2 int32
@@ -127183,7 +127241,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 		var zLimit uintptr = uintptr(0)
 
 		if nOffset != 0 {
-			zLimit = Xsqlite3_mprintf(tls, ts+29840, libc.VaList(bp, nOffset))
+			zLimit = Xsqlite3_mprintf(tls, ts+29887, libc.VaList(bp, nOffset))
 			if !(zLimit != 0) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
 			}
@@ -127206,7 +127264,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 0, 1))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 1, tnum))
 			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+29860,
+				ts+29907,
 				libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600)), *(*uintptr)(unsafe.Pointer(bp + 604))))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 0, 0))
 
@@ -127214,13 +127272,13 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+80, p+36,
-					Xsqlite3_mprintf(tls, ts+29925, libc.VaList(bp+128, zTbl, zBind)))
+					Xsqlite3_mprintf(tls, ts+29972, libc.VaList(bp+128, zTbl, zBind)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+84, p+36,
-					Xsqlite3_mprintf(tls, ts+29961, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 608)))))
+					Xsqlite3_mprintf(tls, ts+30008, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 608)))))
 			}
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -127236,7 +127294,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					}
 
 					zSql = Xsqlite3_mprintf(tls,
-						ts+29995,
+						ts+30042,
 						libc.VaList(bp+160, zCollist,
 							(*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
@@ -127244,9 +127302,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								if zStart != 0 {
 									return func() uintptr {
 										if zPart != 0 {
-											return ts + 30056
+											return ts + 30103
 										}
-										return ts + 30060
+										return ts + 30107
 									}()
 								}
 								return ts + 1547
@@ -127255,20 +127313,20 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					Xsqlite3_free(tls, zStart)
 				} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30066,
+						ts+30113,
 						libc.VaList(bp+216, zCollist, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart, zCollist, zLimit))
 				} else {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30127,
+						ts+30174,
 						libc.VaList(bp+264, zCollist, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart,
 							zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
 							func() uintptr {
 								if zPart != 0 {
-									return ts + 30056
+									return ts + 30103
 								}
-								return ts + 30060
+								return ts + 30107
 							}(),
 							zCollist, zLimit))
 				}
@@ -127305,16 +127363,16 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB {
 					return ts + 1547
 				}
-				return ts + 30286
+				return ts + 30333
 			}()
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+80, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30295,
+						ts+30342,
 						libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr {
 							if bRbuRowid != 0 {
-								return ts + 30331
+								return ts + 30378
 							}
 							return ts + 1547
 						}(), zBindings)))
@@ -127323,32 +127381,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+84, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30341, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
+						ts+30388, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 				var zRbuRowid uintptr = ts + 1547
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-					zRbuRowid = ts + 30369
+					zRbuRowid = ts + 30416
 				}
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-					ts+30381, libc.VaList(bp+408, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
+					ts+30428, libc.VaList(bp+408, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
 						if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
-							return ts + 30457
+							return ts + 30504
 						}
 						return ts + 1547
 					}(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-					ts+30474,
+					ts+30521,
 					libc.VaList(bp+440, zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zNewlist))
 
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-						ts+30773,
+						ts+30820,
 						libc.VaList(bp+512, zWrite, zTbl, zNewlist))
 				}
 
@@ -127361,9 +127419,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				var zOrder uintptr = uintptr(0)
 				if bRbuRowid != 0 {
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-						zRbuRowid = ts + 30872
+						zRbuRowid = ts + 30919
 					} else {
-						zRbuRowid = ts + 30882
+						zRbuRowid = ts + 30929
 					}
 				}
 
@@ -127376,7 +127434,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 						}
 					}
 					if bRbuRowid != 0 {
-						zOrder = rbuMPrintf(tls, p, ts+28929, 0)
+						zOrder = rbuMPrintf(tls, p, ts+28976, 0)
 					} else {
 						zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+14607, ts+1547)
 					}
@@ -127385,11 +127443,11 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+76, pz,
 						Xsqlite3_mprintf(tls,
-							ts+30893,
+							ts+30940,
 							libc.VaList(bp+536, zCollist,
 								func() uintptr {
 									if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-										return ts + 30941
+										return ts + 30988
 									}
 									return ts + 1547
 								}(),
@@ -127402,7 +127460,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								}(),
 								func() uintptr {
 									if zOrder != 0 {
-										return ts + 22852
+										return ts + 22899
 									}
 									return ts + 1547
 								}(), zOrder,
@@ -127470,9 +127528,9 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp
 			var zPrefix uintptr = ts + 1547
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB {
-				zPrefix = ts + 30286
+				zPrefix = ts + 30333
 			}
-			zUpdate = Xsqlite3_mprintf(tls, ts+30947,
+			zUpdate = Xsqlite3_mprintf(tls, ts+30994,
 				libc.VaList(bp, zPrefix, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere))
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+4, p+36, zUpdate)
@@ -127531,7 +127589,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr {
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 12)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8, p+36,
-		Xsqlite3_mprintf(tls, ts+30977, libc.VaList(bp, p+24)))
+		Xsqlite3_mprintf(tls, ts+31024, libc.VaList(bp, p+24)))
 	for *(*int32)(unsafe.Pointer(bp + 12)) == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 		switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0) {
 		case RBU_STATE_STAGE:
@@ -127604,18 +127662,18 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6434, SQLITE_FCNTL_RBUCNT, p)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) {
 			var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6434)
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31007, libc.VaList(bp, zFile, zFile))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31054, libc.VaList(bp, zFile, zFile))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 {
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31035, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31082, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
 		libc.Xmemcpy(tls, p+24, ts+3279, uint32(4))
 	} else {
 		libc.Xmemcpy(tls, p+24, ts+6434, uint32(4))
 	}
 
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31053, libc.VaList(bp+24, p+24))
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31100, libc.VaList(bp+24, p+24))
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		var bOpen int32 = 0
@@ -127655,11 +127713,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				return
 			}
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31119, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31166, 0)
 		} else {
 			var zTarget uintptr
 			var zExtra uintptr = uintptr(0)
-			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= Size_t(5) && 0 == libc.Xmemcmp(tls, ts+24199, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint32(5)) {
+			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= Size_t(5) && 0 == libc.Xmemcmp(tls, ts+24246, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint32(5)) {
 				zExtra = (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5
 				for *(*int8)(unsafe.Pointer(zExtra)) != 0 {
 					if int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zExtra, 1)))) == '?' {
@@ -127671,13 +127729,13 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				}
 			}
 
-			zTarget = Xsqlite3_mprintf(tls, ts+31151,
+			zTarget = Xsqlite3_mprintf(tls, ts+31198,
 				libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6434),
 					func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1547
 						}
-						return ts + 31183
+						return ts + 31230
 					}(), func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1547
@@ -127696,21 +127754,21 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31185, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31232, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTmpInsertFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31200, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31247, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuFossilDeltaFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+31217, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31264, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTargetNameFunc})), uintptr(0), uintptr(0))
 	}
@@ -127718,7 +127776,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, SQLITE_FCNTL_RBU, p)
 	}
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31233, 0)
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31280, 0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, SQLITE_FCNTL_RBU, p)
@@ -127726,7 +127784,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31261, 0)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31308, 0)
 	}
 }
 
@@ -127755,14 +127813,14 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
 	if pState == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = 0
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31233, uintptr(0), uintptr(0), uintptr(0))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31280, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var rc2 int32
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CAPTURE
-		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31279, uintptr(0), uintptr(0), uintptr(0))
+		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31326, uintptr(0), uintptr(0), uintptr(0))
 		if rc2 != SQLITE_NOTICE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 		}
@@ -127888,7 +127946,7 @@ func rbuLockDatabase(tls *libc.TLS, db uintptr) int32 {
 
 func rbuExclusiveCheckpoint(tls *libc.TLS, db uintptr) int32 {
 	var zUri uintptr = Xsqlite3_db_filename(tls, db, uintptr(0))
-	return Xsqlite3_uri_boolean(tls, zUri, ts+31314, 0)
+	return Xsqlite3_uri_boolean(tls, zUri, ts+31361, 0)
 }
 
 func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
@@ -127903,8 +127961,8 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6434)
 	}
-	zOal = Xsqlite3_mprintf(tls, ts+31339, libc.VaList(bp, zMove))
-	zWal = Xsqlite3_mprintf(tls, ts+31346, libc.VaList(bp+8, zMove))
+	zOal = Xsqlite3_mprintf(tls, ts+31386, libc.VaList(bp, zMove))
+	zWal = Xsqlite3_mprintf(tls, ts+31393, libc.VaList(bp+8, zMove))
 
 	if zWal == uintptr(0) || zOal == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
@@ -128021,7 +128079,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) {
 			(*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 &&
 			Xsqlite3_column_type(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect, i) == SQLITE_NULL {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_MISMATCH
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23837, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23884, 0)
 			return
 		}
 
@@ -128114,7 +128172,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 		var iCookie int32 = 1000000
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8, p+36,
-			ts+31353)
+			ts+31400)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 				iCookie = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0)
@@ -128122,7 +128180,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8)))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31375, libc.VaList(bp, iCookie+1))
+			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31422, libc.VaList(bp, iCookie+1))
 		}
 	}
 }
@@ -128143,7 +128201,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) {
 
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168, p+36,
 			Xsqlite3_mprintf(tls,
-				ts+31402,
+				ts+31449,
 				libc.VaList(bp, p+24,
 					RBU_STATE_STAGE, eStage,
 					RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl,
@@ -128173,9 +128231,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24, p+36,
-			Xsqlite3_mprintf(tls, ts+31560, libc.VaList(bp, zPragma)))
+			Xsqlite3_mprintf(tls, ts+31607, libc.VaList(bp, zPragma)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31575,
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31622,
 				libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 0)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -128189,10 +128247,10 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 	*(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(0)
 
-	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31595, uintptr(0), uintptr(0), p+36)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31642, uintptr(0), uintptr(0), p+36)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36,
-			ts+31620)
+			ts+31667)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -128206,12 +128264,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36,
-			ts+31728)
+			ts+31775)
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4, p+36,
-			ts+31793)
+			ts+31840)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -128223,7 +128281,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
 	}
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31837, uintptr(0), uintptr(0), p+36)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31884, uintptr(0), uintptr(0), p+36)
 	}
 
 	rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp)))
@@ -128251,7 +128309,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 {
 						if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 							rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-								ts+31862, libc.VaList(bp, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
+								ts+31909, libc.VaList(bp, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 						}
 					} else {
 						rbuObjIterPrepareAll(tls, p, pIter, 0)
@@ -128373,7 +128431,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) {
 
 		if rc == SQLITE_OK && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) {
 			rc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31890, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31937, 0)
 		}
 
 		if rc == SQLITE_OK {
@@ -128389,7 +128447,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) {
 	bp := tls.Alloc(12)
 	defer tls.Free(12)
 
-	var zOal uintptr = rbuMPrintf(tls, p, ts+31339, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
+	var zOal uintptr = rbuMPrintf(tls, p, ts+31386, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
 	if zOal != 0 {
 		*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, SQLITE_FCNTL_VFS_POINTER, bp+8)
@@ -128406,7 +128464,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) {
 	defer tls.Free(76)
 
 	Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8)
-	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+31915, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
+	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+31962, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12, uintptr(0))
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12)
@@ -128440,7 +128498,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) {
 
 	rc = prepareFreeAndCollectError(tls, db, bp+8, bp+12,
 		Xsqlite3_mprintf(tls,
-			ts+31926, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
+			ts+31973, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
 	if rc != SQLITE_OK {
 		Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 12)), -1)
 	} else {
@@ -128470,13 +128528,13 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+31998, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+32045, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuIndexCntFunc})), uintptr(0), uintptr(0))
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36,
-				ts+32012)
+				ts+32059)
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
@@ -128487,7 +128545,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && bExists != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36,
-				ts+32069)
+				ts+32116)
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
@@ -128561,7 +128619,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd != 0 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32143, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32190, 0)
 			} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_MOVE {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CKPT
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FnStep = 0
@@ -128579,12 +128637,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 			}()
 			if (*Rbu_file)(unsafe.Pointer(pFd)).FiCookie != (*RbuState)(unsafe.Pointer(pState)).FiCookie {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32175,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32222,
 					libc.VaList(bp+8, func() uintptr {
 						if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-							return ts + 32207
+							return ts + 32254
 						}
-						return ts + 32214
+						return ts + 32261
 					}()))
 			}
 		}
@@ -128608,14 +128666,14 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32221, uintptr(0), uintptr(0), p+36)
+						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32268, uintptr(0), uintptr(0), p+36)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 						var frc int32 = Xsqlite3_file_control(tls, db, ts+6434, SQLITE_FCNTL_ZIPVFS, uintptr(0))
 						if frc == SQLITE_OK {
 							(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls,
-								db, ts+32237, uintptr(0), uintptr(0), p+36)
+								db, ts+32284, uintptr(0), uintptr(0), p+36)
 						}
 					}
 
@@ -128669,7 +128727,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr
 	}
 	if zState != 0 {
 		var n int32 = int32(libc.Xstrlen(tls, zState))
-		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32261, zState+uintptr(n-7), uint32(7)) {
+		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32308, zState+uintptr(n-7), uint32(7)) {
 			return rbuMisuseError(tls)
 		}
 	}
@@ -128696,7 +128754,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) {
 		var i uint32
 		var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg)
 		for i = uint32(0); i < nErrmsg-Size_t(8); i++ {
-			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30286, uint32(8)) == 0 {
+			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30333, uint32(8)) == 0 {
 				var nDel int32 = 8
 				for int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= '0' && int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= '9' {
 					nDel++
@@ -128732,7 +128790,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 {
 		rbuObjIterFinalize(tls, p+48)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 {
-			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32269, uintptr(0), uintptr(0), uintptr(0))
+			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32316, uintptr(0), uintptr(0), uintptr(0))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE && rc2 != SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 			}
@@ -128851,12 +128909,12 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 				zBegin = ts + 14496
 			} else {
-				zBegin = ts + 32221
+				zBegin = ts + 32268
 			}
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32221, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32268, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -129202,7 +129260,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 			})(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16)
 			if rc == SQLITE_OK {
 				rc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32296, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32343, 0)
 			} else if rc == SQLITE_NOTFOUND {
 				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p
 				(*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu
@@ -129227,7 +129285,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 	if rc == SQLITE_OK && op == SQLITE_FCNTL_VFSNAME {
 		var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs
 		var zIn uintptr = *(*uintptr)(unsafe.Pointer(pArg))
-		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32319, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
+		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32366, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
 		*(*uintptr)(unsafe.Pointer(pArg)) = zOut
 		if zOut == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -129387,7 +129445,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags
 	}
 
 	if oflags&SQLITE_OPEN_MAIN_DB != 0 &&
-		Xsqlite3_uri_boolean(tls, zName, ts+32330, 0) != 0 {
+		Xsqlite3_uri_boolean(tls, zName, ts+32377, 0) != 0 {
 		oflags = SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE
 		zOpen = uintptr(0)
 	}
@@ -130212,7 +130270,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 		rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0))
 		if rc == SQLITE_OK {
 			zPragma = Xsqlite3_mprintf(tls,
-				ts+32341, 0)
+				ts+32388, 0)
 		} else if rc == SQLITE_ERROR {
 			zPragma = Xsqlite3_mprintf(tls, ts+1547, 0)
 		} else {
@@ -130225,7 +130283,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 			return rc
 		}
 	} else {
-		zPragma = Xsqlite3_mprintf(tls, ts+32462, libc.VaList(bp, zDb, zThis))
+		zPragma = Xsqlite3_mprintf(tls, ts+32509, libc.VaList(bp, zDb, zThis))
 	}
 	if !(zPragma != 0) {
 		*(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0)
@@ -130904,9 +130962,9 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr,
 
 	for i = 0; i < nCol; i++ {
 		if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
-			zRet = Xsqlite3_mprintf(tls, ts+32491,
+			zRet = Xsqlite3_mprintf(tls, ts+32538,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4))))
-			zSep = ts + 21518
+			zSep = ts + 21565
 			if zRet == uintptr(0) {
 				break
 			}
@@ -130929,9 +130987,9 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 		if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 {
 			bHave = 1
 			zRet = Xsqlite3_mprintf(tls,
-				ts+32525,
+				ts+32572,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4))))
-			zSep = ts + 32566
+			zSep = ts + 32613
 			if zRet == uintptr(0) {
 				break
 			}
@@ -130939,7 +130997,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 	}
 
 	if bHave == 0 {
-		zRet = Xsqlite3_mprintf(tls, ts+7523, 0)
+		zRet = Xsqlite3_mprintf(tls, ts+7512, 0)
 	}
 
 	return zRet
@@ -130950,7 +131008,7 @@ func sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, zTbl uintpt
 	defer tls.Free(40)
 
 	var zRet uintptr = Xsqlite3_mprintf(tls,
-		ts+32571,
+		ts+32618,
 		libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr))
 	return zRet
 }
@@ -130993,7 +131051,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro
 		rc = SQLITE_NOMEM
 	} else {
 		var zStmt uintptr = Xsqlite3_mprintf(tls,
-			ts+32649,
+			ts+32696,
 			libc.VaList(bp, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2))
 		if zStmt == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -131120,7 +131178,7 @@ __6:
 	if !(pzErrMsg != 0) {
 		goto __16
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32702, 0)
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32749, 0)
 __16:
 	;
 	rc = SQLITE_SCHEMA
@@ -131596,7 +131654,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 
 	if 0 == Xsqlite3_stricmp(tls, ts+11341, zTab) {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+32729, libc.VaList(bp, zDb))
+			ts+32776, libc.VaList(bp, zDb))
 		if zSql == uintptr(0) {
 			*(*int32)(unsafe.Pointer(bp + 20)) = SQLITE_NOMEM
 		}
@@ -131605,18 +131663,18 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 		var zSep uintptr = ts + 1547
 		*(*SessionBuffer)(unsafe.Pointer(bp + 8)) = SessionBuffer{}
 
-		sessionAppendStr(tls, bp+8, ts+32839, bp+20)
+		sessionAppendStr(tls, bp+8, ts+32886, bp+20)
 		sessionAppendIdent(tls, bp+8, zDb, bp+20)
 		sessionAppendStr(tls, bp+8, ts+1560, bp+20)
 		sessionAppendIdent(tls, bp+8, zTab, bp+20)
-		sessionAppendStr(tls, bp+8, ts+32854, bp+20)
+		sessionAppendStr(tls, bp+8, ts+32901, bp+20)
 		for i = 0; i < nCol; i++ {
 			if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
 				sessionAppendStr(tls, bp+8, zSep, bp+20)
 				sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), bp+20)
-				sessionAppendStr(tls, bp+8, ts+32862, bp+20)
+				sessionAppendStr(tls, bp+8, ts+32909, bp+20)
 				sessionAppendInteger(tls, bp+8, i+1, bp+20)
-				zSep = ts + 21518
+				zSep = ts + 21565
 			}
 		}
 		zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8)).FaBuf
@@ -131725,7 +131783,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 {
 		return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc
 	}
-	*(*int32)(unsafe.Pointer(bp + 24)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32868, uintptr(0), uintptr(0), uintptr(0))
+	*(*int32)(unsafe.Pointer(bp + 24)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32915, uintptr(0), uintptr(0), uintptr(0))
 	if *(*int32)(unsafe.Pointer(bp + 24)) != SQLITE_OK {
 		return *(*int32)(unsafe.Pointer(bp + 24))
 	}
@@ -131817,7 +131875,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	}
 
 	Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+12)).FaBuf)
-	Xsqlite3_exec(tls, db, ts+32888, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+32935, uintptr(0), uintptr(0), uintptr(0))
 	Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db))
 	return *(*int32)(unsafe.Pointer(bp + 24))
 }
@@ -132080,7 +132138,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 		rc = sessionInputBuffer(tls, pIn, 9)
 		if rc == SQLITE_OK {
 			if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData {
-				rc = Xsqlite3CorruptError(tls, 219078)
+				rc = Xsqlite3CorruptError(tls, 219169)
 			} else {
 				eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1)))))
 
@@ -132103,7 +132161,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 				rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
 				if rc == SQLITE_OK {
 					if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext {
-						rc = Xsqlite3CorruptError(tls, 219098)
+						rc = Xsqlite3CorruptError(tls, 219189)
 					} else {
 						var enc U8 = func() uint8 {
 							if eType == SQLITE_TEXT {
@@ -132145,7 +132203,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in
 		nRead = nRead + sessionVarintGet(tls, (*SessionInput)(unsafe.Pointer(pIn)).FaData+uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext+nRead), bp)
 
 		if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > 65536 {
-			rc = Xsqlite3CorruptError(tls, 219152)
+			rc = Xsqlite3CorruptError(tls, 219243)
 		} else {
 			rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100)
 			nRead = nRead + *(*int32)(unsafe.Pointer(bp))
@@ -132206,7 +132264,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 {
 			(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
 			sessionBufferGrow(tls, p+44, int64(nByte), bp+4)
 		} else {
-			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219240)
+			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219331)
 		}
 	}
 
@@ -132280,13 +132338,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 	}
 
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
-		return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219326))
+		return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219417))
 	}
 
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op)
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))))
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT {
-		return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219332))
+		return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219423))
 	}
 
 	if paRec != 0 {
@@ -132348,7 +132406,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 				if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4))
 					if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4)) == uintptr(0) {
-						return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219376))
+						return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219467))
 					}
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4)) = uintptr(0)
 				}
@@ -132721,7 +132779,7 @@ __27:
 	goto __6
 
 __11:
-	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 219741)
+	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 219832)
 	goto finished_invert
 __6:
 	;
@@ -132898,34 +132956,34 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32,
 				(*SessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*12
 				libc.Xmemcpy(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint32(nU32)*uint32(unsafe.Sizeof(U32(0))))
 
-				sessionAppendStr(tls, bp, ts+32906, bp+12)
+				sessionAppendStr(tls, bp, ts+32953, bp+12)
 				sessionAppendIdent(tls, bp, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+12)
-				sessionAppendStr(tls, bp, ts+32919, bp+12)
+				sessionAppendStr(tls, bp, ts+32966, bp+12)
 
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*4)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+12)
 						sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*4)), bp+12)
-						sessionAppendStr(tls, bp, ts+32925, bp+12)
+						sessionAppendStr(tls, bp, ts+32972, bp+12)
 						sessionAppendInteger(tls, bp, ii*2+1, bp+12)
 						zSep = ts + 14607
 					}
 				}
 
 				zSep = ts + 1547
-				sessionAppendStr(tls, bp, ts+32854, bp+12)
+				sessionAppendStr(tls, bp, ts+32901, bp+12)
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*4)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+12)
 						if bStat1 != 0 && ii == 1 {
 							sessionAppendStr(tls, bp,
-								ts+32930, bp+12)
+								ts+32977, bp+12)
 						} else {
 							sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*4)), bp+12)
-							sessionAppendStr(tls, bp, ts+32862, bp+12)
+							sessionAppendStr(tls, bp, ts+32909, bp+12)
 							sessionAppendInteger(tls, bp, ii*2+2, bp+12)
 						}
-						zSep = ts + 21518
+						zSep = ts + 21565
 					}
 				}
 
@@ -132977,34 +133035,34 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 	var nPk int32 = 0
 
-	sessionAppendStr(tls, bp, ts+33005, bp+12)
+	sessionAppendStr(tls, bp, ts+33052, bp+12)
 	sessionAppendIdent(tls, bp, zTab, bp+12)
-	sessionAppendStr(tls, bp, ts+32854, bp+12)
+	sessionAppendStr(tls, bp, ts+32901, bp+12)
 
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 			nPk++
 			sessionAppendStr(tls, bp, zSep, bp+12)
 			sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12)
-			sessionAppendStr(tls, bp, ts+32925, bp+12)
+			sessionAppendStr(tls, bp, ts+32972, bp+12)
 			sessionAppendInteger(tls, bp, i+1, bp+12)
-			zSep = ts + 21518
+			zSep = ts + 21565
 		}
 	}
 
 	if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol {
-		sessionAppendStr(tls, bp, ts+33023, bp+12)
+		sessionAppendStr(tls, bp, ts+33070, bp+12)
 		sessionAppendInteger(tls, bp, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol+1, bp+12)
-		sessionAppendStr(tls, bp, ts+32566, bp+12)
+		sessionAppendStr(tls, bp, ts+32613, bp+12)
 
 		zSep = ts + 1547
 		for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 			if !(int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i)))) != 0) {
 				sessionAppendStr(tls, bp, zSep, bp+12)
 				sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12)
-				sessionAppendStr(tls, bp, ts+32862, bp+12)
+				sessionAppendStr(tls, bp, ts+32909, bp+12)
 				sessionAppendInteger(tls, bp, i+1, bp+12)
-				zSep = ts + 33031
+				zSep = ts + 33078
 			}
 		}
 		sessionAppendStr(tls, bp, ts+4950, bp+12)
@@ -133031,9 +133089,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	var i int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 
-	sessionAppendStr(tls, bp, ts+33036, bp+12)
+	sessionAppendStr(tls, bp, ts+33083, bp+12)
 	sessionAppendIdent(tls, bp, zTab, bp+12)
-	sessionAppendStr(tls, bp, ts+21524, bp+12)
+	sessionAppendStr(tls, bp, ts+21571, bp+12)
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if i != 0 {
 			sessionAppendStr(tls, bp, ts+14607, bp+12)
@@ -133041,9 +133099,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 		sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12)
 	}
 
-	sessionAppendStr(tls, bp, ts+33054, bp+12)
+	sessionAppendStr(tls, bp, ts+33101, bp+12)
 	for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
-		sessionAppendStr(tls, bp, ts+33065, bp+12)
+		sessionAppendStr(tls, bp, ts+33112, bp+12)
 	}
 	sessionAppendStr(tls, bp, ts+4950, bp+12)
 
@@ -133062,11 +133120,11 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 {
 	var rc int32 = sessionSelectRow(tls, db, ts+11341, p)
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+8,
-			ts+33069)
+			ts+33116)
 	}
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+4,
-			ts+33182)
+			ts+33229)
 	}
 	return rc
 }
@@ -133094,7 +133152,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab
 				f func(*libc.TLS, uintptr, int32, uintptr) int32
 			})(unsafe.Pointer(&struct{ uintptr }{xValue})).f(tls, pIter, i, bp)
 			if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
-				rc = Xsqlite3CorruptError(tls, 220219)
+				rc = Xsqlite3CorruptError(tls, 220310)
 			} else {
 				rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp)))
 			}
@@ -133347,7 +133405,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 		if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
 			rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 		} else if *(*int32)(unsafe.Pointer(bp)) != 0 {
-			rc = Xsqlite3_exec(tls, db, ts+33326, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33373, uintptr(0), uintptr(0), uintptr(0))
 			if rc == SQLITE_OK {
 				rc = sessionBindRow(tls, pIter,
 					*(*uintptr)(unsafe.Pointer(&struct {
@@ -133363,7 +133421,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 				rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 			}
 			if rc == SQLITE_OK {
-				rc = Xsqlite3_exec(tls, db, ts+33347, uintptr(0), uintptr(0), uintptr(0))
+				rc = Xsqlite3_exec(tls, db, ts+33394, uintptr(0), uintptr(0), uintptr(0))
 			}
 		}
 	}
@@ -133436,10 +133494,10 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 	(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FbInvertConstraints = libc.BoolInt32(!!(flags&SQLITE_CHANGESETAPPLY_INVERT != 0))
 	Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db))
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
-		rc = Xsqlite3_exec(tls, db, ts+33366, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33413, uintptr(0), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_exec(tls, db, ts+33392, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33439, uintptr(0), uintptr(0), uintptr(0))
 	}
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3changeset_next(tls, pIter) {
 		Xsqlite3changeset_op(tls, pIter, bp+124, bp+128, bp+132, uintptr(0))
@@ -133498,16 +133556,16 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 				if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol == 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33422, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 140))))
+						ts+33469, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 140))))
 				} else if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol < *(*int32)(unsafe.Pointer(bp + 128)) {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33466,
+						ts+33513,
 						libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 140)), (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol, *(*int32)(unsafe.Pointer(bp + 128))))
 				} else if *(*int32)(unsafe.Pointer(bp + 128)) < nMinCol || libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 136)), uint32(*(*int32)(unsafe.Pointer(bp + 128)))) != 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33537, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 140))))
+						ts+33584, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 140))))
 				} else {
 					(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FnCol = *(*int32)(unsafe.Pointer(bp + 128))
 					if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 140)), ts+11341) {
@@ -133561,14 +133619,14 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 			}
 		}
 	}
-	Xsqlite3_exec(tls, db, ts+33597, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+33644, uintptr(0), uintptr(0), uintptr(0))
 
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, db, ts+33627, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33674, uintptr(0), uintptr(0), uintptr(0))
 		} else {
-			Xsqlite3_exec(tls, db, ts+33651, uintptr(0), uintptr(0), uintptr(0))
-			Xsqlite3_exec(tls, db, ts+33627, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33698, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33674, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -134800,7 +134858,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) {
 		fts5yy_pop_parser_stack(tls, fts5yypParser)
 	}
 
-	sqlite3Fts5ParseError(tls, pParse, ts+33679, 0)
+	sqlite3Fts5ParseError(tls, pParse, ts+33726, 0)
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -135088,7 +135146,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32
 
 	_ = fts5yymajor
 	sqlite3Fts5ParseError(tls,
-		pParse, ts+33707, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
+		pParse, ts+33754, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -135273,7 +135331,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int
 		if n < 0 {
 			n = int32(libc.Xstrlen(tls, z))
 		}
-		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33738, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
+		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33785, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
 		if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) {
 			*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 		}
@@ -135341,7 +135399,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp
 	var iCol int32
 
 	if nVal != 3 {
-		var zErr uintptr = ts + 33745
+		var zErr uintptr = ts + 33792
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -135522,7 +135580,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
 	var nCol int32
 
 	if nVal != 5 {
-		var zErr uintptr = ts + 33795
+		var zErr uintptr = ts + 33842
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -135845,13 +135903,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(48)
 
 	*(*[3]Builtin)(unsafe.Pointer(bp)) = [3]Builtin{
-		{FzFunc: ts + 33843, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33890, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5SnippetFunction}))},
-		{FzFunc: ts + 33851, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33898, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5HighlightFunction}))},
-		{FzFunc: ts + 33861, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33908, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5Bm25Function}))},
 	}
@@ -136401,7 +136459,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 	var nCmd int32 = int32(libc.Xstrlen(tls, zCmd))
-	if Xsqlite3_strnicmp(tls, ts+33866, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+33913, zCmd, nCmd) == 0 {
 		var nByte int32 = int32(uint32(unsafe.Sizeof(int32(0))) * uint32(FTS5_MAX_PREFIX_INDEXES))
 		var p uintptr
 		var bFirst int32 = 1
@@ -136428,14 +136486,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 				break
 			}
 			if int32(*(*int8)(unsafe.Pointer(p))) < '0' || int32(*(*int8)(unsafe.Pointer(p))) > '9' {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33873, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33920, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
 
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES {
 				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-					ts+33904, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
+					ts+33951, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -136446,7 +136504,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 			}
 
 			if nPre <= 0 || nPre >= 1000 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33937, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33984, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -136459,7 +136517,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+33974, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34021, zCmd, nCmd) == 0 {
 		var p uintptr = zArg
 		var nArg Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zArg) + Size_t(1))
 		var azArg uintptr = sqlite3Fts5MallocZero(tls, bp+40, Sqlite3_int64(unsafe.Sizeof(uintptr(0)))*nArg)
@@ -136468,7 +136526,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 		if azArg != 0 && pSpace != 0 {
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33983, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34030, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				for nArg = int64(0); p != 0 && *(*int8)(unsafe.Pointer(p)) != 0; nArg++ {
@@ -136487,7 +136545,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 					}
 				}
 				if p == uintptr(0) {
-					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34016, 0)
+					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34063, 0)
 					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				} else {
 					*(*int32)(unsafe.Pointer(bp + 40)) = sqlite3Fts5GetTokenizer(tls, pGlobal,
@@ -136502,14 +136560,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34050, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34097, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34058, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34105, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			if *(*int8)(unsafe.Pointer(zArg)) != 0 {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_EXTERNAL
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34090, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34137, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
 			} else {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE
 			}
@@ -136517,9 +136575,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34096, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34143, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34110, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34157, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40, zArg, -1)
@@ -136527,9 +136585,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34148, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34195, zCmd, nCmd) == 0 {
 		if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34159, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34206, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')
@@ -136541,17 +136599,17 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		*(*[4]Fts5Enum)(unsafe.Pointer(bp + 44)) = [4]Fts5Enum{
 			{FzName: ts + 8019, FeVal: FTS5_DETAIL_NONE},
 			{FzName: ts + 17338},
-			{FzName: ts + 34194, FeVal: FTS5_DETAIL_COLUMNS},
+			{FzName: ts + 34241, FeVal: FTS5_DETAIL_COLUMNS},
 			{},
 		}
 
 		if libc.AssignPtrInt32(bp+40, fts5ConfigSetEnum(tls, bp+44, zArg, pConfig+48)) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34202, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34249, 0)
 		}
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34233, libc.VaList(bp+24, nCmd, zCmd))
+	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34280, libc.VaList(bp+24, nCmd, zCmd))
 	return SQLITE_ERROR
 }
 
@@ -136598,15 +136656,15 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr,
 	defer tls.Free(16)
 
 	var rc int32 = SQLITE_OK
-	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22184) ||
+	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22231) ||
 		0 == Xsqlite3_stricmp(tls, zCol, ts+16260) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34261, libc.VaList(bp, zCol))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34308, libc.VaList(bp, zCol))
 		rc = SQLITE_ERROR
 	} else if zArg != 0 {
-		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34291) {
+		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34338) {
 			*(*U8)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*Fts5Config)(unsafe.Pointer(p)).FnCol))) = U8(1)
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34301, libc.VaList(bp+8, zArg))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34348, libc.VaList(bp+8, zArg))
 			rc = SQLITE_ERROR
 		}
 	}
@@ -136623,13 +136681,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_OK
 	*(*Fts5Buffer)(unsafe.Pointer(bp + 28)) = Fts5Buffer{}
 
-	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34332, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
+	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34379, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
 	if (*Fts5Config)(unsafe.Pointer(p)).FeContent != FTS5_CONTENT_NONE {
 		for i = 0; i < (*Fts5Config)(unsafe.Pointer(p)).FnCol; i++ {
 			if (*Fts5Config)(unsafe.Pointer(p)).FeContent == FTS5_CONTENT_EXTERNAL {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34337, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*4))))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34384, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*4))))
 			} else {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34344, libc.VaList(bp+16, i))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34391, libc.VaList(bp+16, i))
 			}
 		}
 	}
@@ -136667,8 +136725,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 	(*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40, *(*uintptr)(unsafe.Pointer(azArg + 2*4)), -1)
 	(*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize = 1
 	(*Fts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL
-	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22184) == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34352, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
+	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22231) == 0 {
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34399, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
 		*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 	}
 
@@ -136700,7 +136758,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 
 		if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK {
 			if z == uintptr(0) {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34381, libc.VaList(bp+8, zOrig))
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34428, libc.VaList(bp+8, zOrig))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				if bOption != 0 {
@@ -136737,14 +136795,14 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 		var zTail uintptr = uintptr(0)
 
 		if (*Fts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL {
-			zTail = ts + 34050
+			zTail = ts + 34097
 		} else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 {
-			zTail = ts + 34401
+			zTail = ts + 34448
 		}
 
 		if zTail != 0 {
 			(*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls,
-				bp+40, ts+34409, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
+				bp+40, ts+34456, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
 		}
 	}
 
@@ -136793,7 +136851,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_OK
 	var zSql uintptr
 
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34420, 0)
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34467, 0)
 	for i = 0; zSql != 0 && i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
 		var zSep uintptr = func() uintptr {
 			if i == 0 {
@@ -136801,10 +136859,10 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 			}
 			return ts + 14607
 		}()
-		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34436, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*4))))
+		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34483, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*4))))
 	}
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34443,
-		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22184))
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34490,
+		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22231))
 
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql)
@@ -136914,7 +136972,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 
 	var rc int32 = SQLITE_OK
 
-	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34469) {
+	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34516) {
 		var pgsz int32 = 0
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			pgsz = Xsqlite3_value_int(tls, pVal)
@@ -136924,7 +136982,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34474) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34521) {
 		var nHashSize int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nHashSize = Xsqlite3_value_int(tls, pVal)
@@ -136934,7 +136992,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34483) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34530) {
 		var nAutomerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nAutomerge = Xsqlite3_value_int(tls, pVal)
@@ -136947,7 +137005,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34493) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34540) {
 		var nUsermerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nUsermerge = Xsqlite3_value_int(tls, pVal)
@@ -136957,7 +137015,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34503) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34550) {
 		var nCrisisMerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nCrisisMerge = Xsqlite3_value_int(tls, pVal)
@@ -136973,7 +137031,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22184) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22231) {
 		var zIn uintptr = Xsqlite3_value_text(tls, pVal)
 
 		rc = sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+4)
@@ -136996,7 +137054,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 	bp := tls.Alloc(44)
 	defer tls.Free(44)
 
-	var zSelect uintptr = ts + 34515
+	var zSelect uintptr = ts + 34562
 	var zSql uintptr
 	*(*uintptr)(unsafe.Pointer(bp + 36)) = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
@@ -137018,7 +137076,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 36))) {
 			var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 36)), 0)
 			var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 36)), 1)
-			if 0 == Xsqlite3_stricmp(tls, zK, ts+34547) {
+			if 0 == Xsqlite3_stricmp(tls, zK, ts+34594) {
 				iVersion = Xsqlite3_value_int(tls, pVal)
 			} else {
 				*(*int32)(unsafe.Pointer(bp + 40)) = 0
@@ -137032,7 +137090,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 {
 			*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-				ts+34555,
+				ts+34602,
 				libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION))
 		}
 	}
@@ -137130,7 +137188,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 					}
 				}
 				if int32(*(*int8)(unsafe.Pointer(z2))) == 0 {
-					sqlite3Fts5ParseError(tls, pParse, ts+34620, 0)
+					sqlite3Fts5ParseError(tls, pParse, ts+34667, 0)
 					return FTS5_EOF
 				}
 			}
@@ -137143,20 +137201,20 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 		{
 			var z2 uintptr
 			if sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z))) == 0 {
-				sqlite3Fts5ParseError(tls, pParse, ts+34640, libc.VaList(bp, z))
+				sqlite3Fts5ParseError(tls, pParse, ts+34687, libc.VaList(bp, z))
 				return FTS5_EOF
 			}
 			tok = FTS5_STRING
 			for z2 = z + 1; sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z2))) != 0; z2++ {
 			}
 			(*Fts5Token)(unsafe.Pointer(pToken)).Fn = (int32(z2) - int32(z)) / 1
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34671, uint32(2)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34718, uint32(2)) == 0 {
 				tok = FTS5_OR
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34674, uint32(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34721, uint32(3)) == 0 {
 				tok = FTS5_NOT
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30056, uint32(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30103, uint32(3)) == 0 {
 				tok = FTS5_AND
 			}
 			break
@@ -138933,9 +138991,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34678, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint32(4)) != 0 {
+	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34725, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint32(4)) != 0 {
 		sqlite3Fts5ParseError(tls,
-			pParse, ts+33707, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
+			pParse, ts+33754, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
 	}
 }
 
@@ -138951,7 +139009,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p
 				var c int8 = *(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))
 				if int32(c) < '0' || int32(c) > '9' {
 					sqlite3Fts5ParseError(tls,
-						pParse, ts+34683, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
+						pParse, ts+34730, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
 					return
 				}
 				nNear = nNear*10 + (int32(*(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - '0')
@@ -139038,7 +139096,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui
 			}
 		}
 		if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol {
-			sqlite3Fts5ParseError(tls, pParse, ts+20521, libc.VaList(bp, z))
+			sqlite3Fts5ParseError(tls, pParse, ts+20568, libc.VaList(bp, z))
 		} else {
 			pRet = fts5ParseColset(tls, pParse, pColset, iCol)
 		}
@@ -139119,7 +139177,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo
 	*(*uintptr)(unsafe.Pointer(bp)) = pColset
 	if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE {
 		sqlite3Fts5ParseError(tls, pParse,
-			ts+34712, 0)
+			ts+34759, 0)
 	} else {
 		fts5ParseSetColset(tls, pParse, pExpr, pColset, bp)
 	}
@@ -139289,12 +139347,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 1 ||
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*Fts5ExprTerm)(unsafe.Pointer(pPhrase+20)).FbFirst != 0 {
 							sqlite3Fts5ParseError(tls, pParse,
-								ts+34765,
+								ts+34812,
 								libc.VaList(bp, func() uintptr {
 									if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 {
-										return ts + 34815
+										return ts + 34862
 									}
-									return ts + 34678
+									return ts + 34725
 								}()))
 							Xsqlite3_free(tls, pRet)
 							pRet = uintptr(0)
@@ -140234,7 +140292,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK {
 			var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 			rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb,
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34822, iRowid, 0, p+36)
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34869, iRowid, 0, p+36)
 		}
 
 		if rc == SQLITE_ERROR {
@@ -140313,7 +140371,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in
 	if (*Fts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+40, Xsqlite3_mprintf(tls,
-			ts+34828,
+			ts+34875,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 		if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 			return
@@ -140338,7 +140396,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = Xsqlite3_mprintf(tls,
-			ts+34879,
+			ts+34926,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if fts5IndexPrepareStmt(tls, p, p+44, zSql) != 0 {
 			return
@@ -140361,7 +140419,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+52, Xsqlite3_mprintf(tls,
-			ts+34928,
+			ts+34975,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -140600,7 +140658,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 {
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) {
 			(*Fts5Index)(unsafe.Pointer(p)).Frc = fts5IndexPrepareStmt(tls, p, p+64,
-				Xsqlite3_mprintf(tls, ts+34968, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
+				Xsqlite3_mprintf(tls, ts+35015, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
 			if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 				return int64(0)
 			}
@@ -141799,7 +141857,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+56, Xsqlite3_mprintf(tls,
-			ts+34991,
+			ts+35038,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect
@@ -143264,7 +143322,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+48, Xsqlite3_mprintf(tls,
-			ts+35075,
+			ts+35122,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 
@@ -144345,13 +144403,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		(*Fts5Index)(unsafe.Pointer(p)).FpConfig = pConfig
 		(*Fts5Index)(unsafe.Pointer(p)).FnWorkUnit = FTS5_WORK_UNIT
-		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35132, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35179, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 {
 			*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+25049, ts+35140, 0, pzErr)
+				pConfig, ts+25096, ts+35187, 0, pzErr)
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 				*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls, pConfig, ts+11481,
-					ts+35175,
+					ts+35222,
 					1, pzErr)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
@@ -144604,7 +144662,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 {
 	sqlite3Fts5Put32(tls, bp, iNew)
 
 	rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl,
-		ts+34822, int64(FTS5_STRUCTURE_ROWID), 1, bp+4)
+		ts+34869, int64(FTS5_STRUCTURE_ROWID), 1, bp+4)
 	if rc == SQLITE_OK {
 		Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), bp, 4, 0)
 		rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
@@ -144718,7 +144776,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) {
 	}
 
 	fts5IndexPrepareStmt(tls, p, bp+24, Xsqlite3_mprintf(tls,
-		ts+35219,
+		ts+35266,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid)))
 
 	for (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
@@ -144888,7 +144946,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks
 		} else {
 			(*Fts5Buffer)(unsafe.Pointer(bp + 8)).Fn = 0
 			fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp))+68+uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaFirst+1*4)).FiFirst)*92, uintptr(0), bp+8)
-			sqlite3Fts5BufferAppendBlob(tls, p+32, bp+8, uint32(4), ts+35305)
+			sqlite3Fts5BufferAppendBlob(tls, p+32, bp+8, uint32(4), ts+35352)
 			for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+8)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+8)).Fn, bp+20, bp+24) {
 				var iCol int32 = int32(*(*I64)(unsafe.Pointer(bp + 24)) >> 32)
 				var iTokOff int32 = int32(*(*I64)(unsafe.Pointer(bp + 24)) & int64(0x7FFFFFFF))
@@ -145156,7 +145214,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 {
 
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 {
 		(*Fts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+35310, 0)
+			ts+35357, 0)
 		return SQLITE_ERROR
 	}
 
@@ -145580,7 +145638,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 	(*Fts5Sorter)(unsafe.Pointer(pSorter)).FnIdx = nPhrase
 
 	rc = fts5PrepareStatement(tls, pSorter, pConfig,
-		ts+35349,
+		ts+35396,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			func() uintptr {
 				if zRankArgs != 0 {
@@ -145596,9 +145654,9 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 			}(),
 			func() uintptr {
 				if bDesc != 0 {
-					return ts + 35404
+					return ts + 35451
 				}
-				return ts + 35409
+				return ts + 35456
 			}()))
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter
@@ -145644,12 +145702,12 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr)
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan = FTS5_PLAN_SPECIAL
 
-	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35413, z, n) {
+	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35460, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = I64(sqlite3Fts5IndexReads(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex))
 	} else if n == 2 && 0 == Xsqlite3_strnicmp(tls, ts+5050, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId
 	} else {
-		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35419, libc.VaList(bp, n, z))
+		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35466, libc.VaList(bp, n, z))
 		rc = SQLITE_ERROR
 	}
 
@@ -145680,7 +145738,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs
 
 	if zRankArgs != 0 {
-		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35447, libc.VaList(bp, zRankArgs))
+		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35494, libc.VaList(bp, zRankArgs))
 		if zSql != 0 {
 			*(*uintptr)(unsafe.Pointer(bp + 20)) = uintptr(0)
 			*(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1,
@@ -145711,7 +145769,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 		pAux = fts5FindAuxiliary(tls, pTab, zRank)
 		if pAux == uintptr(0) {
-			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35457, libc.VaList(bp+8, zRank))
+			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35504, libc.VaList(bp+8, zRank))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		}
 	}
@@ -145743,14 +145801,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin
 			*(*int32)(unsafe.Pointer(pCsr + 56)) |= FTS5CSR_FREE_ZRANK
 		} else if rc == SQLITE_ERROR {
 			(*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35478, libc.VaList(bp, z))
+				ts+35525, libc.VaList(bp, z))
 		}
 	} else {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank != 0 {
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRankArgs
 		} else {
-			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33861
+			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33908
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0)
 		}
 	}
@@ -145806,7 +145864,7 @@ func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintp
 		goto __1
 	}
 	(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+35310, 0)
+		ts+35357, 0)
 	return SQLITE_ERROR
 __1:
 	;
@@ -146023,7 +146081,7 @@ __35:
 		goto __40
 	}
 	*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-		ts+35511, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		ts+35558, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	rc = SQLITE_ERROR
 	goto __41
 __40:
@@ -146168,28 +146226,28 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr)
 	var rc int32 = SQLITE_OK
 	*(*int32)(unsafe.Pointer(bp)) = 0
 
-	if 0 == Xsqlite3_stricmp(tls, ts+35547, zCmd) {
+	if 0 == Xsqlite3_stricmp(tls, ts+35594, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			fts5SetVtabError(tls, pTab,
-				ts+35558, 0)
+				ts+35605, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35638, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35685, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE {
 			fts5SetVtabError(tls, pTab,
-				ts+35646, 0)
+				ts+35693, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
 	} else if 0 == Xsqlite3_stricmp(tls, ts+16927, zCmd) {
 		rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35702, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35749, zCmd) {
 		var nMerge int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageMerge(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, nMerge)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35708, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35755, zCmd) {
 		var iArg int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg)
 	} else {
@@ -146260,12 +146318,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p
 
 		if eType0 == SQLITE_INTEGER && fts5IsContentless(tls, pTab) != 0 {
 			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35724,
+				ts+35771,
 				libc.VaList(bp, func() uintptr {
 					if nArg > 1 {
-						return ts + 20422
+						return ts + 20469
 					}
-					return ts + 35761
+					return ts + 35808
 				}(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		} else if nArg == 1 {
@@ -146895,7 +146953,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 
 	pCsr = fts5CursorFromCsrid(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId)
 	if pCsr == uintptr(0) || (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 {
-		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35773, libc.VaList(bp, iCsrId))
+		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35820, libc.VaList(bp, iCsrId))
 		Xsqlite3_result_error(tls, context, zErr, -1)
 		Xsqlite3_free(tls, zErr)
 	} else {
@@ -147139,7 +147197,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 	}())
 	if pMod == uintptr(0) {
 		rc = SQLITE_ERROR
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35794, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35841, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
 	} else {
 		rc = (*struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
@@ -147158,7 +147216,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 		(*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 8
 		if rc != SQLITE_OK {
 			if pzErr != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35816, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35863, 0)
 			}
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls,
@@ -147205,7 +147263,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 	var ppApi uintptr
 	_ = nArg
 
-	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35847)
+	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35894)
 	if ppApi != 0 {
 		*(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal
 	}
@@ -147214,7 +147272,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) {
 	_ = nArg
 	_ = apUnused
-	Xsqlite3_result_text(tls, pCtx, ts+35860, -1, libc.UintptrFromInt32(-1))
+	Xsqlite3_result_text(tls, pCtx, ts+35907, -1, libc.UintptrFromInt32(-1))
 }
 
 func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
@@ -147228,7 +147286,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName2 = [5]uintptr{
-	ts + 35951, ts + 34050, ts + 25049, ts + 34401, ts + 11481,
+	ts + 35998, ts + 34097, ts + 25096, ts + 34448, ts + 11481,
 }
 
 func fts5Init(tls *libc.TLS, db uintptr) int32 {
@@ -147252,7 +147310,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		(*Fts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32
 		}{fts5FindTokenizer}))
-		rc = Xsqlite3_create_module_v2(tls, db, ts+35958, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+36005, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5IndexInit(tls, db)
 		}
@@ -147270,13 +147328,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35958, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+				db, ts+36005, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
 				}{fts5Fts5Func})), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35963, 0,
+				db, ts+36010, 0,
 				SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
 				p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
@@ -147333,17 +147391,17 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p
 
 	if *(*uintptr)(unsafe.Pointer(p + 24 + uintptr(eStmt)*4)) == uintptr(0) {
 		*(*[11]uintptr)(unsafe.Pointer(bp + 128)) = [11]uintptr{
-			ts + 35978,
-			ts + 36046,
-			ts + 36115,
-			ts + 36148,
-			ts + 36187,
-			ts + 36227,
-			ts + 36266,
-			ts + 36307,
-			ts + 36346,
-			ts + 36388,
-			ts + 36428,
+			ts + 36025,
+			ts + 36093,
+			ts + 36162,
+			ts + 36195,
+			ts + 36234,
+			ts + 36274,
+			ts + 36313,
+			ts + 36354,
+			ts + 36393,
+			ts + 36435,
+			ts + 36475,
 		}
 		var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = uintptr(0)
@@ -147445,18 +147503,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 {
 	defer tls.Free(80)
 
 	var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36451,
+		ts+36498,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36555,
+			ts+36602,
 			libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36593,
+			ts+36640,
 			libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	return rc
@@ -147468,7 +147526,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin
 
 	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(pRc)) = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36631,
+			ts+36678,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail))
 	}
 }
@@ -147480,14 +147538,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in
 	var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig
 	*(*int32)(unsafe.Pointer(bp)) = sqlite3Fts5StorageSync(tls, pStorage)
 
-	fts5StorageRenameOne(tls, pConfig, bp, ts+25049, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+25096, zName)
 	fts5StorageRenameOne(tls, pConfig, bp, ts+11481, zName)
-	fts5StorageRenameOne(tls, pConfig, bp, ts+35951, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+35998, zName)
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34401, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34448, zName)
 	}
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34050, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34097, zName)
 	}
 	return *(*int32)(unsafe.Pointer(bp))
 }
@@ -147499,17 +147557,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn
 	var rc int32
 	*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
-	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36673,
+	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36720,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn,
 			func() uintptr {
 				if bWithout != 0 {
-					return ts + 29702
+					return ts + 29749
 				}
 				return ts + 1547
 			}()))
 	if *(*uintptr)(unsafe.Pointer(bp + 64)) != 0 {
 		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-			ts+36703,
+			ts+36750,
 			libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64))))
 		Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
@@ -147546,27 +147604,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre
 			} else {
 				var i int32
 				var iOff int32
-				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36747, 0)
+				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36794, 0)
 				iOff = int32(libc.Xstrlen(tls, zDefn))
 				for i = 0; i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
-					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36770, libc.VaList(bp, i))
+					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36817, libc.VaList(bp, i))
 					iOff = iOff + int32(libc.Xstrlen(tls, zDefn+uintptr(iOff)))
 				}
-				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34050, zDefn, 0, pzErr)
+				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34097, zDefn, 0, pzErr)
 			}
 			Xsqlite3_free(tls, zDefn)
 		}
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+34401, ts+36776, 0, pzErr)
+				pConfig, ts+34448, ts+36823, 0, pzErr)
 		}
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+35951, ts+36808, 1, pzErr)
+				pConfig, ts+35998, ts+36855, 1, pzErr)
 		}
 		if rc == SQLITE_OK {
-			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34547, uintptr(0), FTS5_CURRENT_VERSION)
+			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34594, uintptr(0), FTS5_CURRENT_VERSION)
 		}
 	}
 
@@ -147772,12 +147830,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 	(*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0
 
 	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36825,
+		ts+36872,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36875,
+			ts+36922,
 			libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 
@@ -147785,7 +147843,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 		rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex)
 	}
 	if rc == SQLITE_OK {
-		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34547, uintptr(0), FTS5_CURRENT_VERSION)
+		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34594, uintptr(0), FTS5_CURRENT_VERSION)
 	}
 	return rc
 }
@@ -147961,7 +148019,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr)
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+36904,
+	zSql = Xsqlite3_mprintf(tls, ts+36951,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix))
 	if zSql == uintptr(0) {
 		rc = SQLITE_NOMEM
@@ -148143,14 +148201,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 {
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			*(*I64)(unsafe.Pointer(bp + 36)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34050, bp+36)
+			rc = fts5StorageCount(tls, p, ts+34097, bp+36)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 36)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
 		}
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			*(*I64)(unsafe.Pointer(bp + 44)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34401, bp+44)
+			rc = fts5StorageCount(tls, p, ts+34448, bp+44)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 44)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
@@ -148345,9 +148403,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32,
 			libc.Xmemcpy(tls, p, uintptr(unsafe.Pointer(&aAsciiTokenChar)), uint32(unsafe.Sizeof(aAsciiTokenChar)))
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*4))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36936) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36983) {
 					fts5AsciiAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36947) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36994) {
 					fts5AsciiAddExceptions(tls, p, zArg, 0)
 				} else {
 					rc = SQLITE_ERROR
@@ -148561,7 +148619,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 	} else {
 		p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Unicode61Tokenizer{})))
 		if p != 0 {
-			var zCat uintptr = ts + 36958
+			var zCat uintptr = ts + 37005
 			var i int32
 			libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(Unicode61Tokenizer{})))
 
@@ -148573,7 +148631,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 			}
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36967) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37014) {
 					zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*4))
 				}
 			}
@@ -148584,18 +148642,18 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*4))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36978) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37025) {
 					if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' && int32(*(*int8)(unsafe.Pointer(zArg))) != '2' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 						rc = SQLITE_ERROR
 					} else {
 						(*Unicode61Tokenizer)(unsafe.Pointer(p)).FeRemoveDiacritic = int32(*(*int8)(unsafe.Pointer(zArg))) - '0'
 
 					}
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36936) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36983) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36947) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36994) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 0)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36967) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37014) {
 				} else {
 					rc = SQLITE_ERROR
 				}
@@ -148871,7 +148929,7 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp
 	var rc int32 = SQLITE_OK
 	var pRet uintptr
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
-	var zBase uintptr = ts + 36996
+	var zBase uintptr = ts + 37043
 
 	if nArg > 0 {
 		zBase = *(*uintptr)(unsafe.Pointer(azArg))
@@ -149011,7 +149069,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37006, aBuf+uintptr(nBuf-2), uint32(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37053, aBuf+uintptr(nBuf-2), uint32(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149019,11 +149077,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37009, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37056, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37014, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37061, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -149031,7 +149089,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'e':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37019, aBuf+uintptr(nBuf-2), uint32(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37066, aBuf+uintptr(nBuf-2), uint32(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149039,7 +149097,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37022, aBuf+uintptr(nBuf-2), uint32(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37069, aBuf+uintptr(nBuf-2), uint32(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149047,11 +149105,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37025, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37072, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37030, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37077, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -149059,19 +149117,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37035, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37082, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37039, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37086, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37045, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37092, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37050, aBuf+uintptr(nBuf-3), uint32(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37097, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149079,11 +149137,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'o':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37054, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37101, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37058, aBuf+uintptr(nBuf-2), uint32(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37105, aBuf+uintptr(nBuf-2), uint32(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149091,7 +149149,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 's':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37061, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37108, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149099,11 +149157,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37065, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37112, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37069, aBuf+uintptr(nBuf-3), uint32(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37116, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149111,7 +149169,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37073, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37120, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149119,7 +149177,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37077, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37124, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149127,7 +149185,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37081, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37128, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149143,24 +149201,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37085, aBuf+uintptr(nBuf-2), uint32(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37065, uint32(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37132, aBuf+uintptr(nBuf-2), uint32(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37112, uint32(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'b':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37088, aBuf+uintptr(nBuf-2), uint32(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37091, uint32(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37135, aBuf+uintptr(nBuf-2), uint32(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37138, uint32(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37095, aBuf+uintptr(nBuf-2), uint32(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37081, uint32(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37142, aBuf+uintptr(nBuf-2), uint32(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37128, uint32(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
@@ -149175,44 +149233,44 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37098, aBuf+uintptr(nBuf-7), uint32(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37145, aBuf+uintptr(nBuf-7), uint32(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37065, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37112, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37106, aBuf+uintptr(nBuf-6), uint32(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37153, aBuf+uintptr(nBuf-6), uint32(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37113, uint32(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37160, uint32(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 4
 			}
 		}
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37118, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37165, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37014, uint32(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37061, uint32(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37123, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37170, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37009, uint32(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37056, uint32(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
 		}
 		break
 
 	case 'e':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37128, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37175, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37081, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37128, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 'g':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37133, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37180, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+15473, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
@@ -149221,91 +149279,91 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37138, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37185, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37091, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37138, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37142, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37189, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37006, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37053, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37147, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37194, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37050, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37097, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37153, aBuf+uintptr(nBuf-3), uint32(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37200, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37157, uint32(1))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37204, uint32(1))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 1
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37159, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37206, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37073, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37120, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
 		}
 		break
 
 	case 'o':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37165, aBuf+uintptr(nBuf-7), uint32(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37212, aBuf+uintptr(nBuf-7), uint32(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37081, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37128, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37173, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37220, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37065, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37112, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37179, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37226, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37065, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37112, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37184, aBuf+uintptr(nBuf-5), uint32(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37231, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37006, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37053, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37190, aBuf+uintptr(nBuf-7), uint32(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37237, aBuf+uintptr(nBuf-7), uint32(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37077, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37124, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37198, aBuf+uintptr(nBuf-7), uint32(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37245, aBuf+uintptr(nBuf-7), uint32(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37206, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37253, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37210, aBuf+uintptr(nBuf-7), uint32(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37257, aBuf+uintptr(nBuf-7), uint32(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37073, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37120, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
 		}
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37218, aBuf+uintptr(nBuf-5), uint32(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37265, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37006, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37053, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37224, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37271, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37077, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37124, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37230, aBuf+uintptr(nBuf-6), uint32(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37277, aBuf+uintptr(nBuf-6), uint32(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37091, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37138, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 3
 			}
 		}
@@ -149320,16 +149378,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37237, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37284, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37022, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37069, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37242, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37289, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -149337,21 +149395,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37247, aBuf+uintptr(nBuf-5), uint32(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37294, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37022, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37069, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37253, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37300, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37022, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37069, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37206, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37253, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149359,7 +149417,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37259, aBuf+uintptr(nBuf-5), uint32(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37306, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
@@ -149367,9 +149425,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37265, aBuf+uintptr(nBuf-5), uint32(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37312, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37006, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37053, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
@@ -149384,12 +149442,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'e':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37271, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37318, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37275, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37322, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 2
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37278, aBuf+uintptr(nBuf-2), uint32(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37325, aBuf+uintptr(nBuf-2), uint32(2)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 				ret = 1
@@ -149398,7 +149456,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37281, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37328, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 				ret = 1
@@ -149554,7 +149612,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp
 		(*TrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = 1
 		for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 			var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*4))
-			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37285) {
+			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37332) {
 				if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 					rc = SQLITE_ERROR
 				} else {
@@ -149734,22 +149792,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(64)
 
 	*(*[4]BuiltinTokenizer)(unsafe.Pointer(bp)) = [4]BuiltinTokenizer{
-		{FzName: ts + 36996, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37043, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5UnicodeCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5UnicodeDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5UnicodeTokenize}))}},
-		{FzName: ts + 37300, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37347, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5AsciiCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5AsciiDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5AsciiTokenize}))}},
-		{FzName: ts + 37306, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37353, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5PorterCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5PorterDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5PorterTokenize}))}},
-		{FzName: ts + 37313, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37360, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5TriCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5TriDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
@@ -150888,14 +150946,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint
 	var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8, zType, -1)
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		sqlite3Fts5Dequote(tls, zCopy)
-		if Xsqlite3_stricmp(tls, zCopy, ts+37321) == 0 {
+		if Xsqlite3_stricmp(tls, zCopy, ts+37368) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37325) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37372) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37329) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37376) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37338, libc.VaList(bp, zCopy))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37385, libc.VaList(bp, zCopy))
 			*(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_ERROR
 		}
 		Xsqlite3_free(tls, zCopy)
@@ -150921,19 +150979,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	defer tls.Free(20)
 
 	*(*[3]uintptr)(unsafe.Pointer(bp + 4)) = [3]uintptr{
-		ts + 37372,
-		ts + 37412,
-		ts + 37447,
+		ts + 37419,
+		ts + 37459,
+		ts + 37494,
 	}
 
 	var pRet uintptr = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_OK
 	var bDb int32
 
-	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) == Size_t(4) && libc.Xmemcmp(tls, ts+23345, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uint32(4)) == 0)
+	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) == Size_t(4) && libc.Xmemcmp(tls, ts+23392, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uint32(4)) == 0)
 
 	if argc != 5 && bDb == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37490, 0)
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37537, 0)
 		*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 	} else {
 		var nByte int32
@@ -151066,11 +151124,11 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 
 	if (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 {
 		(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+37523, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+			ts+37570, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 		return SQLITE_ERROR
 	}
 	zSql = sqlite3Fts5Mprintf(tls, bp+64,
-		ts+37554,
+		ts+37601,
 		libc.VaList(bp+16, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 64)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+68, uintptr(0))
@@ -151094,7 +151152,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 			*(*uintptr)(unsafe.Pointer(bp + 68)) = uintptr(0)
 			if *(*int32)(unsafe.Pointer(bp + 64)) == SQLITE_OK {
 				(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-					ts+37605, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+					ts+37652, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 				*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 			}
 		} else {
@@ -151489,7 +151547,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32
 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 {
 	var p uintptr = pGlobal
 
-	return Xsqlite3_create_module_v2(tls, db, ts+37631, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
+	return Xsqlite3_create_module_v2(tls, db, ts+37678, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
 }
 
 var fts5Vocab = Sqlite3_module{
@@ -151511,7 +151569,7 @@ var fts5Vocab = Sqlite3_module{
 // ************* End of stmt.c ***********************************************
 // Return the source-id for this library
 func Xsqlite3_sourceid(tls *libc.TLS) uintptr {
-	return ts + 37641
+	return ts + 37688
 }
 
 func init() {
@@ -152485,5 +152543,5 @@ func init() {
 	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 68)) = rbuVfsGetLastError
 }
 
-var ts1 = "3.41.0\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-13.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00"
+var ts1 = "3.41.2\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-13.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00"
 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go
index 7f59008b..2577d425 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_freebsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_freebsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
@@ -748,11 +748,11 @@ const (
 	NC_OrderAgg                           = 0x8000000
 	NC_PartIdx                            = 0x000002
 	NC_SelfRef                            = 0x00002e
+	NC_Subquery                           = 0x000040
 	NC_UAggInfo                           = 0x000100
 	NC_UBaseReg                           = 0x000400
 	NC_UEList                             = 0x000080
 	NC_UUpsert                            = 0x000200
-	NC_VarSelect                          = 0x000040
 	NDEBUG                                = 1
 	NETGRAPHDISC                          = 6
 	NN                                    = 1
@@ -1958,7 +1958,7 @@ const (
 	SQLITE_SHM_UNLOCK                     = 1
 	SQLITE_SORTER_PMASZ                   = 250
 	SQLITE_SOUNDEX                        = 1
-	SQLITE_SOURCE_ID                      = "2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d"
+	SQLITE_SOURCE_ID                      = "2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da"
 	SQLITE_SO_ASC                         = 0
 	SQLITE_SO_DESC                        = 1
 	SQLITE_SO_UNDEFINED                   = -1
@@ -2066,8 +2066,8 @@ const (
 	SQLITE_UTF8                           = 1
 	SQLITE_VDBEINT_H                      = 0
 	SQLITE_VDBE_H                         = 0
-	SQLITE_VERSION                        = "3.41.0"
-	SQLITE_VERSION_NUMBER                 = 3041000
+	SQLITE_VERSION                        = "3.41.2"
+	SQLITE_VERSION_NUMBER                 = 3041002
 	SQLITE_VTABRISK_High                  = 2
 	SQLITE_VTABRISK_Low                   = 0
 	SQLITE_VTABRISK_Normal                = 1
@@ -5299,7 +5299,8 @@ type IndexedExpr1 = struct {
 	FiIdxCur       int32
 	FiIdxCol       int32
 	FbMaybeNullRow U8
-	F__ccgo_pad1   [3]byte
+	Faff           U8
+	F__ccgo_pad1   [2]byte
 	FpIENext       uintptr
 }
 
@@ -5941,17 +5942,18 @@ type Pager = Pager1
 
 // Handle type for pages.
 type PgHdr2 = struct {
-	FpPage      uintptr
-	FpData      uintptr
-	FpExtra     uintptr
-	FpCache     uintptr
-	FpDirty     uintptr
-	FpPager     uintptr
-	Fpgno       Pgno
-	Fflags      U16
-	FnRef       I16
-	FpDirtyNext uintptr
-	FpDirtyPrev uintptr
+	FpPage       uintptr
+	FpData       uintptr
+	FpExtra      uintptr
+	FpCache      uintptr
+	FpDirty      uintptr
+	FpPager      uintptr
+	Fpgno        Pgno
+	Fflags       U16
+	F__ccgo_pad1 [2]byte
+	FnRef        I64
+	FpDirtyNext  uintptr
+	FpDirtyPrev  uintptr
 }
 
 // Handle type for pages.
@@ -6172,14 +6174,14 @@ type PCache2 = struct {
 	FpDirty      uintptr
 	FpDirtyTail  uintptr
 	FpSynced     uintptr
-	FnRefSum     int32
+	FnRefSum     I64
 	FszCache     int32
 	FszSpill     int32
 	FszPage      int32
 	FszExtra     int32
 	FbPurgeable  U8
 	FeCreate     U8
-	F__ccgo_pad1 [2]byte
+	F__ccgo_pad1 [6]byte
 	FxStress     uintptr
 	FpStress     uintptr
 	FpCache      uintptr
@@ -6986,7 +6988,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
 	_ = pMutex
 
 	if op < 0 || op >= int32(uint64(unsafe.Sizeof([10]Sqlite3StatValueType{}))/uint64(unsafe.Sizeof(Sqlite3StatValueType(0)))) {
-		return Xsqlite3MisuseError(tls, 23229)
+		return Xsqlite3MisuseError(tls, 23233)
 	}
 	if statMutex[op] != 0 {
 		pMutex = Xsqlite3Pcache1Mutex(tls)
@@ -15156,7 +15158,7 @@ func closePendingFds(tls *libc.TLS, pFile uintptr) {
 
 	for p = (*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused; p != 0; p = pNext {
 		pNext = (*UnixUnusedFd)(unsafe.Pointer(p)).FpNext
-		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38271)
+		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38275)
 		Xsqlite3_free(tls, p)
 	}
 	(*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused = uintptr(0)
@@ -15633,7 +15635,7 @@ func closeUnixFile(tls *libc.TLS, id uintptr) int32 {
 	var pFile uintptr = id
 	unixUnmapfile(tls, pFile)
 	if (*UnixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
-		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39055)
+		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39059)
 		(*UnixFile)(unsafe.Pointer(pFile)).Fh = -1
 	}
 
@@ -15924,7 +15926,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 {
 	if fd >= 0 {
 		return SQLITE_OK
 	}
-	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40676), ts+3371, bp+8, 40676)
+	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40680), ts+3371, bp+8, 40680)
 }
 
 func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
@@ -15941,14 +15943,14 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
 
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3659, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40717)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3659, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40721)
 	}
 
 	if int32((*UnixFile)(unsafe.Pointer(pFile)).FctrlFlags)&UNIXFILE_DIRSYNC != 0 {
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, bp)
 		if rc == SQLITE_OK {
 			full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0)
-			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40731)
+			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40735)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -15968,7 +15970,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 {
 	rc = robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte)
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40762)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40766)
 	} else {
 		if nByte < (*UnixFile)(unsafe.Pointer(pFile)).FmmapSize {
 			(*UnixFile)(unsafe.Pointer(pFile)).FmmapSize = nByte
@@ -16036,7 +16038,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 {
 		if (*UnixFile)(unsafe.Pointer(pFile)).FszChunk <= 0 {
 			if robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte) != 0 {
 				storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
-				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40883)
+				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40887)
 			}
 		}
 
@@ -16263,7 +16265,7 @@ func unixShmPurge(tls *libc.TLS, pFd uintptr) {
 		}
 		Xsqlite3_free(tls, (*UnixShmNode)(unsafe.Pointer(p)).FapRegion)
 		if (*UnixShmNode)(unsafe.Pointer(p)).FhShm >= 0 {
-			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41442)
+			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41446)
 			(*UnixShmNode)(unsafe.Pointer(p)).FhShm = -1
 		}
 		(*UnixInodeInfo)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0)
@@ -16291,7 +16293,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32
 			rc = unixShmSystemLock(tls, pDbFd, F_WRLCK, (22+SQLITE_SHM_NLOCK)*4+SQLITE_SHM_NLOCK, 1)
 
 			if rc == SQLITE_OK && robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3290, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41499)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3290, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41503)
 			}
 		}
 	} else if int32((*flock)(unsafe.Pointer(bp+8)).Fl_type) == F_WRLCK {
@@ -16390,7 +16392,7 @@ __8:
 	if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) {
 		goto __10
 	}
-	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41624), ts+3254, zShm, 41624)
+	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41628), ts+3254, zShm, 41628)
 	goto shm_open_err
 __10:
 	;
@@ -16520,7 +16522,7 @@ __11:
 		goto __14
 	}
 	zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3325, zFile, 41768)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3325, zFile, 41772)
 	goto shmpage_out
 __14:
 	;
@@ -16566,7 +16568,7 @@ __16:
 	if !(pMem == libc.UintptrFromInt32(-1)) {
 		goto __20
 	}
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3412, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41795)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3412, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41799)
 	goto shmpage_out
 __20:
 	;
@@ -16805,7 +16807,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) {
 	if pNew == libc.UintptrFromInt32(-1) {
 		pNew = uintptr(0)
 		nNew = int64(0)
-		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42169)
+		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42173)
 
 		(*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeMax = int64(0)
 	}
@@ -16939,7 +16941,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 		unixEnterMutex(tls)
 		rc = findInodeInfo(tls, pNew, pNew+16)
 		if rc != SQLITE_OK {
-			robust_close(tls, pNew, h, 42672)
+			robust_close(tls, pNew, h, 42676)
 			h = -1
 		}
 		unixLeaveMutex(tls)
@@ -16960,7 +16962,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 	storeLastErrno(tls, pNew, 0)
 	if rc != SQLITE_OK {
 		if h >= 0 {
-			robust_close(tls, pNew, h, 42757)
+			robust_close(tls, pNew, h, 42761)
 		}
 	} else {
 		(*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle
@@ -17276,7 +17278,7 @@ __15:
 	if !(fd < 0) {
 		goto __19
 	}
-	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43198), ts+3254, zName, 43198)
+	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43202), ts+3254, zName, 43202)
 	if !(rc == SQLITE_OK) {
 		goto __20
 	}
@@ -17367,7 +17369,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		if *(*int32)(unsafe.Pointer(libc.X__error(tls))) == ENOENT {
 			rc = SQLITE_IOERR | int32(23)<<8
 		} else {
-			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3364, zPath, 43337)
+			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3364, zPath, 43341)
 		}
 		return rc
 	}
@@ -17375,9 +17377,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, zPath, bp)
 		if rc == SQLITE_OK {
 			if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3781, zPath, 43347)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3781, zPath, 43351)
 			}
-			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43349)
+			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43353)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -17441,18 +17443,18 @@ func appendOnePathElement(tls *libc.TLS, pPath uintptr, zName uintptr, nName int
 		zIn = (*DbPath)(unsafe.Pointer(pPath)).FzOut
 		if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8)))(tls, zIn, bp) != 0 {
 			if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != ENOENT {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43443), ts+3452, zIn, 43443)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43447), ts+3452, zIn, 43447)
 			}
 		} else if int32((*stat)(unsafe.Pointer(bp)).Fst_mode)&0170000 == 0120000 {
 			var got Ssize_t
 
 			if libc.PostIncInt32(&(*DbPath)(unsafe.Pointer(pPath)).FnSymlink, 1) > SQLITE_MAX_SYMLINK {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43449)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43453)
 				return
 			}
 			got = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls, zIn, bp+224, uint64(unsafe.Sizeof([1026]int8{}))-uint64(2))
 			if got <= int64(0) || got >= Ssize_t(unsafe.Sizeof([1026]int8{}))-int64(2) {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43454), ts+3443, zIn, 43454)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43458), ts+3443, zIn, 43458)
 				return
 			}
 			*(*int8)(unsafe.Pointer(bp + 224 + uintptr(got))) = int8(0)
@@ -17492,14 +17494,14 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO
 	(*DbPath)(unsafe.Pointer(bp + 1032)).FzOut = zOut
 	if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' {
 		if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, bp, uint64(unsafe.Sizeof([1026]int8{}))-uint64(2)) == uintptr(0) {
-			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43512), ts+3272, zPath, 43512)
+			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43516), ts+3272, zPath, 43516)
 		}
 		appendAllPathElements(tls, bp+1032, bp)
 	}
 	appendAllPathElements(tls, bp+1032, zPath)
 	*(*int8)(unsafe.Pointer(zOut + uintptr((*DbPath)(unsafe.Pointer(bp+1032)).FnUsed))) = int8(0)
 	if (*DbPath)(unsafe.Pointer(bp+1032)).Frc != 0 || (*DbPath)(unsafe.Pointer(bp+1032)).FnUsed < 2 {
-		return Xsqlite3CantopenError(tls, 43518)
+		return Xsqlite3CantopenError(tls, 43522)
 	}
 	if (*DbPath)(unsafe.Pointer(bp+1032)).FnSymlink != 0 {
 		return SQLITE_OK | int32(2)<<8
@@ -17596,7 +17598,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in
 			for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__error(tls))) == EINTR {
 				got = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*24 + 8)))(tls, fd, zBuf, uint64(nBuf)))
 			}
-			robust_close(tls, uintptr(0), fd, 43619)
+			robust_close(tls, uintptr(0), fd, 43623)
 		}
 
 	}
@@ -19029,7 +19031,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 	libc.Xmemset(tls, pPgHdr+32, 0, uint64(unsafe.Sizeof(PgHdr{}))-uint64(uintptr(0)+32))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpPage = pPage
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpData = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpBuf
-	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*72
+	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*80
 	libc.Xmemset(tls, (*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra, 0, uint64(8))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpCache = pCache
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).Fpgno = pgno
@@ -19059,7 +19061,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 // reference count drops to 0, then it is made eligible for recycling.
 func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) {
 	(*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum--
-	if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 {
+	if libc.PreDecInt64(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1) == int64(0) {
 		if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_CLEAN != 0 {
 			pcacheUnpin(tls, p)
 		} else {
@@ -19110,7 +19112,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) {
 	*(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE))
 	*(*U16)(unsafe.Pointer(p + 52)) |= U16(PGHDR_CLEAN)
 
-	if int32((*PgHdr)(unsafe.Pointer(p)).FnRef) == 0 {
+	if (*PgHdr)(unsafe.Pointer(p)).FnRef == int64(0) {
 		pcacheUnpin(tls, p)
 	}
 }
@@ -19214,8 +19216,8 @@ func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) {
 }
 
 func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr {
-	bp := tls.Alloc(72)
-	defer tls.Free(72)
+	bp := tls.Alloc(80)
+	defer tls.Free(80)
 
 	var pTail uintptr
 	pTail = bp
@@ -19293,13 +19295,13 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr {
 //
 // This is not the total number of pages referenced, but the sum of the
 // reference count for all pages.
-func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 {
+func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) I64 {
 	return (*PCache)(unsafe.Pointer(pCache)).FnRefSum
 }
 
 // Return the number of references to the page supplied as an argument.
-func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 {
-	return int32((*PgHdr)(unsafe.Pointer(p)).FnRef)
+func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) I64 {
+	return (*PgHdr)(unsafe.Pointer(p)).FnRef
 }
 
 // Return the total number of pages in the cache.
@@ -21593,7 +21595,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 {
 
 	pPg = Xsqlite3PagerLookup(tls, pPager, iPg)
 	if pPg != 0 {
-		if Xsqlite3PcachePageRefcount(tls, pPg) == 1 {
+		if Xsqlite3PcachePageRefcount(tls, pPg) == int64(1) {
 			Xsqlite3PcacheDrop(tls, pPg)
 		} else {
 			rc = readDbPage(tls, pPg)
@@ -22026,7 +22028,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr,
 	var pageSize U32 = *(*U32)(unsafe.Pointer(pPageSize))
 
 	if (int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) == 0 || (*Pager)(unsafe.Pointer(pPager)).FdbSize == Pgno(0)) &&
-		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 &&
+		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) &&
 		pageSize != 0 && pageSize != U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) {
 		var pNew uintptr = uintptr(0)
 		*(*I64)(unsafe.Pointer(bp)) = int64(0)
@@ -22178,9 +22180,9 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr
 			Xsqlite3OsUnfetch(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, I64(pgno-Pgno(1))*(*Pager)(unsafe.Pointer(pPager)).FpageSize, pData)
 			return SQLITE_NOMEM
 		}
-		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*72
+		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*80
 		(*PgHdr)(unsafe.Pointer(p)).Fflags = U16(PGHDR_MMAP)
-		(*PgHdr)(unsafe.Pointer(p)).FnRef = int16(1)
+		(*PgHdr)(unsafe.Pointer(p)).FnRef = int64(1)
 		(*PgHdr)(unsafe.Pointer(p)).FpPager = pPager
 	}
 
@@ -22512,7 +22514,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 {
 
 		for rc == SQLITE_OK && pList != 0 {
 			var pNext uintptr = (*PgHdr)(unsafe.Pointer(pList)).FpDirty
-			if int32((*PgHdr)(unsafe.Pointer(pList)).FnRef) == 0 {
+			if (*PgHdr)(unsafe.Pointer(pList)).FnRef == int64(0) {
 				rc = pagerStress(tls, pPager, pList)
 			}
 			pList = pNext
@@ -22662,7 +22664,7 @@ __11:
 		goto __12
 	}
 
-	rc = Xsqlite3CantopenError(tls, 60235)
+	rc = Xsqlite3CantopenError(tls, 60239)
 __12:
 	;
 	if !(rc != SQLITE_OK) {
@@ -23043,7 +23045,7 @@ __7:
 	if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) {
 		goto __10
 	}
-	rc = Xsqlite3CantopenError(tls, 60754)
+	rc = Xsqlite3CantopenError(tls, 60758)
 	Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd)
 __10:
 	;
@@ -23149,7 +23151,7 @@ __24:
 }
 
 func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) {
-	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 {
+	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) {
 		pagerUnlockAndRollback(tls, pPager)
 	}
 }
@@ -23167,7 +23169,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla
 	if !(pgno == Pgno(0)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 60967)
+	return Xsqlite3CorruptError(tls, 60971)
 __1:
 	;
 	*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3)
@@ -23206,7 +23208,7 @@ __5:
 	if !(pgno == (*Pager)(unsafe.Pointer(pPager)).FlckPgno) {
 		goto __7
 	}
-	rc = Xsqlite3CorruptError(tls, 60999)
+	rc = Xsqlite3CorruptError(tls, 61003)
 	goto pager_acquire_err
 __7:
 	;
@@ -23283,7 +23285,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags
 		(int32((*Pager)(unsafe.Pointer(pPager)).FeState) == PAGER_READER || flags&PAGER_GET_READONLY != 0))
 
 	if pgno <= Pgno(1) && pgno == Pgno(0) {
-		return Xsqlite3CorruptError(tls, 61078)
+		return Xsqlite3CorruptError(tls, 61082)
 	}
 
 	if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
@@ -24041,7 +24043,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 {
 
 // Return the number of references to the specified page.
 func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 {
-	return Xsqlite3PcachePageRefcount(tls, pPage)
+	return int32(Xsqlite3PcachePageRefcount(tls, pPage))
 }
 
 // Parameter eStat must be one of SQLITE_DBSTATUS_CACHE_HIT, _MISS, _WRITE,
@@ -24284,9 +24286,9 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno
 	pPgOld = Xsqlite3PagerLookup(tls, pPager, pgno)
 
 	if pPgOld != 0 {
-		if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 {
+		if (*PgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
 			Xsqlite3PagerUnrefNotNull(tls, pPgOld)
-			return Xsqlite3CorruptError(tls, 62623)
+			return Xsqlite3CorruptError(tls, 62627)
 		}
 		*(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC)
 		if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 {
@@ -25043,7 +25045,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 {
 		nCollide = idx
 		for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) {
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 64387)
+				return Xsqlite3CorruptError(tls, 64391)
 			}
 		}
 		*(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaPgno + uintptr(idx-1)*4)) = iPage
@@ -25142,7 +25144,7 @@ __6:
 	if !(version != U32(WAL_MAX_VERSION)) {
 		goto __7
 	}
-	rc = Xsqlite3CantopenError(tls, 64519)
+	rc = Xsqlite3CantopenError(tls, 64523)
 	goto finished
 __7:
 	;
@@ -25728,7 +25730,7 @@ __10:
 		goto __14
 	}
 
-	rc = Xsqlite3CorruptError(tls, 65333)
+	rc = Xsqlite3CorruptError(tls, 65337)
 	goto __15
 __14:
 	Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16)
@@ -26003,7 +26005,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 {
 	}
 
 	if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) {
-		rc = Xsqlite3CantopenError(tls, 65682)
+		rc = Xsqlite3CantopenError(tls, 65686)
 	}
 	if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
 		if rc != SQLITE_OK {
@@ -26476,7 +26478,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr
 				iRead = iFrame
 			}
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 66419)
+				return Xsqlite3CorruptError(tls, 66423)
 			}
 			iKey = walNextHash(tls, iKey)
 		}
@@ -26981,7 +26983,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
 
 	if rc == SQLITE_OK {
 		if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf {
-			rc = Xsqlite3CorruptError(tls, 67138)
+			rc = Xsqlite3CorruptError(tls, 67142)
 		} else {
 			rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
 		}
@@ -27639,7 +27641,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32
 		}
 		Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
 		if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
-			rc = Xsqlite3CorruptError(tls, 69249)
+			rc = Xsqlite3CorruptError(tls, 69253)
 		} else {
 			rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
 		}
@@ -27776,7 +27778,7 @@ __1:
 	if !(key == Pgno(0)) {
 		goto __2
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69430)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69434)
 	return
 __2:
 	;
@@ -27793,7 +27795,7 @@ __3:
 		goto __4
 	}
 
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69443)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69447)
 	goto ptrmap_exit
 __4:
 	;
@@ -27801,7 +27803,7 @@ __4:
 	if !(offset < 0) {
 		goto __5
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69448)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69452)
 	goto ptrmap_exit
 __5:
 	;
@@ -27844,7 +27846,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 	offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1)))
 	if offset < 0 {
 		Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
-		return Xsqlite3CorruptError(tls, 69493)
+		return Xsqlite3CorruptError(tls, 69497)
 	}
 
 	*(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
@@ -27854,7 +27856,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 
 	Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
 	if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 {
-		return Xsqlite3CorruptError(tls, 69501)
+		return Xsqlite3CorruptError(tls, 69505)
 	}
 	return SQLITE_OK
 }
@@ -28104,7 +28106,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr,
 	if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 		var ovfl Pgno
 		if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) {
-			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69893)
+			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69897)
 			return
 		}
 		ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4))
@@ -28151,7 +28153,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 {
 	if !(iFree > usableSize-4) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 69951)
+	return Xsqlite3CorruptError(tls, 69955)
 __2:
 	;
 	if !(iFree != 0) {
@@ -28161,7 +28163,7 @@ __2:
 	if !(iFree2 > usableSize-4) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 69954)
+	return Xsqlite3CorruptError(tls, 69958)
 __4:
 	;
 	if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) {
@@ -28174,7 +28176,7 @@ __4:
 	if !(top >= iFree) {
 		goto __6
 	}
-	return Xsqlite3CorruptError(tls, 69962)
+	return Xsqlite3CorruptError(tls, 69966)
 __6:
 	;
 	if !(iFree2 != 0) {
@@ -28183,14 +28185,14 @@ __6:
 	if !(iFree+sz > iFree2) {
 		goto __9
 	}
-	return Xsqlite3CorruptError(tls, 69965)
+	return Xsqlite3CorruptError(tls, 69969)
 __9:
 	;
 	sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1)))
 	if !(iFree2+sz2 > usableSize) {
 		goto __10
 	}
-	return Xsqlite3CorruptError(tls, 69967)
+	return Xsqlite3CorruptError(tls, 69971)
 __10:
 	;
 	libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz)))
@@ -28200,7 +28202,7 @@ __7:
 	if !(iFree+sz > usableSize) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 69971)
+	return Xsqlite3CorruptError(tls, 69975)
 __11:
 	;
 __8:
@@ -28264,7 +28266,7 @@ __19:
 	if !(pc < iCellStart || pc > iCellLast) {
 		goto __22
 	}
-	return Xsqlite3CorruptError(tls, 70004)
+	return Xsqlite3CorruptError(tls, 70008)
 __22:
 	;
 	size = int32((*struct {
@@ -28274,7 +28276,7 @@ __22:
 	if !(cbrk < iCellStart || pc+size > usableSize) {
 		goto __23
 	}
-	return Xsqlite3CorruptError(tls, 70010)
+	return Xsqlite3CorruptError(tls, 70014)
 __23:
 	;
 	*(*U8)(unsafe.Pointer(pAddr1)) = U8(cbrk >> 8)
@@ -28296,7 +28298,7 @@ defragment_out:
 	if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) {
 		goto __24
 	}
-	return Xsqlite3CorruptError(tls, 70024)
+	return Xsqlite3CorruptError(tls, 70028)
 __24:
 	;
 	*(*uint8)(unsafe.Pointer(data + uintptr(hdr+5))) = U8(cbrk >> 8)
@@ -28331,7 +28333,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 				*(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x)))
 				return aData + uintptr(pc)
 			} else if x+pc > maxPC {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70081)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70085)
 				return uintptr(0)
 			} else {
 				*(*U8)(unsafe.Pointer(aData + uintptr(pc+2))) = U8(x >> 8)
@@ -28344,13 +28346,13 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 		pc = int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1)))
 		if pc <= iAddr {
 			if pc != 0 {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70096)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70100)
 			}
 			return uintptr(0)
 		}
 	}
 	if pc > maxPC+nByte-4 {
-		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70103)
+		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70107)
 	}
 	return uintptr(0)
 }
@@ -28375,7 +28377,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 		if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) {
 			top = 65536
 		} else {
-			return Xsqlite3CorruptError(tls, 70152)
+			return Xsqlite3CorruptError(tls, 70156)
 		}
 	}
 
@@ -28386,7 +28388,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 
 			*(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1))
 			if g2 <= gap {
-				return Xsqlite3CorruptError(tls, 70170)
+				return Xsqlite3CorruptError(tls, 70174)
 			} else {
 				return SQLITE_OK
 			}
@@ -28438,22 +28440,22 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 				if int32(iFreeBlk) == 0 {
 					break
 				}
-				return Xsqlite3CorruptError(tls, 70249)
+				return Xsqlite3CorruptError(tls, 70253)
 			}
 			iPtr = iFreeBlk
 		}
 		if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) {
-			return Xsqlite3CorruptError(tls, 70254)
+			return Xsqlite3CorruptError(tls, 70258)
 		}
 
 		if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) {
 			nFrag = U8(U32(iFreeBlk) - iEnd)
 			if iEnd > U32(iFreeBlk) {
-				return Xsqlite3CorruptError(tls, 70266)
+				return Xsqlite3CorruptError(tls, 70270)
 			}
 			iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1)))))
 			if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-				return Xsqlite3CorruptError(tls, 70269)
+				return Xsqlite3CorruptError(tls, 70273)
 			}
 			iSize = U16(iEnd - U32(iStart))
 			iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1))))
@@ -28463,7 +28465,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1))))
 			if iPtrEnd+3 >= int32(iStart) {
 				if iPtrEnd > int32(iStart) {
-					return Xsqlite3CorruptError(tls, 70282)
+					return Xsqlite3CorruptError(tls, 70286)
 				}
 				nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd))
 				iSize = U16(iEnd - U32(iPtr))
@@ -28471,7 +28473,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			}
 		}
 		if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) {
-			return Xsqlite3CorruptError(tls, 70288)
+			return Xsqlite3CorruptError(tls, 70292)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag))
 	}
@@ -28479,10 +28481,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 	x = U16(int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1))))
 	if int32(iStart) <= int32(x) {
 		if int32(iStart) < int32(x) {
-			return Xsqlite3CorruptError(tls, 70297)
+			return Xsqlite3CorruptError(tls, 70301)
 		}
 		if int32(iPtr) != int32(hdr)+1 {
-			return Xsqlite3CorruptError(tls, 70298)
+			return Xsqlite3CorruptError(tls, 70302)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8)
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk)
@@ -28542,7 +28544,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70357)
+			return Xsqlite3CorruptError(tls, 70361)
 		}
 	} else {
 		(*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize = U8(4)
@@ -28578,7 +28580,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70381)
+			return Xsqlite3CorruptError(tls, 70385)
 		}
 	}
 	return SQLITE_OK
@@ -28608,11 +28610,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 		var next U32
 		var size U32
 		if pc < top {
-			return Xsqlite3CorruptError(tls, 70432)
+			return Xsqlite3CorruptError(tls, 70436)
 		}
 		for 1 != 0 {
 			if pc > iCellLast {
-				return Xsqlite3CorruptError(tls, 70437)
+				return Xsqlite3CorruptError(tls, 70441)
 			}
 			next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1))))
 			size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1))))
@@ -28623,15 +28625,15 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 			pc = int32(next)
 		}
 		if next > U32(0) {
-			return Xsqlite3CorruptError(tls, 70447)
+			return Xsqlite3CorruptError(tls, 70451)
 		}
 		if U32(pc)+size > uint32(usableSize) {
-			return Xsqlite3CorruptError(tls, 70451)
+			return Xsqlite3CorruptError(tls, 70455)
 		}
 	}
 
 	if nFree > usableSize || nFree < iCellFirst {
-		return Xsqlite3CorruptError(tls, 70463)
+		return Xsqlite3CorruptError(tls, 70467)
 	}
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst))
 	return SQLITE_OK
@@ -28659,14 +28661,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 {
 		pc = int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2) + 1)))
 
 		if pc < iCellFirst || pc > iCellLast {
-			return Xsqlite3CorruptError(tls, 70494)
+			return Xsqlite3CorruptError(tls, 70498)
 		}
 		sz = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
 		})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc)))
 
 		if pc+sz > usableSize {
-			return Xsqlite3CorruptError(tls, 70499)
+			return Xsqlite3CorruptError(tls, 70503)
 		}
 	}
 	return SQLITE_OK
@@ -28680,7 +28682,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 	data = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 {
-		return Xsqlite3CorruptError(tls, 70531)
+		return Xsqlite3CorruptError(tls, 70535)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1))
@@ -28692,7 +28694,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1))))
 	if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) {
-		return Xsqlite3CorruptError(tls, 70545)
+		return Xsqlite3CorruptError(tls, 70549)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = -1
@@ -28795,7 +28797,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	rc = Xsqlite3CorruptError(tls, 70700)
+	rc = Xsqlite3CorruptError(tls, 70704)
 	goto getAndInitPage_error1
 __1:
 	;
@@ -28823,7 +28825,7 @@ __3:
 	if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) {
 		goto __5
 	}
-	rc = Xsqlite3CorruptError(tls, 70721)
+	rc = Xsqlite3CorruptError(tls, 70725)
 	goto getAndInitPage_error2
 __5:
 	;
@@ -28862,7 +28864,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 {
 			releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
 			*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
-			return Xsqlite3CorruptError(tls, 70787)
+			return Xsqlite3CorruptError(tls, 70791)
 		}
 		(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0)
 	} else {
@@ -29745,7 +29747,7 @@ __16:
 	if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) {
 		goto __18
 	}
-	rc = Xsqlite3CorruptError(tls, 71722)
+	rc = Xsqlite3CorruptError(tls, 71726)
 	goto page1_init_failed
 	goto __19
 __18:
@@ -30160,7 +30162,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 	if int32(eType) == PTRMAP_OVERFLOW2 {
 		if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
-			return Xsqlite3CorruptError(tls, 72143)
+			return Xsqlite3CorruptError(tls, 72147)
 		}
 		Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo)
 	} else {
@@ -30186,7 +30188,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp)
 				if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 					if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-						return Xsqlite3CorruptError(tls, 72162)
+						return Xsqlite3CorruptError(tls, 72166)
 					}
 					if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) {
 						Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo)
@@ -30195,7 +30197,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				}
 			} else {
 				if pCell+uintptr(4) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-					return Xsqlite3CorruptError(tls, 72171)
+					return Xsqlite3CorruptError(tls, 72175)
 				}
 				if Xsqlite3Get4byte(tls, pCell) == iFrom {
 					Xsqlite3Put4byte(tls, pCell, iTo)
@@ -30206,7 +30208,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 		if i == nCell {
 			if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom {
-				return Xsqlite3CorruptError(tls, 72183)
+				return Xsqlite3CorruptError(tls, 72187)
 			}
 			Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo)
 		}
@@ -30222,7 +30224,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag
 	var pPager uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPager
 
 	if iDbPage < Pgno(3) {
-		return Xsqlite3CorruptError(tls, 72218)
+		return Xsqlite3CorruptError(tls, 72222)
 	}
 
 	*(*int32)(unsafe.Pointer(bp)) = Xsqlite3PagerMovepage(tls, pPager, (*MemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -30283,7 +30285,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 			return rc
 		}
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE {
-			return Xsqlite3CorruptError(tls, 72316)
+			return Xsqlite3CorruptError(tls, 72320)
 		}
 
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE {
@@ -30318,7 +30320,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 				if *(*Pgno)(unsafe.Pointer(bp + 40)) > dbSize {
 					releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
-					return Xsqlite3CorruptError(tls, 72368)
+					return Xsqlite3CorruptError(tls, 72372)
 				}
 			}
 
@@ -30378,7 +30380,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 {
 		var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree)
 
 		if nOrig < nFin || nFree >= nOrig {
-			rc = Xsqlite3CorruptError(tls, 72436)
+			rc = Xsqlite3CorruptError(tls, 72440)
 		} else if nFree > Pgno(0) {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
 			if rc == SQLITE_OK {
@@ -30417,7 +30419,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 
 		nOrig = btreePagecount(tls, pBt)
 		if ptrmapPageno(tls, pBt, nOrig) == nOrig || nOrig == U32(Xsqlite3PendingByte)/(*BtShared)(unsafe.Pointer(pBt)).FpageSize+U32(1) {
-			return Xsqlite3CorruptError(tls, 72487)
+			return Xsqlite3CorruptError(tls, 72491)
 		}
 
 		nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
@@ -30448,7 +30450,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 		}
 		nFin = finalDbSize(tls, pBt, nOrig, nVac)
 		if nFin > nOrig {
-			return Xsqlite3CorruptError(tls, 72514)
+			return Xsqlite3CorruptError(tls, 72518)
 		}
 		if nFin < nOrig {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -30789,7 +30791,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u
 
 	if iTable <= Pgno(1) {
 		if iTable < Pgno(1) {
-			return Xsqlite3CorruptError(tls, 72978)
+			return Xsqlite3CorruptError(tls, 72982)
 		} else if btreePagecount(tls, pBt) == Pgno(0) {
 			iTable = Pgno(0)
 		}
@@ -31033,14 +31035,14 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt
 
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
-		return Xsqlite3CorruptError(tls, 73385)
+		return Xsqlite3CorruptError(tls, 73389)
 	}
 
 	getCellInfo(tls, pCur)
 	aPayload = (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
 
 	if Uptr((int64(aPayload)-int64((*MemPage)(unsafe.Pointer(pPage)).FaData))/1) > Uptr((*BtShared)(unsafe.Pointer(pBt)).FusableSize-U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal)) {
-		return Xsqlite3CorruptError(tls, 73400)
+		return Xsqlite3CorruptError(tls, 73404)
 	}
 
 	if offset < U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -31085,7 +31087,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 
 		for *(*Pgno)(unsafe.Pointer(bp)) != 0 {
 			if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage {
-				return Xsqlite3CorruptError(tls, 73462)
+				return Xsqlite3CorruptError(tls, 73466)
 			}
 
 			*(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp))
@@ -31134,7 +31136,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	}
 
 	if rc == SQLITE_OK && amt > U32(0) {
-		return Xsqlite3CorruptError(tls, 73547)
+		return Xsqlite3CorruptError(tls, 73551)
 	}
 	return rc
 }
@@ -31214,7 +31216,7 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt
 
 func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 {
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 {
-		return Xsqlite3CorruptError(tls, 73684)
+		return Xsqlite3CorruptError(tls, 73688)
 	}
 	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	*(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl))
@@ -31305,7 +31307,7 @@ __2:
 	if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 73823)
+	return Xsqlite3CorruptError(tls, 73827)
 __11:
 	;
 skip_init:
@@ -31325,7 +31327,7 @@ __12:
 	if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) {
 		goto __16
 	}
-	return Xsqlite3CorruptError(tls, 73835)
+	return Xsqlite3CorruptError(tls, 73839)
 __16:
 	;
 	subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8))
@@ -31535,7 +31537,7 @@ __19:
 	if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __21
 	}
-	return Xsqlite3CorruptError(tls, 74077)
+	return Xsqlite3CorruptError(tls, 74081)
 __21:
 	;
 	goto __19
@@ -31739,7 +31741,7 @@ __2:
 	if !!(int32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit) != 0) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 74273)
+	return Xsqlite3CorruptError(tls, 74277)
 __4:
 	;
 	goto bypass_moveto_root
@@ -31804,7 +31806,7 @@ __15:
 	if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) {
 		goto __17
 	}
-	rc = Xsqlite3CorruptError(tls, 74360)
+	rc = Xsqlite3CorruptError(tls, 74364)
 	goto moveto_index_finish
 __17:
 	;
@@ -31852,7 +31854,7 @@ __22:
 	if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) {
 		goto __24
 	}
-	rc = Xsqlite3CorruptError(tls, 74392)
+	rc = Xsqlite3CorruptError(tls, 74396)
 __24:
 	;
 	goto moveto_index_finish
@@ -31971,7 +31973,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 {
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1))
 	if !(int32((*MemPage)(unsafe.Pointer(pPage)).FisInit) != 0) || Xsqlite3FaultSim(tls, 412) != 0 {
-		return Xsqlite3CorruptError(tls, 74508)
+		return Xsqlite3CorruptError(tls, 74512)
 	}
 
 	if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
@@ -32131,7 +32133,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr
 	if !(n >= mxPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74688)
+	return Xsqlite3CorruptError(tls, 74692)
 __1:
 	;
 	if !(n > U32(0)) {
@@ -32196,7 +32198,7 @@ __15:
 	if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) {
 		goto __16
 	}
-	rc = Xsqlite3CorruptError(tls, 74744)
+	rc = Xsqlite3CorruptError(tls, 74748)
 	goto __17
 __16:
 	rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0)
@@ -32232,7 +32234,7 @@ __19:
 		goto __22
 	}
 
-	rc = Xsqlite3CorruptError(tls, 74773)
+	rc = Xsqlite3CorruptError(tls, 74777)
 	goto end_allocate_page
 	goto __23
 __22:
@@ -32276,7 +32278,7 @@ __27:
 	if !(iNewTrunk > mxPage) {
 		goto __32
 	}
-	rc = Xsqlite3CorruptError(tls, 74807)
+	rc = Xsqlite3CorruptError(tls, 74811)
 	goto end_allocate_page
 __32:
 	;
@@ -32388,7 +32390,7 @@ __40:
 	if !(iPage > mxPage || iPage < Pgno(2)) {
 		goto __51
 	}
-	rc = Xsqlite3CorruptError(tls, 74872)
+	rc = Xsqlite3CorruptError(tls, 74876)
 	goto end_allocate_page
 __51:
 	;
@@ -32546,7 +32548,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 {
 	if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74999)
+	return Xsqlite3CorruptError(tls, 75003)
 __1:
 	;
 	if !(pMemPage != 0) {
@@ -32603,7 +32605,7 @@ __7:
 	if !(iTrunk > btreePagecount(tls, pBt)) {
 		goto __10
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75046)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75050)
 	goto freepage_out
 __10:
 	;
@@ -32619,7 +32621,7 @@ __11:
 	if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) {
 		goto __12
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75057)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75061)
 	goto freepage_out
 __12:
 	;
@@ -32693,7 +32695,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 	var ovflPageSize U32
 
 	if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 75146)
+		return Xsqlite3CorruptError(tls, 75150)
 	}
 	ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
 	pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt
@@ -32705,7 +32707,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 		*(*Pgno)(unsafe.Pointer(bp + 8)) = Pgno(0)
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 		if ovflPgno < Pgno(2) || ovflPgno > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 75163)
+			return Xsqlite3CorruptError(tls, 75167)
 		}
 		if nOvfl != 0 {
 			rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8)
@@ -32716,7 +32718,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 
 		if (*(*uintptr)(unsafe.Pointer(bp)) != 0 || libc.AssignPtrUintptr(bp, btreePageLookup(tls, pBt, ovflPgno)) != uintptr(0)) &&
 			Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 {
-			rc = Xsqlite3CorruptError(tls, 75183)
+			rc = Xsqlite3CorruptError(tls, 75187)
 		} else {
 			rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp)), ovflPgno)
 		}
@@ -32881,7 +32883,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
 	hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75436)
+		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75440)
 		return
 	}
 	rc = freeSpace(tls, pPage, uint16(pc), uint16(sz))
@@ -33160,12 +33162,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 
 		if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) {
 			if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) {
-				return Xsqlite3CorruptError(tls, 75737)
+				return Xsqlite3CorruptError(tls, 75741)
 			}
 			pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1)
 		} else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) &&
 			Uptr(pCell) < Uptr(pSrcEnd) {
-			return Xsqlite3CorruptError(tls, 75742)
+			return Xsqlite3CorruptError(tls, 75746)
 		}
 
 		pData -= uintptr(sz)
@@ -33173,7 +33175,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 		*(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1)
 		pCellptr += uintptr(2)
 		if pData < pCellptr {
-			return Xsqlite3CorruptError(tls, 75748)
+			return Xsqlite3CorruptError(tls, 75752)
 		}
 		libc.Xmemmove(tls, pData, pCell, uint64(sz))
 
@@ -33233,7 +33235,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr,
 
 		if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) &&
 			Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) {
-			Xsqlite3CorruptError(tls, 75833)
+			Xsqlite3CorruptError(tls, 75837)
 			return 1
 		}
 		libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz))
@@ -33322,7 +33324,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC
 	if !(nShift > nCell) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 75947)
+	return Xsqlite3CorruptError(tls, 75951)
 __2:
 	;
 	libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2))
@@ -33438,7 +33440,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr
 	var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt
 
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
-		return Xsqlite3CorruptError(tls, 76060)
+		return Xsqlite3CorruptError(tls, 76064)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 136)) = allocateBtreePage(tls, pBt, bp, bp+8, uint32(0), uint8(0))
@@ -33758,7 +33760,7 @@ __22:
 	if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) {
 		goto __25
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76481)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76485)
 	goto balance_cleanup
 __25:
 	;
@@ -33769,7 +33771,7 @@ __25:
 	if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) {
 		goto __27
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76505)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76509)
 	goto balance_cleanup
 __27:
 	;
@@ -33927,7 +33929,7 @@ __52:
 	if !(k > NB+2) {
 		goto __55
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76606)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76610)
 	goto balance_cleanup
 __55:
 	;
@@ -34001,7 +34003,7 @@ __65:
 	}()) {
 		goto __67
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76639)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76643)
 	goto balance_cleanup
 __67:
 	;
@@ -34064,7 +34066,7 @@ __73:
 	}()) {
 		goto __75
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76683)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76687)
 	goto balance_cleanup
 __75:
 	;
@@ -34092,7 +34094,7 @@ __76:
 		*(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) {
 		goto __81
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76716)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76720)
 __81:
 	;
 	if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) {
@@ -34353,7 +34355,7 @@ __120:
 	if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) {
 		goto __121
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76916)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76920)
 	goto balance_cleanup
 __121:
 	;
@@ -34545,7 +34547,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 {
 		if pOther != pCur &&
 			int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID &&
 			(*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage {
-			return Xsqlite3CorruptError(tls, 77146)
+			return Xsqlite3CorruptError(tls, 77150)
 		}
 	}
 	return SQLITE_OK
@@ -34583,7 +34585,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 {
 				break
 			}
 		} else if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) > 1 {
-			rc = Xsqlite3CorruptError(tls, 77206)
+			rc = Xsqlite3CorruptError(tls, 77210)
 		} else {
 			var pParent uintptr = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-1)*8))
 			var iIdx int32 = int32(*(*U16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-1)*2)))
@@ -34689,7 +34691,7 @@ func btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 			return rc
 		}
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
-			rc = Xsqlite3CorruptError(tls, 77370)
+			rc = Xsqlite3CorruptError(tls, 77374)
 		} else {
 			if U32(iOffset)+ovflPageSize < U32(nTotal) {
 				ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -34714,7 +34716,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 
 	if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd ||
 		(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FcellOffset) {
-		return Xsqlite3CorruptError(tls, 77398)
+		return Xsqlite3CorruptError(tls, 77402)
 	}
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
 		return btreeOverwriteContent(tls, pPage, (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX,
@@ -34784,7 +34786,7 @@ __2:
 		goto __3
 	}
 
-	return Xsqlite3CorruptError(tls, 77479)
+	return Xsqlite3CorruptError(tls, 77483)
 __3:
 	;
 __1:
@@ -34897,7 +34899,7 @@ __7:
 		goto __21
 	}
 
-	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77602)
+	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77606)
 	goto __22
 __21:
 	*(*int32)(unsafe.Pointer(bp + 120)) = btreeComputeFreeSpace(tls, pPage)
@@ -34957,6 +34959,7 @@ __30:
 __25:
 	;
 	idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
+	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !(*(*int32)(unsafe.Pointer(bp)) == 0) {
 		goto __31
 	}
@@ -34964,7 +34967,7 @@ __25:
 	if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) {
 		goto __33
 	}
-	return Xsqlite3CorruptError(tls, 77640)
+	return Xsqlite3CorruptError(tls, 77645)
 __33:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage)
@@ -35002,13 +35005,13 @@ __37:
 	if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) {
 		goto __39
 	}
-	return Xsqlite3CorruptError(tls, 77667)
+	return Xsqlite3CorruptError(tls, 77672)
 __39:
 	;
 	if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 124))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __40
 	}
-	return Xsqlite3CorruptError(tls, 77670)
+	return Xsqlite3CorruptError(tls, 77675)
 __40:
 	;
 	libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 124))))
@@ -35039,7 +35042,6 @@ __32:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 124)), uintptr(0), uint32(0))
 
-	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) {
 		goto __44
 	}
@@ -35114,7 +35116,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 	nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
 	aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
 	if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 77773)
+		return Xsqlite3CorruptError(tls, 77777)
 	}
 	nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
 	if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -35139,7 +35141,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 
 		if nRem > nIn {
 			if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-				return Xsqlite3CorruptError(tls, 77798)
+				return Xsqlite3CorruptError(tls, 77802)
 			}
 			ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
 		}
@@ -35240,7 +35242,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 				return *(*int32)(unsafe.Pointer(bp + 24))
 			}
 		} else {
-			return Xsqlite3CorruptError(tls, 77894)
+			return Xsqlite3CorruptError(tls, 77898)
 		}
 	}
 
@@ -35248,11 +35250,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 	iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
-		return Xsqlite3CorruptError(tls, 77903)
+		return Xsqlite3CorruptError(tls, 77907)
 	}
 	pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx) + 1)))))
 	if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 {
-		return Xsqlite3CorruptError(tls, 77907)
+		return Xsqlite3CorruptError(tls, 77911)
 	}
 
 	bPreserve = U8(libc.Bool32(int32(flags)&BTREE_SAVEPOSITION != 0))
@@ -35327,7 +35329,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 		}
 		pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)) + 1)))))
 		if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 {
-			return Xsqlite3CorruptError(tls, 77998)
+			return Xsqlite3CorruptError(tls, 78002)
 		}
 		nCell = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
@@ -35396,7 +35398,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 
 		Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp)
 		if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 78114)
+			return Xsqlite3CorruptError(tls, 78118)
 		}
 		*(*Pgno)(unsafe.Pointer(bp))++
 
@@ -35425,7 +35427,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 			}
 			*(*int32)(unsafe.Pointer(bp + 40)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp)), bp+32, bp+36)
 			if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE {
-				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78162)
+				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78166)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -35501,7 +35503,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 78252)
+	return Xsqlite3CorruptError(tls, 78256)
 __1:
 	;
 	*(*int32)(unsafe.Pointer(bp + 32)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0)
@@ -35515,7 +35517,7 @@ __2:
 		Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) {
 		goto __3
 	}
-	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78259)
+	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78263)
 	goto cleardatabasepage_out
 __3:
 	;
@@ -35649,7 +35651,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3
 	var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt
 
 	if iTable > btreePagecount(tls, pBt) {
-		return Xsqlite3CorruptError(tls, 78363)
+		return Xsqlite3CorruptError(tls, 78367)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 12)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0))
@@ -38118,7 +38120,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32,
 	var rc int32
 	(*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null)
 	if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) {
-		return Xsqlite3CorruptError(tls, 81630)
+		return Xsqlite3CorruptError(tls, 81634)
 	}
 	if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) {
 		rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz)
@@ -38767,7 +38769,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		return Xsqlite3GetVarint32(tls, a, bp)
 	}())
 	if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) {
-		return Xsqlite3CorruptError(tls, 82270)
+		return Xsqlite3CorruptError(tls, 82274)
 	}
 	iField = *(*int32)(unsafe.Pointer(bp))
 	for i = 0; i <= iCol; i++ {
@@ -38782,14 +38784,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		}())
 
 		if iHdr > *(*int32)(unsafe.Pointer(bp)) {
-			return Xsqlite3CorruptError(tls, 82276)
+			return Xsqlite3CorruptError(tls, 82280)
 		}
 		szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4))))
 		iField = iField + szField
 	}
 
 	if iField > nRec {
-		return Xsqlite3CorruptError(tls, 82282)
+		return Xsqlite3CorruptError(tls, 82286)
 	}
 	if pMem == uintptr(0) {
 		pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db))
@@ -41093,7 +41095,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 {
 		return rc
 	}
 	if *(*int32)(unsafe.Pointer(bp)) != 0 {
-		return Xsqlite3CorruptError(tls, 86058)
+		return Xsqlite3CorruptError(tls, 86062)
 	}
 	(*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0)
 	(*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE)
@@ -41644,7 +41646,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		i = 0
 	}
 	if d1 > uint32(nKey1) {
-		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86985))
+		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86989))
 		return 0
 	}
 
@@ -41709,7 +41711,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 
 				if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) ||
 					int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87062))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87066))
 					return 0
 				} else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 {
 					(*Mem)(unsafe.Pointer(bp + 8)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc
@@ -41743,7 +41745,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 				var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2))
 
 				if d1+U32(nStr) > uint32(nKey1) {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87092))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87096))
 					return 0
 				} else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 {
 					if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) {
@@ -41793,7 +41795,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		}
 		idx1 = idx1 + U32(Xsqlite3VarintLen(tls, uint64(*(*U32)(unsafe.Pointer(bp + 64)))))
 		if idx1 >= *(*U32)(unsafe.Pointer(bp + 4)) {
-			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87136))
+			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87140))
 			return 0
 		}
 	}
@@ -41939,7 +41941,7 @@ __5:
 	if !(szHdr+nStr > nKey1) {
 		goto __7
 	}
-	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87299))
+	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87303))
 	return 0
 __7:
 	;
@@ -42110,7 +42112,7 @@ __6:
 idx_rowid_corruption:
 	;
 	Xsqlite3VdbeMemReleaseMalloc(tls, bp)
-	return Xsqlite3CorruptError(tls, 87457)
+	return Xsqlite3CorruptError(tls, 87461)
 }
 
 // Compare the key of the index entry that cursor pC is pointing to against
@@ -42136,7 +42138,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
 
 	if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) {
 		*(*int32)(unsafe.Pointer(res)) = 0
-		return Xsqlite3CorruptError(tls, 87490)
+		return Xsqlite3CorruptError(tls, 87494)
 	}
 	Xsqlite3VdbeMemInit(tls, bp, db, uint16(0))
 	rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp)
@@ -42410,7 +42412,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 {
 		var v uintptr = pStmt
 		var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb
 		if vdbeSafety(tls, v) != 0 {
-			return Xsqlite3MisuseError(tls, 87854)
+			return Xsqlite3MisuseError(tls, 87858)
 		}
 		Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) {
@@ -43025,7 +43027,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 {
 	var db uintptr
 
 	if vdbeSafetyNotNull(tls, v) != 0 {
-		return Xsqlite3MisuseError(tls, 88544)
+		return Xsqlite3MisuseError(tls, 88548)
 	}
 	db = (*Vdbe)(unsafe.Pointer(v)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -43545,7 +43547,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 
 	var pVar uintptr
 	if vdbeSafetyNotNull(tls, p) != 0 {
-		return Xsqlite3MisuseError(tls, 89208)
+		return Xsqlite3MisuseError(tls, 89212)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 	if int32((*Vdbe)(unsafe.Pointer(p)).FeVdbeState) != VDBE_READY_STATE {
@@ -43553,7 +43555,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 		Xsqlite3_log(tls, SQLITE_MISUSE,
 			ts+5350, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql))
-		return Xsqlite3MisuseError(tls, 89216)
+		return Xsqlite3MisuseError(tls, 89220)
 	}
 	if i >= uint32((*Vdbe)(unsafe.Pointer(p)).FnVar) {
 		Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE)
@@ -43958,7 +43960,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89707)
+	rc = Xsqlite3MisuseError(tls, 89711)
 	goto preupdate_old_out
 __1:
 	;
@@ -44102,7 +44104,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89809)
+	rc = Xsqlite3MisuseError(tls, 89813)
 	goto preupdate_new_out
 __1:
 	;
@@ -44546,10 +44548,6 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 {
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Real != 0 {
 			h = h + U64(Xsqlite3VdbeIntValue(tls, p))
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 {
-			h = h + U64((*Mem)(unsafe.Pointer(p)).Fn)
-			if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Zero != 0 {
-				h = h + U64(*(*int32)(unsafe.Pointer(p)))
-			}
 		}
 	}
 	return h
@@ -47198,7 +47196,7 @@ op_column_corrupt:
 	goto __9
 	goto __425
 __424:
-	rc = Xsqlite3CorruptError(tls, 93317)
+	rc = Xsqlite3CorruptError(tls, 93320)
 	goto abort_due_to_error
 __425:
 	;
@@ -48958,7 +48956,7 @@ notExistsWithKey:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) {
 		goto __682
 	}
-	rc = Xsqlite3CorruptError(tls, 95560)
+	rc = Xsqlite3CorruptError(tls, 95563)
 	goto __683
 __682:
 	goto jump_to_p2
@@ -49736,7 +49734,7 @@ __767:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) {
 		goto __770
 	}
-	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96635, ts+5859)
+	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96638, ts+5859)
 	goto abort_due_to_error
 __770:
 	;
@@ -49846,7 +49844,7 @@ __780:
 	if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) {
 		goto __781
 	}
-	rc = Xsqlite3CorruptError(tls, 96840)
+	rc = Xsqlite3CorruptError(tls, 96843)
 	goto abort_due_to_error
 __781:
 	;
@@ -50040,7 +50038,7 @@ __802:
 		goto __803
 	}
 
-	rc = Xsqlite3CorruptError(tls, 97092)
+	rc = Xsqlite3CorruptError(tls, 97095)
 __803:
 	;
 	Xsqlite3DbFreeNN(tls, db, zSql)
@@ -51407,7 +51405,7 @@ __955:
 	if !(rc == SQLITE_IOERR|int32(33)<<8) {
 		goto __957
 	}
-	rc = Xsqlite3CorruptError(tls, 99031)
+	rc = Xsqlite3CorruptError(tls, 99034)
 __957:
 	;
 __956:
@@ -51927,7 +51925,7 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99516)
+		return Xsqlite3MisuseError(tls, 99519)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -52010,7 +52008,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99616)
+		return Xsqlite3MisuseError(tls, 99619)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -55450,14 +55448,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			;
 			Xsqlite3WalkExpr(tls, pWalker, (*Expr)(unsafe.Pointer(pExpr)).FpLeft)
 			if 0 == Xsqlite3ExprCanBeNull(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
-				if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6757
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsTrue)
-				} else {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6762
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
-				}
-				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
+				*(*int32)(unsafe.Pointer(pExpr + 8)) = libc.Bool32(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL)
+				*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IntValue)
+				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_INTEGER)
+
 				i = 0
 				p = pNC
 			__4:
@@ -55501,7 +55495,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_GenCol) != 0 {
-					notValidImpl(tls, pParse, pNC, ts+6768, uintptr(0), pExpr)
+					notValidImpl(tls, pParse, pNC, ts+6757, uintptr(0), pExpr)
 				}
 
 				pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight
@@ -55565,7 +55559,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 						(*Expr)(unsafe.Pointer(pExpr)).FiTable = exprProbability(tls, (*ExprList_item)(unsafe.Pointer(pList+8+1*32)).FpExpr)
 						if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 {
 							Xsqlite3ErrorMsg(tls, pParse,
-								ts+6785, libc.VaList(bp, pExpr))
+								ts+6774, libc.VaList(bp, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
 					} else {
@@ -55581,7 +55575,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 					var auth int32 = Xsqlite3AuthCheck(tls, pParse, SQLITE_FUNCTION, uintptr(0), (*FuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0))
 					if auth != SQLITE_OK {
 						if auth == SQLITE_DENY {
-							Xsqlite3ErrorMsg(tls, pParse, ts+6849,
+							Xsqlite3ErrorMsg(tls, pParse, ts+6838,
 								libc.VaList(bp+8, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
@@ -55595,7 +55589,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				}
 				if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_CONSTANT) == U32(0) {
 					if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_PartIdx|NC_GenCol) != 0 {
-						notValidImpl(tls, pParse, pNC, ts+6885, uintptr(0), pExpr)
+						notValidImpl(tls, pParse, pNC, ts+6874, uintptr(0), pExpr)
 					}
 
 				} else {
@@ -55618,30 +55612,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			if 0 == libc.Bool32(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 				if pDef != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+6913, libc.VaList(bp+16, pExpr))
+						ts+6902, libc.VaList(bp+16, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowAgg == 0 ||
 					is_agg != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) ||
 					is_agg != 0 && pWin != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowWin == 0 {
 					var zType uintptr
 					if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 {
-						zType = ts + 6956
+						zType = ts + 6945
 					} else {
-						zType = ts + 6963
+						zType = ts + 6952
 					}
-					Xsqlite3ErrorMsg(tls, pParse, ts+6973, libc.VaList(bp+24, zType, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6962, libc.VaList(bp+24, zType, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 					is_agg = 0
 				} else if no_such_func != 0 && int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7001, libc.VaList(bp+40, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6990, libc.VaList(bp+40, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if wrong_num_args != 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7023,
+					Xsqlite3ErrorMsg(tls, pParse, ts+7012,
 						libc.VaList(bp+48, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg == 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7067,
+						ts+7056,
 						libc.VaList(bp+56, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				}
@@ -55713,15 +55707,15 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_SelfRef != 0 {
-					notValidImpl(tls, pParse, pNC, ts+7115, pExpr, pExpr)
+					notValidImpl(tls, pParse, pNC, ts+7104, pExpr, pExpr)
 				} else {
 					Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32)))
 				}
 
 				if nRef != (*NameContext)(unsafe.Pointer(pNC)).FnRef {
 					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_VarSelect)
-					*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_VarSelect
 				}
+				*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_Subquery
 			}
 			break
 
@@ -55729,7 +55723,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 	case TK_VARIABLE:
 		{
 			if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IsCheck|NC_PartIdx|NC_IdxExpr|NC_GenCol) != 0 {
-				notValidImpl(tls, pParse, pNC, ts+7126, pExpr, pExpr)
+				notValidImpl(tls, pParse, pNC, ts+7115, pExpr, pExpr)
 			}
 
 			break
@@ -55860,7 +55854,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3
 	defer tls.Free(24)
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+7137, libc.VaList(bp, i, zType, mx))
+		ts+7126, libc.VaList(bp, i, zType, mx))
 	Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pError)
 }
 
@@ -55880,7 +55874,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	}
 	db = (*Parse)(unsafe.Pointer(pParse)).Fdb
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7193, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7182, 0)
 		return 1
 	}
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
@@ -55915,7 +55909,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 			}
 			if Xsqlite3ExprIsInteger(tls, pE, bp+8) != 0 {
 				if *(*int32)(unsafe.Pointer(bp + 8)) <= 0 || *(*int32)(unsafe.Pointer(bp + 8)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr {
-					resolveOutOfRangeError(tls, pParse, ts+7227, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
+					resolveOutOfRangeError(tls, pParse, ts+7216, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
 					return 1
 				}
 			} else {
@@ -55972,7 +55966,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
 		if int32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2) == 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+7233, libc.VaList(bp, i+1))
+				ts+7222, libc.VaList(bp, i+1))
 			return 1
 		}
 	}
@@ -56000,7 +55994,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr,
 		return 0
 	}
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7294, libc.VaList(bp, zType))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7283, libc.VaList(bp, zType))
 		return 1
 	}
 	pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList
@@ -56214,7 +56208,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		*(*int32)(unsafe.Pointer(bp + 40)) |= NC_UEList
 		if (*Select)(unsafe.Pointer(p)).FpHaving != 0 {
 			if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Aggregate) == U32(0) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7325, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+7314, 0)
 				return WRC_Abort
 			}
 			if Xsqlite3ResolveExprNames(tls, bp, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 {
@@ -56254,7 +56248,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 
 		if (*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) &&
 			isCompound <= nCompound &&
-			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7227) != 0 {
+			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7216) != 0 {
 			return WRC_Abort
 		}
 		if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -56265,7 +56259,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		if pGroupBy != 0 {
 			var pItem uintptr
 
-			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7364) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
+			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7353) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 				return WRC_Abort
 			}
 			i = 0
@@ -56277,7 +56271,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 			{
 				if (*Expr)(unsafe.Pointer((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr)).Fflags&U32(EP_Agg) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7370, 0)
+						ts+7359, 0)
 					return WRC_Abort
 				}
 
@@ -57141,7 +57135,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32
 	var mxHeight int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4))
 	if nHeight > mxHeight {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+7429, libc.VaList(bp, mxHeight))
+			ts+7418, libc.VaList(bp, mxHeight))
 		rc = SQLITE_ERROR
 	}
 	return rc
@@ -57390,10 +57384,10 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList
 			nExprElem = 1
 		}
 		if nExprElem != nElem {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7477,
+			Xsqlite3ErrorMsg(tls, pParse, ts+7466,
 				libc.VaList(bp, nExprElem, func() uintptr {
 					if nExprElem > 1 {
-						return ts + 7521
+						return ts + 7510
 					}
 					return ts + 1547
 				}(), nElem))
@@ -57434,7 +57428,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt
 		!(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 		Xsqlite3ExprDeferredDelete(tls, pParse, pLeft)
 		Xsqlite3ExprDeferredDelete(tls, pParse, pRight)
-		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7523)
+		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7512)
 	} else {
 		return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight)
 	}
@@ -57460,7 +57454,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u
 	if pList != 0 &&
 		(*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) &&
 		!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7525, libc.VaList(bp, pToken))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7514, libc.VaList(bp, pToken))
 	}
 	*(*uintptr)(unsafe.Pointer(pNew + 32)) = pList
 	*(*U32)(unsafe.Pointer(pNew + 4)) |= U32(EP_HasFunc)
@@ -57488,7 +57482,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD
 	if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromDDL) != U32(0) {
 		if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_DIRECT) != U32(0) ||
 			(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) == uint64(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7559, libc.VaList(bp, pExpr))
+			Xsqlite3ErrorMsg(tls, pParse, ts+7548, libc.VaList(bp, pExpr))
 		}
 	}
 }
@@ -57535,7 +57529,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 			}
 
 			if bOk == 0 || *(*I64)(unsafe.Pointer(bp + 8)) < int64(1) || *(*I64)(unsafe.Pointer(bp + 8)) > I64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7579,
+				Xsqlite3ErrorMsg(tls, pParse, ts+7568,
 					libc.VaList(bp, *(*int32)(unsafe.Pointer(db + 136 + 9*4))))
 				Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 				return
@@ -57560,7 +57554,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 	}
 	(*Expr)(unsafe.Pointer(pExpr)).FiColumn = x
 	if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7622, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7611, 0)
 		Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 	}
 }
@@ -58135,7 +58129,7 @@ __2:
 	if !(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_SELECT && (*IdList)(unsafe.Pointer(pColumns)).FnId != libc.AssignInt32(&n, Xsqlite3ExprVectorSize(tls, pExpr))) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7645,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7634,
 		libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n))
 	goto vector_append_error
 __3:
@@ -58258,7 +58252,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr,
 	var mx int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4))
 
 	if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7675, libc.VaList(bp, zObject))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7664, libc.VaList(bp, zObject))
 	}
 }
 
@@ -58314,10 +58308,10 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int
 //	  "false"                        EP_IsFalse
 //	  anything else                  0
 func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 {
-	if Xsqlite3StrICmp(tls, zIn, ts+6757) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7687) == 0 {
 		return U32(EP_IsTrue)
 	}
-	if Xsqlite3StrICmp(tls, zIn, ts+6762) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7692) == 0 {
 		return U32(EP_IsFalse)
 	}
 	return U32(0)
@@ -59392,7 +59386,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 {
 	}
 	if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
-		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7523)
+		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7512)
 		if pLimit != 0 {
 			(*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC)
 			pLimit = Xsqlite3PExpr(tls, pParse, TK_NE,
@@ -59830,6 +59824,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr
 func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) {
 	var iAddr int32
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
+	var nErr int32 = (*Parse)(unsafe.Pointer(pParse)).FnErr
 
 	if (*Parse)(unsafe.Pointer(pParse)).FiSelfTab > 0 {
 		iAddr = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Parse)(unsafe.Pointer(pParse)).FiSelfTab-1, 0, regOut)
@@ -59843,6 +59838,9 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr
 	if iAddr != 0 {
 		Xsqlite3VdbeJumpHere(tls, v, iAddr)
 	}
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr > nErr {
+		(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FerrByteOffset = -1
+	}
 }
 
 // Generate code to extract the value of the iCol-th column of a table.
@@ -60061,6 +60059,7 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 	var p uintptr
 	var v uintptr
 	for p = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr; p != 0; p = (*IndexedExpr)(unsafe.Pointer(p)).FpIENext {
+		var exprAff U8
 		var iDataCur int32 = (*IndexedExpr)(unsafe.Pointer(p)).FiDataCur
 		if iDataCur < 0 {
 			continue
@@ -60074,6 +60073,14 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 		if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IndexedExpr)(unsafe.Pointer(p)).FpExpr, iDataCur) != 0 {
 			continue
 		}
+
+		exprAff = U8(Xsqlite3ExprAffinity(tls, pExpr))
+		if int32(exprAff) <= SQLITE_AFF_BLOB && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_BLOB ||
+			int32(exprAff) == SQLITE_AFF_TEXT && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_TEXT ||
+			int32(exprAff) >= SQLITE_AFF_NUMERIC && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_NUMERIC {
+			continue
+		}
+
 		v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 
 		if (*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow != 0 {
@@ -60847,7 +60854,7 @@ __121:
 	if !((*Expr)(unsafe.Pointer(pExpr)).FiTable != n1) {
 		goto __122
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7645,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7634,
 		libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1))
 __122:
 	;
@@ -60869,11 +60876,10 @@ __49:
 	return target
 
 __50:
-	if !(!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) &&
-		(*Expr)(unsafe.Pointer(pExpr)).FpLeft != 0 &&
-		int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_FUNCTION) {
+	if !!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) {
 		goto __123
 	}
+
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	if !(inReg != target) {
 		goto __125
@@ -60944,13 +60950,19 @@ __129:
 	;
 __127:
 	;
-	addrINR = Xsqlite3VdbeAddOp1(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable)
+	addrINR = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable, 0, target)
 
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = U8(0)
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = okConstFactor
+	if !(inReg != target) {
+		goto __130
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, inReg, target)
+	inReg = target
+__130:
+	;
 	Xsqlite3VdbeJumpHere(tls, v, addrINR)
-	Xsqlite3VdbeChangeP3(tls, v, addrINR, inReg)
 	goto __5
 
 __56:
@@ -60963,15 +60975,15 @@ __56:
 	nExpr = (*ExprList)(unsafe.Pointer(pEList)).FnExpr
 	endLabel = Xsqlite3VdbeMakeLabel(tls, pParse)
 	if !(libc.AssignUintptr(&pX, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) != uintptr(0)) {
-		goto __130
+		goto __131
 	}
 	pDel = Xsqlite3ExprDup(tls, db1, pX, 0)
 	if !((*Sqlite3)(unsafe.Pointer(db1)).FmallocFailed != 0) {
-		goto __131
+		goto __132
 	}
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	goto __5
-__131:
+__132:
 	;
 	exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+40))
 
@@ -60981,22 +60993,22 @@ __131:
 	pTest = bp + 120
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = 0
-__130:
+__131:
 	;
 	i1 = 0
-__132:
+__133:
 	if !(i1 < nExpr-1) {
-		goto __134
+		goto __135
 	}
 	if !(pX != 0) {
-		goto __135
+		goto __136
 	}
 
 	(*Expr)(unsafe.Pointer(bp + 120)).FpRight = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
-	goto __136
-__135:
-	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+	goto __137
 __136:
+	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+__137:
 	;
 	nextCase = Xsqlite3VdbeMakeLabel(tls, pParse)
 
@@ -61005,21 +61017,21 @@ __136:
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(aListelem+uintptr(i1+1)*32)).FpExpr, target)
 	Xsqlite3VdbeGoto(tls, v, endLabel)
 	Xsqlite3VdbeResolveLabel(tls, v, nextCase)
-	goto __133
-__133:
-	i1 = i1 + 2
-	goto __132
 	goto __134
 __134:
+	i1 = i1 + 2
+	goto __133
+	goto __135
+__135:
 	;
 	if !(nExpr&1 != 0) {
-		goto __137
+		goto __138
 	}
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(pEList+8+uintptr(nExpr-1)*32)).FpExpr, target)
-	goto __138
-__137:
-	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+	goto __139
 __138:
+	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+__139:
 	;
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	setDoNotMergeFlagOnCopy(tls, v)
@@ -61029,27 +61041,27 @@ __138:
 __57:
 	;
 	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).FpTriggerTab) != 0) && !(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0)) {
-		goto __139
+		goto __140
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
 		ts+8075, 0)
 	return 0
-__139:
-	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
-		goto __140
-	}
-	Xsqlite3MayAbort(tls, pParse)
 __140:
 	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
 		goto __141
 	}
+	Xsqlite3MayAbort(tls, pParse)
+__141:
+	;
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+		goto __142
+	}
 	Xsqlite3VdbeAddOp4(tls,
 		v, OP_Halt, SQLITE_OK, OE_Ignore, 0, *(*uintptr)(unsafe.Pointer(pExpr + 8)), 0)
 
-	goto __142
-__141:
+	goto __143
+__142:
 	Xsqlite3HaltConstraint(tls, pParse,
 		func() int32 {
 			if (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab != 0 {
@@ -61058,7 +61070,7 @@ __141:
 			return SQLITE_ERROR
 		}(),
 		int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr), *(*uintptr)(unsafe.Pointer(pExpr + 8)), int8(0), uint8(0))
-__142:
+__143:
 	;
 	goto __5
 
@@ -63729,7 +63741,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 		return SQLITE_NOMEM
 	}
 	if Xsqlite3_strnicmp(tls, zSql, ts+10915, 7) != 0 {
-		return Xsqlite3CorruptError(tls, 113494)
+		return Xsqlite3CorruptError(tls, 113516)
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 {
 		if bTemp != 0 {
@@ -63746,7 +63758,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 	}
 	if rc == SQLITE_OK &&
 		((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
-		rc = Xsqlite3CorruptError(tls, 113505)
+		rc = Xsqlite3CorruptError(tls, 113527)
 	}
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
@@ -64667,7 +64679,7 @@ __1:
 		goto __2
 	}
 
-	rc = Xsqlite3CorruptError(tls, 114441)
+	rc = Xsqlite3CorruptError(tls, 114463)
 	goto drop_column_done
 __2:
 	;
@@ -69030,6 +69042,12 @@ __10:
 
 	pExpr = Xsqlite3PExpr(tls, pParse, TK_UPLUS, pExpr, uintptr(0))
 __11:
+	;
+	if !(pExpr != 0 && int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_RAISE) {
+		goto __12
+	}
+	(*Expr)(unsafe.Pointer(pExpr)).FaffExpr = (*Column)(unsafe.Pointer(pCol)).Faffinity
+__12:
 	;
 	Xsqlite3ColumnSetExpr(tls, pParse, pTab, pCol, pExpr)
 	pExpr = uintptr(0)
@@ -70195,7 +70213,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 {
 		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3279, 4) == 0 {
 			return 0
 		}
-		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7126, 10) == 0 {
+		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7115, 10) == 0 {
 			return 0
 		}
 		return 1
@@ -71441,7 +71459,7 @@ __81:
 		goto __101
 	}
 	Xsqlite3ErrorMsg(tls, pParse, ts+14133, 0)
-	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121835)
+	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121859)
 	goto exit_create_index
 __101:
 	;
@@ -73486,7 +73504,7 @@ __20:
 	goto __16
 __15:
 	wcf = U16(WHERE_ONEPASS_DESIRED | WHERE_DUPLICATES_OK)
-	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_VarSelect != 0) {
+	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_Subquery != 0) {
 		goto __23
 	}
 	bComplex = 1
@@ -79952,7 +79970,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca
 	if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) {
 		goto __1
 	}
-	return Xsqlite3MisuseError(tls, 131895)
+	return Xsqlite3MisuseError(tls, 131931)
 __1:
 	;
 	if !(zSql == uintptr(0)) {
@@ -81351,7 +81369,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh
 		} else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) {
 			zType = ts + 17506
 		} else {
-			zType = ts + 7521
+			zType = ts + 7510
 		}
 		Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17508,
 			libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin,
@@ -81512,6 +81530,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p
 	var zErr2 uintptr
 	var k3 int32
 	var pCheck uintptr
+	var jmp7 int32
 	var jmp6 int32
 	var iCol1 int32
 	var uniqOk int32
@@ -82830,7 +82849,7 @@ __215:
 		goto __217
 	}
 	pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7521, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7510, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
 	goto __216
 __216:
 	j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext
@@ -82846,7 +82865,7 @@ __218:
 	if !(i6 < int32(uint64(unsafe.Sizeof(aPragmaName))/uint64(unsafe.Sizeof(PragmaName{})))) {
 		goto __220
 	}
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7521, libc.VaList(bp+272, aPragmaName[i6].FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7510, libc.VaList(bp+272, aPragmaName[i6].FzName))
 	goto __219
 __219:
 	i6++
@@ -83651,80 +83670,94 @@ __344:
 	jmp4 = integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, jmp21)
 
+	if !((*Table)(unsafe.Pointer(pTab9)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) {
+		goto __345
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_IdxRowid, *(*int32)(unsafe.Pointer(bp + 616))+j4, 3)
+	jmp7 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 3, 0, r1+int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)-1)
+
+	Xsqlite3VdbeLoadString(tls, v, 3,
+		ts+17922)
+	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17958)
+	Xsqlite3VdbeGoto(tls, v, jmp5-1)
+	Xsqlite3VdbeJumpHere(tls, v, jmp7)
+__345:
+	;
 	label6 = 0
 	kk = 0
-__345:
+__346:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __347
-	}
-	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __348
 	}
-	goto __346
-__348:
-	;
-	if !(label6 == 0) {
+	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __349
 	}
-	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+	goto __347
 __349:
+	;
+	if !(label6 == 0) {
+		goto __350
+	}
+	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+__350:
 	;
 	Xsqlite3VdbeAddOp3(tls, v, OP_Column, *(*int32)(unsafe.Pointer(bp + 616))+j4, kk, 3)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Ne, 3, label6, r1+kk)
-	goto __346
-__346:
-	kk++
-	goto __345
 	goto __347
 __347:
+	kk++
+	goto __346
+	goto __348
+__348:
 	;
 	if !(label6 != 0) {
-		goto __350
+		goto __351
 	}
 	jmp6 = Xsqlite3VdbeAddOp0(tls, v, OP_Goto)
 	Xsqlite3VdbeResolveLabel(tls, v, label6)
 	Xsqlite3VdbeLoadString(tls, v, 3, ts+17896)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
-	Xsqlite3VdbeLoadString(tls, v, 4, ts+17922)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17969)
 	Xsqlite3VdbeGoto(tls, v, jmp5-1)
 	Xsqlite3VdbeJumpHere(tls, v, jmp6)
-__350:
+__351:
 	;
 	if !(int32((*Index)(unsafe.Pointer(pIdx5)).FonError) != OE_None) {
-		goto __351
+		goto __352
 	}
 	uniqOk = Xsqlite3VdbeMakeLabel(tls, pParse)
 	kk = 0
-__352:
+__353:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __354
+		goto __355
 	}
 	iCol1 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2)))
 
 	if !(iCol1 >= 0 && uint32(int32(*(*uint8)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*24 + 8))&0xf>>0)) != 0) {
-		goto __355
+		goto __356
 	}
-	goto __353
-__355:
+	goto __354
+__356:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_IsNull, r1+kk, uniqOk)
 
-	goto __353
-__353:
-	kk++
-	goto __352
 	goto __354
 __354:
+	kk++
+	goto __353
+	goto __355
+__355:
 	;
 	jmp61 = Xsqlite3VdbeAddOp1(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 616))+j4)
 	Xsqlite3VdbeGoto(tls, v, uniqOk)
 	Xsqlite3VdbeJumpHere(tls, v, jmp61)
 	Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, *(*int32)(unsafe.Pointer(bp + 616))+j4, uniqOk, r1,
 		int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol))
-	Xsqlite3VdbeLoadString(tls, v, 3, ts+17949)
+	Xsqlite3VdbeLoadString(tls, v, 3, ts+17996)
 	Xsqlite3VdbeGoto(tls, v, jmp5)
 	Xsqlite3VdbeResolveLabel(tls, v, uniqOk)
-__351:
+__352:
 	;
 	Xsqlite3VdbeJumpHere(tls, v, jmp4)
 	Xsqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 632)))
@@ -83741,20 +83774,20 @@ __340:
 	Xsqlite3VdbeAddOp2(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 612)), loopTop)
 	Xsqlite3VdbeJumpHere(tls, v, loopTop-1)
 	if !!(isQuick != 0) {
-		goto __356
+		goto __357
 	}
-	Xsqlite3VdbeLoadString(tls, v, 2, ts+17976)
+	Xsqlite3VdbeLoadString(tls, v, 2, ts+18023)
 	j4 = 0
 	pIdx5 = (*Table)(unsafe.Pointer(pTab9)).FpIndex
-__357:
+__358:
 	if !(pIdx5 != 0) {
-		goto __359
-	}
-	if !(pPk1 == pIdx5) {
 		goto __360
 	}
-	goto __358
-__360:
+	if !(pPk1 == pIdx5) {
+		goto __361
+	}
+	goto __359
+__361:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_Count, *(*int32)(unsafe.Pointer(bp + 616))+j4, 3)
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 8+j4, 0, 3)
@@ -83763,21 +83796,21 @@ __360:
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 2, 3)
 	integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
-	goto __358
-__358:
-	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
-	j4++
-	goto __357
 	goto __359
 __359:
+	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
+	j4++
+	goto __358
+	goto __360
+__360:
 	;
 	if !(pPk1 != 0) {
-		goto __361
+		goto __362
 	}
 	Xsqlite3ReleaseTempRange(tls, pParse, r2, int32((*Index)(unsafe.Pointer(pPk1)).FnKeyCol))
-__361:
+__362:
 	;
-__356:
+__357:
 	;
 	goto __291
 __291:
@@ -83795,14 +83828,14 @@ __266:
 	;
 	aOp2 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(endCode))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&endCode)), iLn5)
 	if !(aOp2 != 0) {
-		goto __362
+		goto __363
 	}
 	(*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = 1 - *(*int32)(unsafe.Pointer(bp + 608))
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1)
-	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 18005
+	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 18052
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 5*24)).Fp4type = int8(-1)
 	*(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT)
-__362:
+__363:
 	;
 	Xsqlite3VdbeChangeP3(tls, v, 0, Xsqlite3VdbeCurrentAddr(tls, v)-2)
 
@@ -83810,27 +83843,27 @@ __362:
 
 __45:
 	if !!(zRight != 0) {
-		goto __363
+		goto __364
 	}
 	if !(Xsqlite3ReadSchema(tls, pParse) != 0) {
-		goto __365
-	}
-	goto pragma_out
-__365:
-	;
-	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
-	goto __364
-__363:
-	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
 		goto __366
 	}
+	goto pragma_out
+__366:
+	;
+	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
+	goto __365
+__364:
+	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
+		goto __367
+	}
 	pEnc = uintptr(unsafe.Pointer(&encnames1))
-__367:
+__368:
 	if !((*EncName)(unsafe.Pointer(pEnc)).FzName != 0) {
-		goto __369
+		goto __370
 	}
 	if !(0 == Xsqlite3StrICmp(tls, zRight, (*EncName)(unsafe.Pointer(pEnc)).FzName)) {
-		goto __370
+		goto __371
 	}
 	if (*EncName)(unsafe.Pointer(pEnc)).Fenc != 0 {
 		enc = (*EncName)(unsafe.Pointer(pEnc)).Fenc
@@ -83839,25 +83872,25 @@ __367:
 	}
 	(*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema)).Fenc = enc
 	Xsqlite3SetTextEncoding(tls, db, enc)
-	goto __369
-__370:
-	;
-	goto __368
-__368:
-	pEnc += 16
-	goto __367
-	goto __369
-__369:
-	;
-	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
-		goto __371
-	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18008, libc.VaList(bp+456, zRight))
+	goto __370
 __371:
 	;
-__366:
+	goto __369
+__369:
+	pEnc += 16
+	goto __368
+	goto __370
+__370:
 	;
-__364:
+	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
+		goto __372
+	}
+	Xsqlite3ErrorMsg(tls, pParse, ts+18055, libc.VaList(bp+456, zRight))
+__372:
+	;
+__367:
+	;
+__365:
 	;
 	goto __15
 
@@ -83865,15 +83898,15 @@ __46:
 	iCookie = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiArg)
 	Xsqlite3VdbeUsesBtree(tls, v, iDb)
 	if !(zRight != 0 && int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_ReadOnly == 0) {
-		goto __372
+		goto __373
 	}
 
 	aOp3 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(setCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&setCookie)), 0)
 	if !(0 != 0) {
-		goto __374
+		goto __375
 	}
 	goto __15
-__374:
+__375:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp3)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp1 = iDb
@@ -83881,41 +83914,41 @@ __374:
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp3 = Xsqlite3Atoi(tls, zRight)
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp5 = U16(1)
 	if !(iCookie == BTREE_SCHEMA_VERSION && (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0)) {
-		goto __375
+		goto __376
 	}
 
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fopcode = U8(OP_Noop)
-__375:
+__376:
 	;
-	goto __373
-__372:
+	goto __374
+__373:
 	;
 	aOp4 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(readCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&readCookie)), 0)
 	if !(0 != 0) {
-		goto __376
+		goto __377
 	}
 	goto __15
-__376:
+__377:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp4)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp3 = iCookie
 	Xsqlite3VdbeReusable(tls, v)
-__373:
+__374:
 	;
 	goto __15
 
 __47:
 	i10 = 0
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 1
-__377:
+__378:
 	if !(libc.AssignUintptr(&zOpt, Xsqlite3_compileoption_get(tls, libc.PostIncInt32(&i10, 1))) != uintptr(0)) {
-		goto __378
+		goto __379
 	}
 	Xsqlite3VdbeLoadString(tls, v, 1, zOpt)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1)
-	goto __377
-__378:
+	goto __378
+__379:
 	;
 	Xsqlite3VdbeReusable(tls, v)
 
@@ -83930,31 +83963,31 @@ __48:
 	}()
 	eMode2 = SQLITE_CHECKPOINT_PASSIVE
 	if !(zRight != 0) {
-		goto __379
-	}
-	if !(Xsqlite3StrICmp(tls, zRight, ts+17338) == 0) {
 		goto __380
 	}
+	if !(Xsqlite3StrICmp(tls, zRight, ts+17338) == 0) {
+		goto __381
+	}
 	eMode2 = SQLITE_CHECKPOINT_FULL
-	goto __381
-__380:
-	if !(Xsqlite3StrICmp(tls, zRight, ts+18033) == 0) {
-		goto __382
+	goto __382
+__381:
+	if !(Xsqlite3StrICmp(tls, zRight, ts+18080) == 0) {
+		goto __383
 	}
 	eMode2 = SQLITE_CHECKPOINT_RESTART
-	goto __383
-__382:
+	goto __384
+__383:
 	if !(Xsqlite3StrICmp(tls, zRight, ts+17491) == 0) {
-		goto __384
+		goto __385
 	}
 	eMode2 = SQLITE_CHECKPOINT_TRUNCATE
+__385:
+	;
 __384:
 	;
-__383:
+__382:
 	;
-__381:
-	;
-__379:
+__380:
 	;
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 3
 	Xsqlite3VdbeAddOp3(tls, v, OP_Checkpoint, iBt, eMode2, 1)
@@ -83964,10 +83997,10 @@ __379:
 
 __49:
 	if !(zRight != 0) {
-		goto __385
+		goto __386
 	}
 	Xsqlite3_wal_autocheckpoint(tls, db, Xsqlite3Atoi(tls, zRight))
-__385:
+__386:
 	;
 	returnSingleInt(tls, v,
 		func() int64 {
@@ -83987,19 +84020,19 @@ __50:
 
 __51:
 	if !(zRight != 0) {
-		goto __386
+		goto __387
 	}
 	opMask = U32(Xsqlite3Atoi(tls, zRight))
 	if !(opMask&U32(0x02) == U32(0)) {
-		goto __388
+		goto __389
 	}
 	goto __15
-__388:
+__389:
 	;
-	goto __387
-__386:
-	opMask = U32(0xfffe)
+	goto __388
 __387:
+	opMask = U32(0xfffe)
+__388:
 	;
 	iTabCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1)
 	iDbLast = func() int32 {
@@ -84008,86 +84041,86 @@ __387:
 		}
 		return (*Sqlite3)(unsafe.Pointer(db)).FnDb - 1
 	}()
-__389:
+__390:
 	if !(iDb <= iDbLast) {
-		goto __391
-	}
-	if !(iDb == 1) {
 		goto __392
 	}
-	goto __390
-__392:
+	if !(iDb == 1) {
+		goto __393
+	}
+	goto __391
+__393:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
 	pSchema = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema
 	k4 = (*Hash)(unsafe.Pointer(pSchema + 8)).Ffirst
-__393:
+__394:
 	if !(k4 != 0) {
-		goto __395
+		goto __396
 	}
 	pTab10 = (*HashElem)(unsafe.Pointer(k4)).Fdata
 
 	if !((*Table)(unsafe.Pointer(pTab10)).FtabFlags&U32(TF_StatsUsed) == U32(0)) {
-		goto __396
+		goto __397
 	}
-	goto __394
-__396:
+	goto __395
+__397:
 	;
 	szThreshold = LogEst(int32((*Table)(unsafe.Pointer(pTab10)).FnRowLogEst) + 46)
 	pIdx6 = (*Table)(unsafe.Pointer(pTab10)).FpIndex
-__397:
+__398:
 	if !(pIdx6 != 0) {
-		goto __399
-	}
-	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
 		goto __400
 	}
+	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
+		goto __401
+	}
 	szThreshold = int16(0)
-	goto __399
-__400:
+	goto __400
+__401:
 	;
-	goto __398
-__398:
-	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
-	goto __397
 	goto __399
 __399:
+	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
+	goto __398
+	goto __400
+__400:
 	;
 	if !(szThreshold != 0) {
-		goto __401
+		goto __402
 	}
 	Xsqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab10, OP_OpenRead)
 	Xsqlite3VdbeAddOp3(tls, v, OP_IfSmaller, iTabCur,
 		int32(U32(Xsqlite3VdbeCurrentAddr(tls, v)+2)+opMask&U32(1)), int32(szThreshold))
 
-__401:
+__402:
 	;
-	zSubSql = Xsqlite3MPrintf(tls, db, ts+18041,
+	zSubSql = Xsqlite3MPrintf(tls, db, ts+18088,
 		libc.VaList(bp+464, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab10)).FzName))
 	if !(opMask&U32(0x01) != 0) {
-		goto __402
+		goto __403
 	}
 	r11 = Xsqlite3GetTempReg(tls, pParse)
 	Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, r11, 0, zSubSql, -6)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, r11, 1)
-	goto __403
-__402:
-	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+	goto __404
 __403:
+	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+__404:
 	;
-	goto __394
-__394:
-	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
-	goto __393
 	goto __395
 __395:
+	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
+	goto __394
+	goto __396
+__396:
 	;
-	goto __390
-__390:
-	iDb++
-	goto __389
 	goto __391
 __391:
+	iDb++
+	goto __390
+	goto __392
+__392:
 	;
 	Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
 	goto __15
@@ -84095,36 +84128,36 @@ __391:
 __52:
 	;
 	if !(zRight != 0) {
-		goto __404
+		goto __405
 	}
 	Xsqlite3_busy_timeout(tls, db, Xsqlite3Atoi(tls, zRight))
-__404:
+__405:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout))
 	goto __15
 
 __53:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+640) == SQLITE_OK) {
-		goto __405
+		goto __406
 	}
 	Xsqlite3_soft_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 640)))
-__405:
+__406:
 	;
 	returnSingleInt(tls, v, Xsqlite3_soft_heap_limit64(tls, int64(-1)))
 	goto __15
 
 __54:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+648) == SQLITE_OK) {
-		goto __406
+		goto __407
 	}
 	iPrior = Xsqlite3_hard_heap_limit64(tls, int64(-1))
 	if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 648)) > int64(0) && (iPrior == int64(0) || iPrior > *(*Sqlite3_int64)(unsafe.Pointer(bp + 648)))) {
-		goto __407
+		goto __408
 	}
 	Xsqlite3_hard_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 648)))
-__407:
+__408:
 	;
-__406:
+__407:
 	;
 	returnSingleInt(tls, v, Xsqlite3_hard_heap_limit64(tls, int64(-1)))
 	goto __15
@@ -84133,10 +84166,10 @@ __55:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+656) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 656)) >= int64(0)) {
-		goto __408
+		goto __409
 	}
 	Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 656))&int64(0x7fffffff)))
-__408:
+__409:
 	;
 	returnSingleInt(tls, v, int64(Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, -1)))
 	goto __15
@@ -84145,10 +84178,10 @@ __56:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+664) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 664)) >= int64(0)) {
-		goto __409
+		goto __410
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 664)) & int64(0x7fffffff))
-__409:
+__410:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit))
 	goto __15
@@ -84156,10 +84189,10 @@ __409:
 __15:
 	;
 	if !(int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_NoColumns1 != 0 && zRight != 0) {
-		goto __410
+		goto __411
 	}
 
-__410:
+__411:
 	;
 pragma_out:
 	Xsqlite3DbFree(tls, db, zLeft)
@@ -84211,14 +84244,14 @@ var endCode = [7]VdbeOpList{
 	{Fopcode: U8(OP_Goto), Fp2: int8(3)},
 }
 var encnames1 = [9]EncName{
-	{FzName: ts + 18059, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18064, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18070, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18079, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18088, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18096, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18104},
-	{FzName: ts + 18111},
+	{FzName: ts + 18106, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18111, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18117, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18126, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18135, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18143, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18151},
+	{FzName: ts + 18158},
 	{},
 }
 var setCookie = [2]VdbeOpList{
@@ -84270,7 +84303,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	_ = argc
 	_ = argv
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), bp+64, int32(unsafe.Sizeof([200]int8{})), 0)
-	Xsqlite3_str_appendall(tls, bp+32, ts+18117)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18164)
 	i = 0
 	j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName)
 __1:
@@ -84278,7 +84311,7 @@ __1:
 		goto __3
 	}
 	{
-		Xsqlite3_str_appendf(tls, bp+32, ts+18132, libc.VaList(bp, int32(cSep), pragCName[j]))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18179, libc.VaList(bp, int32(cSep), pragCName[j]))
 		cSep = int8(',')
 
 	}
@@ -84291,16 +84324,16 @@ __2:
 __3:
 	;
 	if i == 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18139, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18186, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
 		i++
 	}
 	j = 0
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_Result1 != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18145)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18192)
 		j++
 	}
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(PragFlg_SchemaOpt|PragFlg_SchemaReq) != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18157)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18204)
 		j++
 	}
 	Xsqlite3_str_append(tls, bp+32, ts+4950, 1)
@@ -84483,13 +84516,13 @@ __2:
 __3:
 	;
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4)))
-	Xsqlite3_str_appendall(tls, bp+32, ts+18172)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18219)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18180, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18227, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
 	}
 	Xsqlite3_str_appendall(tls, bp+32, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18184, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18231, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
 	}
 	zSql = Xsqlite3StrAccumFinish(tls, bp+32)
 	if zSql == uintptr(0) {
@@ -84566,12 +84599,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 	} else if *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) != uintptr(0) {
 	} else if (*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask) != 0 {
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db,
-			ts+18188, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
+			ts+18235, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
 				azAlterType[(*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask)-U32(1)],
 				zExtra))
 		(*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR
 	} else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137196)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137249)
 	} else {
 		var z uintptr
 		var zObj uintptr
@@ -84580,19 +84613,19 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 		} else {
 			zObj = ts + 5001
 		}
-		z = Xsqlite3MPrintf(tls, db, ts+18216, libc.VaList(bp+32, zObj))
+		z = Xsqlite3MPrintf(tls, db, ts+18263, libc.VaList(bp+32, zObj))
 		if zExtra != 0 && *(*int8)(unsafe.Pointer(zExtra)) != 0 {
-			z = Xsqlite3MPrintf(tls, db, ts+18247, libc.VaList(bp+40, z, zExtra))
+			z = Xsqlite3MPrintf(tls, db, ts+18294, libc.VaList(bp+40, z, zExtra))
 		}
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137203)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137256)
 	}
 }
 
 var azAlterType = [3]uintptr{
-	ts + 18255,
-	ts + 18262,
-	ts + 18274,
+	ts + 18302,
+	ts + 18309,
+	ts + 18321,
 }
 
 // Check to see if any sibling index (another index on the same table)
@@ -84684,7 +84717,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr
 		var pIndex uintptr
 		pIndex = Xsqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName)
 		if pIndex == uintptr(0) {
-			corruptSchema(tls, pData, argv, ts+18285)
+			corruptSchema(tls, pData, argv, ts+18332)
 		} else if Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2) ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage ||
@@ -84732,7 +84765,7 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl
 	}())
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 16 + 1*8))
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 3*8)) = ts + 7931
-	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18298
+	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18345
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 5*8)) = uintptr(0)
 	(*InitData)(unsafe.Pointer(bp + 64)).Fdb = db
 	(*InitData)(unsafe.Pointer(bp + 64)).FiDb = iDb
@@ -84861,7 +84894,7 @@ __18:
 	if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) {
 		goto __19
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+18370)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+18417)
 	rc = SQLITE_ERROR
 	goto initone_error_out
 __19:
@@ -84875,7 +84908,7 @@ __20:
 	(*InitData)(unsafe.Pointer(bp + 64)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt)
 
 	zSql = Xsqlite3MPrintf(tls, db,
-		ts+18394,
+		ts+18441,
 		libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zSchemaTabName))
 
 	xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth
@@ -85207,7 +85240,7 @@ __4:
 		goto __8
 	}
 	zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName
-	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18428, libc.VaList(bp, zDb))
+	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18475, libc.VaList(bp, zDb))
 
 	goto end_prepare
 __8:
@@ -85237,7 +85270,7 @@ __9:
 	if !(nBytes > mxLen) {
 		goto __12
 	}
-	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18458, 0)
+	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18505, 0)
 	rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG)
 	goto end_prepare
 __12:
@@ -85333,7 +85366,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 137995)
+		return Xsqlite3MisuseError(tls, 138048)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	Xsqlite3BtreeEnterAll(tls, db)
@@ -85432,7 +85465,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 138143)
+		return Xsqlite3MisuseError(tls, 138196)
 	}
 	if nBytes >= 0 {
 		var sz int32
@@ -85759,13 +85792,13 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC
 			zSp2++
 		}
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+18477, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
+			ts+18524, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
 		jointype = JT_INNER
 	}
 	return jointype
 }
 
-var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18507))
+var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18554))
 var aKeyword = [7]struct {
 	Fi     U8
 	FnChar U8
@@ -85940,7 +85973,7 @@ __1:
 			var pUsing uintptr = uintptr(0)
 			if uint32(int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+18541, libc.VaList(bp, 0))
+					ts+18588, libc.VaList(bp, 0))
 				return 1
 			}
 			for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ {
@@ -85985,7 +86018,7 @@ __1:
 					tableAndColumnIndex(tls, pSrc, 0, i, zName, bp+24, bp+28,
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) == 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+18591, libc.VaList(bp+8, zName))
+						ts+18638, libc.VaList(bp+8, zName))
 					return 1
 				}
 				pE1 = Xsqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 28)))
@@ -85996,7 +86029,7 @@ __1:
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) != 0 {
 						if int32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 60 + 4))&0x400>>10) == 0 ||
 							Xsqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 72)), zName) < 0 {
-							Xsqlite3ErrorMsg(tls, pParse, ts+18655,
+							Xsqlite3ErrorMsg(tls, pParse, ts+18702,
 								libc.VaList(bp+16, zName))
 							break
 						}
@@ -86624,16 +86657,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr {
 	var z uintptr
 	switch id {
 	case TK_ALL:
-		z = ts + 18692
+		z = ts + 18739
 		break
 	case TK_INTERSECT:
-		z = ts + 18702
+		z = ts + 18749
 		break
 	case TK_EXCEPT:
-		z = ts + 18712
+		z = ts + 18759
 		break
 	default:
-		z = ts + 18719
+		z = ts + 18766
 		break
 	}
 	return z
@@ -86643,7 +86676,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18725, libc.VaList(bp, zUsage))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18772, libc.VaList(bp, zUsage))
 }
 
 func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) {
@@ -86669,9 +86702,9 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n
 	var nRefKey int32 = 0
 	var aOutEx uintptr = (*Select)(unsafe.Pointer(p)).FpEList + 8
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18748, libc.VaList(bp, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18795, libc.VaList(bp, func() uintptr {
 		if (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 {
-			return ts + 18779
+			return ts + 18826
 		}
 		return ts + 1547
 	}()))
@@ -87015,7 +87048,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr)
 		} else {
 			var z uintptr = (*ExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32)).FzEName
 			if z == uintptr(0) {
-				z = Xsqlite3MPrintf(tls, db, ts+18794, libc.VaList(bp+16, i+1))
+				z = Xsqlite3MPrintf(tls, db, ts+18841, libc.VaList(bp+16, i+1))
 			} else {
 				z = Xsqlite3DbStrDup(tls, db, z)
 			}
@@ -87115,7 +87148,7 @@ __1:
 		if zName != 0 && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) {
 			zName = Xsqlite3DbStrDup(tls, db, zName)
 		} else {
-			zName = Xsqlite3MPrintf(tls, db, ts+18794, libc.VaList(bp, i+1))
+			zName = Xsqlite3MPrintf(tls, db, ts+18841, libc.VaList(bp, i+1))
 		}
 
 		*(*U32)(unsafe.Pointer(bp + 56)) = U32(0)
@@ -87131,7 +87164,7 @@ __1:
 					nName = j
 				}
 			}
-			zName = Xsqlite3MPrintf(tls, db, ts+18803, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
+			zName = Xsqlite3MPrintf(tls, db, ts+18850, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
 			Xsqlite3ProgressCheck(tls, pParse)
 			if *(*U32)(unsafe.Pointer(bp + 56)) > U32(3) {
 				Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56)
@@ -87214,8 +87247,6 @@ __1:
 		(*Column)(unsafe.Pointer(pCol)).Faffinity = Xsqlite3ExprAffinity(tls, p)
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) <= SQLITE_AFF_NONE {
 			(*Column)(unsafe.Pointer(pCol)).Faffinity = aff
-		} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
-			(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
 		}
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_TEXT && (*Select)(unsafe.Pointer(pSelect)).FpNext != 0 {
 			var m int32 = 0
@@ -87230,12 +87261,15 @@ __1:
 			} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && m&0x02 != 0 {
 				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_BLOB)
 			}
+			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
+				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
+			}
 		}
 		zType = columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0))
 		if zType == uintptr(0) || int32((*Column)(unsafe.Pointer(pCol)).Faffinity) != int32(Xsqlite3AffinityType(tls, zType, uintptr(0))) {
 			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_NUMERIC ||
 				int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_FLEXNUM {
-				zType = ts + 18811
+				zType = ts + 18858
 			} else {
 				zType = uintptr(0)
 				for j = 1; j < SQLITE_N_STDTYPE; j++ {
@@ -87451,7 +87485,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest
 	if !((*Select)(unsafe.Pointer(p)).FpWin != 0) {
 		goto __1
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18815, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18862, 0)
 	return
 __1:
 	;
@@ -87542,7 +87576,7 @@ __12:
 	if !((*Select)(unsafe.Pointer(pFirstRec)).FselFlags&U32(SF_Aggregate) != 0) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18864, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18911, 0)
 	goto end_of_recursive_query
 __15:
 	;
@@ -87562,7 +87596,7 @@ __14:
 	;
 	pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18906, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18953, 0)
 	rc = Xsqlite3Select(tls, pParse, pSetup, bp)
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = p
 	if !(rc != 0) {
@@ -87599,7 +87633,7 @@ __20:
 	Xsqlite3VdbeResolveLabel(tls, v, addrCont)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18912, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18959, 0)
 	Xsqlite3Select(tls, pParse, p, bp)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup
@@ -87633,11 +87667,11 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 		p = (*Select)(unsafe.Pointer(p)).FpPrior
 		nRow = nRow + bShowAll
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18927, libc.VaList(bp, nRow, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18974, libc.VaList(bp, nRow, func() uintptr {
 		if nRow == 1 {
 			return ts + 1547
 		}
-		return ts + 18950
+		return ts + 18997
 	}()))
 	for p != 0 {
 		selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1)
@@ -87738,8 +87772,8 @@ __6:
 	if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) {
 		goto __8
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18952, 0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18967, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18999, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19014, 0)
 __8:
 	;
 	switch int32((*Select)(unsafe.Pointer(p)).Fop) {
@@ -87786,7 +87820,7 @@ __16:
 	;
 __15:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18692, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18739, 0)
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+16)
 
@@ -87853,7 +87887,7 @@ __23:
 	pLimit = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 64)).FeDest = op
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18986, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19033, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+64)
 
@@ -87915,7 +87949,7 @@ __26:
 	pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 104)).FiSDParm = tab2
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18986, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19033, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+104)
 
@@ -88068,10 +88102,10 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr)
 	defer tls.Free(8)
 
 	if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Values) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19007, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+19054, 0)
 	} else {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+19053,
+			ts+19100,
 			libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 	}
 }
@@ -88325,8 +88359,8 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	(*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0)
 
 	(*Select)(unsafe.Pointer(pPrior)).FpOrderBy = Xsqlite3ExprListDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7227)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7227)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7216)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7216)
 
 	computeLimitRegisters(tls, pParse, p, labelEnd)
 	if (*Select)(unsafe.Pointer(p)).FiLimit != 0 && op == TK_ALL {
@@ -88353,13 +88387,13 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	Xsqlite3SelectDestInit(tls, bp+8, SRT_Coroutine, regAddrA)
 	Xsqlite3SelectDestInit(tls, bp+48, SRT_Coroutine, regAddrB)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19135, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19182, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	addrSelectA = Xsqlite3VdbeCurrentAddr(tls, v) + 1
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA)
 
 	(*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19146, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19193, 0)
 	Xsqlite3Select(tls, pParse, pPrior, bp+8)
 	Xsqlite3VdbeEndCoroutine(tls, v, regAddrA)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
@@ -88371,7 +88405,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset
 	(*Select)(unsafe.Pointer(p)).FiLimit = regLimitB
 	(*Select)(unsafe.Pointer(p)).FiOffset = 0
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19151, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19198, 0)
 	Xsqlite3Select(tls, pParse, p, bp+48)
 	(*Select)(unsafe.Pointer(p)).FiLimit = savedLimit
 	(*Select)(unsafe.Pointer(p)).FiOffset = savedOffset
@@ -88559,7 +88593,8 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr {
 				Xsqlite3VectorErrorMsg(tls, (*SubstContext)(unsafe.Pointer(pSubst)).FpParse, pCopy)
 			} else {
 				var db uintptr = (*Parse)(unsafe.Pointer((*SubstContext)(unsafe.Pointer(pSubst)).FpParse)).Fdb
-				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 && int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN {
+				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 &&
+					(int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN || (*Expr)(unsafe.Pointer(pCopy)).FiTable != (*SubstContext)(unsafe.Pointer(pSubst)).FiNewTable) {
 					libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(Expr{})))
 					(*Expr)(unsafe.Pointer(bp)).Fop = U8(TK_IF_NULL_ROW)
 					(*Expr)(unsafe.Pointer(bp)).FpLeft = pCopy
@@ -89458,7 +89493,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	for pIdx = (*Table)(unsafe.Pointer(pTab)).FpIndex; pIdx != 0 && Xsqlite3StrICmp(tls, (*Index)(unsafe.Pointer(pIdx)).FzName, zIndexedBy) != 0; pIdx = (*Index)(unsafe.Pointer(pIdx)).FpNext {
 	}
 	if !(pIdx != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19157, libc.VaList(bp, zIndexedBy, 0))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19204, libc.VaList(bp, zIndexedBy, 0))
 		(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 		return SQLITE_ERROR
 	}
@@ -89541,7 +89576,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 {
 	defer tls.Free(8)
 
 	if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19175, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19222, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
 		return 1
 	}
 	return 0
@@ -89670,7 +89705,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		*(*U32)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= U32(SF_CopyCte)
 
 		if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19198, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
+			Xsqlite3ErrorMsg(tls, pParse, ts+19245, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
 			return 2
 		}
 		libc.SetBitFieldPtr16Uint32(pFrom+60+4, uint32(1), 8, 0x100)
@@ -89693,7 +89728,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 					libc.SetBitFieldPtr16Uint32(pItem+60+4, uint32(1), 6, 0x40)
 					if (*Select)(unsafe.Pointer(pRecTerm)).FselFlags&U32(SF_Recursive) != 0 {
 						Xsqlite3ErrorMsg(tls, pParse,
-							ts+19218, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
+							ts+19265, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
 						return 2
 					}
 					*(*U32)(unsafe.Pointer(pRecTerm + 4)) |= U32(SF_Recursive)
@@ -89709,7 +89744,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 			pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior
 		}
 
-		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19261
+		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19308
 		pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith
 		(*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 48))
 		if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
@@ -89735,7 +89770,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		pEList = (*Select)(unsafe.Pointer(pLeft)).FpEList
 		if (*Cte)(unsafe.Pointer(pCte)).FpCols != 0 {
 			if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr != (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19284,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19331,
 					libc.VaList(bp+24, (*Cte)(unsafe.Pointer(pCte)).FzName, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr))
 				(*Parse)(unsafe.Pointer(pParse)).FpWith = pSavedWith
 				return 2
@@ -89746,9 +89781,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		Xsqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8)
 		if bMayRecursive != 0 {
 			if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19322
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19369
 			} else {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19356
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19403
 			}
 			Xsqlite3WalkSelect(tls, pWalker, pSel)
 		}
@@ -89795,7 +89830,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	if (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 {
 		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3DbStrDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias)
 	} else {
-		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19394, libc.VaList(bp, pFrom))
+		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19441, libc.VaList(bp, pFrom))
 	}
 	for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 {
 		pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior
@@ -89907,7 +89942,7 @@ __1:
 				return WRC_Abort
 			}
 			if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19398,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19445,
 					libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 				(*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0)
 				return WRC_Abort
@@ -89926,7 +89961,7 @@ __1:
 				if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW {
 					if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) &&
 						(*Table)(unsafe.Pointer(pTab)).FpSchema != (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19437,
+						Xsqlite3ErrorMsg(tls, pParse, ts+19484,
 							libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName))
 					}
 					(*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, *(*uintptr)(unsafe.Pointer(pTab + 64)), 0)
@@ -90050,7 +90085,7 @@ __3:
 							if pNew != 0 {
 								var pX uintptr = pNew + 8 + uintptr((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1)*32
 
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19468, libc.VaList(bp+24, zUName))
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19515, libc.VaList(bp+24, zUName))
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(ENAME_TAB), 0, 0x3)
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(1), 7, 0x80)
 							}
@@ -90115,7 +90150,7 @@ __3:
 								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(pNestedFrom+8+uintptr(j)*32)).FzEName)
 
 							} else {
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19473,
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19520,
 									libc.VaList(bp+32, zSchemaName, zTabName, zName))
 
 							}
@@ -90146,9 +90181,9 @@ __3:
 				;
 				if !(tableSeen != 0) {
 					if zTName != 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19482, libc.VaList(bp+72, zTName))
+						Xsqlite3ErrorMsg(tls, pParse, ts+19529, libc.VaList(bp+72, zTName))
 					} else {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19500, 0)
+						Xsqlite3ErrorMsg(tls, pParse, ts+19547, 0)
 					}
 				}
 			}
@@ -90158,7 +90193,7 @@ __3:
 	}
 	if (*Select)(unsafe.Pointer(p)).FpEList != 0 {
 		if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19520, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+19567, 0)
 			return WRC_Abort
 		}
 		if elistFlags&U32(EP_HasFunc|EP_Subquery) != U32(0) {
@@ -90296,7 +90331,7 @@ func optimizeAggregateUseOfIndexedExpr(tls *libc.TLS, pParse uintptr, pSelect ui
 	(*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn = (*AggInfo)(unsafe.Pointer(pAggInfo)).FnAccumulator
 	if int32((*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn) > 0 {
 		if (*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn == 0 {
-			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(0)
+			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpGroupBy)).FnExpr)
 		} else {
 			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(int32((*AggInfo_col)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaCol+uintptr((*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn-1)*24)).FiSorterColumn) + 1)
 		}
@@ -90380,13 +90415,13 @@ __1:
 
 			if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != 1 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+19551, 0)
+					ts+19598, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1
 			} else {
 				var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral,
 					(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -8)
-				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19602, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
+				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19649, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
 			}
 		}
 
@@ -90575,11 +90610,11 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt
 
 	if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 {
 		var bCover int32 = libc.Bool32(pIdx != uintptr(0) && ((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0) || !(int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY)))
-		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19635,
+		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19682,
 			libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName,
 				func() uintptr {
 					if bCover != 0 {
-						return ts + 19647
+						return ts + 19694
 					}
 					return ts + 1547
 				}(),
@@ -90907,7 +90942,7 @@ __5:
 		goto __7
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+19670,
+		ts+19717,
 		libc.VaList(bp, func() uintptr {
 			if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 {
 				return (*SrcItem)(unsafe.Pointer(p0)).FzAlias
@@ -90968,7 +91003,7 @@ __14:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19724,
+	Xsqlite3ErrorMsg(tls, pParse, ts+19771,
 		libc.VaList(bp+8, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr))
 	goto select_end
 __15:
@@ -91110,7 +91145,7 @@ __33:
 
 	(*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19764, libc.VaList(bp+32, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19811, libc.VaList(bp+32, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	libc.SetBitFieldPtr16Uint32(pItem1+60+4, uint32(1), 5, 0x20)
@@ -91169,7 +91204,7 @@ __43:
 	;
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19779, libc.VaList(bp+40, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19826, libc.VaList(bp+40, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	if !(onceAddr != 0) {
@@ -91640,9 +91675,9 @@ __101:
 	explainTempTable(tls, pParse,
 		func() uintptr {
 			if (*DistinctCtx)(unsafe.Pointer(bp+136)).FisTnct != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct) == U32(0) {
-				return ts + 19795
+				return ts + 19842
 			}
-			return ts + 19804
+			return ts + 19851
 		}())
 
 	groupBySort = 1
@@ -91993,7 +92028,7 @@ __65:
 	if !(int32((*DistinctCtx)(unsafe.Pointer(bp+136)).FeTnctType) == WHERE_DISTINCT_UNORDERED) {
 		goto __146
 	}
-	explainTempTable(tls, pParse, ts+19795)
+	explainTempTable(tls, pParse, ts+19842)
 __146:
 	;
 	if !((*SortCtx)(unsafe.Pointer(bp+48)).FpOrderBy != 0) {
@@ -92098,7 +92133,7 @@ __5:
 	}
 	Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg)
 	(*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+19813, 0)
+		ts+19860, 0)
 	(*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 	return 1
 __11:
@@ -92331,7 +92366,7 @@ func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2
 	if !((*Token)(unsafe.Pointer(pName2)).Fn > uint32(0)) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19878, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19925, 0)
 	goto trigger_cleanup
 __3:
 	;
@@ -92375,7 +92410,7 @@ __7:
 	goto trigger_cleanup
 __8:
 	;
-	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+19924, *(*uintptr)(unsafe.Pointer(bp + 32)))
+	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+19971, *(*uintptr)(unsafe.Pointer(bp + 32)))
 	if !(Xsqlite3FixSrcList(tls, bp+40, pTableName) != 0) {
 		goto __9
 	}
@@ -92393,7 +92428,7 @@ __10:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB) {
 		goto __11
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19932, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19979, 0)
 	goto trigger_orphan_error
 __11:
 	;
@@ -92405,7 +92440,7 @@ __11:
 	goto trigger_cleanup
 __12:
 	;
-	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19924, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
+	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19971, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
 		goto __13
 	}
 	goto trigger_cleanup
@@ -92420,11 +92455,12 @@ __13:
 	if !!(noErr != 0) {
 		goto __16
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19973, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20020, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
 	goto __17
 __16:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
+
 __17:
 	;
 	goto trigger_cleanup
@@ -92435,19 +92471,19 @@ __14:
 	if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+6374, 7) == 0) {
 		goto __18
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19999, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20046, 0)
 	goto trigger_cleanup
 __18:
 	;
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW && tr_tm != TK_INSTEAD) {
 		goto __19
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20037,
+	Xsqlite3ErrorMsg(tls, pParse, ts+20084,
 		libc.VaList(bp+8, func() uintptr {
 			if tr_tm == TK_BEFORE {
-				return ts + 20074
+				return ts + 20121
 			}
-			return ts + 20081
+			return ts + 20128
 		}(), pTableName+8))
 	goto trigger_orphan_error
 __19:
@@ -92456,7 +92492,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20087, libc.VaList(bp+24, pTableName+8))
+		ts+20134, libc.VaList(bp+24, pTableName+8))
 	goto trigger_orphan_error
 __20:
 	;
@@ -92605,7 +92641,7 @@ __2:
 __3:
 	;
 	Xsqlite3TokenInit(tls, bp+56, (*Trigger)(unsafe.Pointer(pTrig)).FzName)
-	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+19924, bp+56)
+	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+19971, bp+56)
 	if !(Xsqlite3FixTriggerStep(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 ||
 		Xsqlite3FixExpr(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0) {
 		goto __4
@@ -92638,7 +92674,7 @@ __9:
 		goto __12
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20133,
+		ts+20180,
 		libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrig)).FzName, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget))
 	goto triggerfinish_cleanup
 __12:
@@ -92663,13 +92699,13 @@ __13:
 	z = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pAll)).Fz, uint64((*Token)(unsafe.Pointer(pAll)).Fn))
 
 	Xsqlite3NestedParse(tls, pParse,
-		ts+20181,
+		ts+20228,
 		libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName,
 			(*Trigger)(unsafe.Pointer(pTrig)).Ftable, z))
 	Xsqlite3DbFree(tls, db, z)
 	Xsqlite3ChangeCookie(tls, pParse, iDb)
 	Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb,
-		Xsqlite3MPrintf(tls, db, ts+20256, libc.VaList(bp+48, zName)), uint16(0))
+		Xsqlite3MPrintf(tls, db, ts+20303, libc.VaList(bp+48, zName)), uint16(0))
 __7:
 	;
 __6:
@@ -92925,7 +92961,7 @@ __5:
 	if !!(noErr != 0) {
 		goto __9
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20285, libc.VaList(bp, pName+8))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20332, libc.VaList(bp, pName+8))
 	goto __10
 __9:
 	Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb)
@@ -92978,7 +93014,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) {
 
 	if libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse)) != uintptr(0) {
 		Xsqlite3NestedParse(tls, pParse,
-			ts+20305,
+			ts+20352,
 			libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Trigger)(unsafe.Pointer(pTrigger)).FzName))
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 		Xsqlite3VdbeAddOp4(tls, v, OP_DropTrigger, iDb, 0, 0, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, 0)
@@ -93092,12 +93128,12 @@ __9:
 		goto __15
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20367,
+		ts+20414,
 		libc.VaList(bp, func() uintptr {
 			if op == TK_DELETE {
-				return ts + 20415
+				return ts + 20462
 			}
-			return ts + 20422
+			return ts + 20469
 		}()))
 __15:
 	;
@@ -93211,7 +93247,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 {
 	if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK {
 		return 0
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20429, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20476, 0)
 	return 1
 }
 
@@ -93277,7 +93313,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab
 	}
 	Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(bp)).FpEList)
 	pNew = sqlite3ExpandReturning(tls, pParse, (*Returning)(unsafe.Pointer(pReturning)).FpReturnEL, pTab)
-	if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) {
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 {
 		libc.Xmemset(tls, bp+240, 0, uint64(unsafe.Sizeof(NameContext{})))
 		if (*Returning)(unsafe.Pointer(pReturning)).FnRetCol == 0 {
 			(*Returning)(unsafe.Pointer(pReturning)).FnRetCol = (*ExprList)(unsafe.Pointer(pNew)).FnExpr
@@ -93441,7 +93477,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt
 	if v != 0 {
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 {
 			Xsqlite3VdbeChangeP4(tls, v, -1,
-				Xsqlite3MPrintf(tls, db, ts+20471, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
+				Xsqlite3MPrintf(tls, db, ts+20518, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
 		}
 
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FpWhen != 0 {
@@ -94034,7 +94070,7 @@ __25:
 	}
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20485,
+		ts+20532,
 		libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*24)).FzCnName))
 	goto update_cleanup
 __27:
@@ -94066,7 +94102,7 @@ __21:
 	iRowidExpr = i
 	goto __30
 __29:
-	Xsqlite3ErrorMsg(tls, pParse, ts+20521, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20568, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
 	(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 	goto update_cleanup
 __30:
@@ -94392,7 +94428,12 @@ __74:
 	goto __77
 __76:
 	flags = WHERE_ONEPASS_DESIRED
-	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) && !(pTrigger != 0) && !(hasFK != 0) && !(chngKey != 0) && !(*(*int32)(unsafe.Pointer(bp + 104)) != 0)) {
+	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) &&
+		!(pTrigger != 0) &&
+		!(hasFK != 0) &&
+		!(chngKey != 0) &&
+		!(*(*int32)(unsafe.Pointer(bp + 104)) != 0) &&
+		(*NameContext)(unsafe.Pointer(bp+40)).FncFlags&NC_Subquery == 0) {
 		goto __78
 	}
 	flags = flags | WHERE_ONEPASS_MULTIROW
@@ -94946,7 +94987,7 @@ __168:
 	if !(regRowCount != 0) {
 		goto __169
 	}
-	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20540)
+	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20587)
 __169:
 	;
 update_cleanup:
@@ -95252,10 +95293,10 @@ __1:
 			if nClause == 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) {
 				*(*int8)(unsafe.Pointer(bp + 216)) = int8(0)
 			} else {
-				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216, ts+20553, libc.VaList(bp, nClause+1))
+				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216, ts+20600, libc.VaList(bp, nClause+1))
 			}
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+20557, libc.VaList(bp+8, bp+216))
+				ts+20604, libc.VaList(bp+8, bp+216))
 			return SQLITE_ERROR
 		}
 
@@ -95378,7 +95419,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 {
 		var zSubSql uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
 
 		if zSubSql != 0 &&
-			(libc.Xstrncmp(tls, zSubSql, ts+20630, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20634, uint64(3)) == 0) {
+			(libc.Xstrncmp(tls, zSubSql, ts+20677, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20681, uint64(3)) == 0) {
 			rc = execSql(tls, db, pzErrMsg, zSubSql)
 			if rc != SQLITE_OK {
 				break
@@ -95526,14 +95567,14 @@ func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p
 	if !!(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) {
 		goto __1
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20638)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20685)
 	return SQLITE_ERROR
 __1:
 	;
 	if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) {
 		goto __2
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20678)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20725)
 	return SQLITE_ERROR
 __2:
 	;
@@ -95544,7 +95585,7 @@ __2:
 	if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) {
 		goto __5
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20721)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20768)
 	return SQLITE_ERROR
 __5:
 	;
@@ -95572,7 +95613,7 @@ __4:
 	isMemDb = Xsqlite3PagerIsMemdb(tls, Xsqlite3BtreePager(tls, pMain))
 
 	nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb
-	rc = execSqlF(tls, db, pzErrMsg, ts+20739, libc.VaList(bp, zOut))
+	rc = execSqlF(tls, db, pzErrMsg, ts+20786, libc.VaList(bp, zOut))
 	(*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags
 	if !(rc != SQLITE_OK) {
 		goto __6
@@ -95592,7 +95633,7 @@ __6:
 		goto __8
 	}
 	rc = SQLITE_ERROR
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20762)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20809)
 	goto end_of_vacuum
 __8:
 	;
@@ -95652,7 +95693,7 @@ __12:
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb)
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20789,
+		ts+20836,
 		libc.VaList(bp+8, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __13
@@ -95661,7 +95702,7 @@ __12:
 __13:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20897,
+		ts+20944,
 		libc.VaList(bp+16, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __14
@@ -95672,7 +95713,7 @@ __14:
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
 
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20951,
+		ts+20998,
 		libc.VaList(bp+24, zDbMain))
 
 	*(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))
@@ -95683,7 +95724,7 @@ __14:
 __15:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+21102,
+		ts+21149,
 		libc.VaList(bp+32, zDbMain))
 	if !(rc != 0) {
 		goto __16
@@ -96112,11 +96153,11 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		if pEnd != 0 {
 			(*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32((int64((*Token)(unsafe.Pointer(pEnd)).Fz)-int64((*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz))/1)) + (*Token)(unsafe.Pointer(pEnd)).Fn
 		}
-		zStmt = Xsqlite3MPrintf(tls, db, ts+21232, libc.VaList(bp, pParse+272))
+		zStmt = Xsqlite3MPrintf(tls, db, ts+21279, libc.VaList(bp, pParse+272))
 
 		iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema)
 		Xsqlite3NestedParse(tls, pParse,
-			ts+21256,
+			ts+21303,
 			libc.VaList(bp+8, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
@@ -96126,7 +96167,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 
 		Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
-		zWhere = Xsqlite3MPrintf(tls, db, ts+21355, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
+		zWhere = Xsqlite3MPrintf(tls, db, ts+21402, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
 		Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0))
 		Xsqlite3DbFree(tls, db, zStmt)
 
@@ -96187,7 +96228,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	for pCtx = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx; pCtx != 0; pCtx = (*VtabCtx)(unsafe.Pointer(pCtx)).FpPrior {
 		if (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db,
-				ts+21374, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
+				ts+21421, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 			return SQLITE_LOCKED
 		}
 	}
@@ -96215,9 +96256,11 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FbDeclared = 0
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32
+	(*Table)(unsafe.Pointer(pTab)).FnTabRef++
 	rc = (*struct {
 		f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32
 	})(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+64)
+	Xsqlite3DeleteTable(tls, db, pTab)
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior
 	if rc == SQLITE_NOMEM {
 		Xsqlite3OomFault(tls, db)
@@ -96225,7 +96268,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 
 	if SQLITE_OK != rc {
 		if *(*uintptr)(unsafe.Pointer(bp + 64)) == uintptr(0) {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21416, libc.VaList(bp+8, zModuleName))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21463, libc.VaList(bp+8, zModuleName))
 		} else {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+3656, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64))))
 			Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
@@ -96237,7 +96280,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 		(*Module)(unsafe.Pointer(pMod)).FnRefModule++
 		(*VTable)(unsafe.Pointer(pVTable)).FnRef = 1
 		if (*VtabCtx)(unsafe.Pointer(bp+32)).FbDeclared == 0 {
-			var zFormat uintptr = ts + 21446
+			var zFormat uintptr = ts + 21493
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName))
 			Xsqlite3VtabUnlock(tls, pVTable)
 			rc = SQLITE_ERROR
@@ -96311,7 +96354,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32
 
 	if !(pMod != 0) {
 		var zModule uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pTab + 64 + 8))))
-		Xsqlite3ErrorMsg(tls, pParse, ts+21492, libc.VaList(bp, zModule))
+		Xsqlite3ErrorMsg(tls, pParse, ts+21539, libc.VaList(bp, zModule))
 		rc = SQLITE_ERROR
 	} else {
 		*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
@@ -96369,7 +96412,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr,
 	pMod = Xsqlite3HashFind(tls, db+576, zMod)
 
 	if pMod == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21492, libc.VaList(bp, zMod))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21539, libc.VaList(bp, zMod))
 		rc = SQLITE_ERROR
 	} else {
 		rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr)
@@ -96403,7 +96446,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3
 	if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
 		Xsqlite3Error(tls, db, SQLITE_MISUSE)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
-		return Xsqlite3MisuseError(tls, 151030)
+		return Xsqlite3MisuseError(tls, 151102)
 	}
 	pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab
 
@@ -96856,7 +96899,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	if !(p != 0) {
-		rc = Xsqlite3MisuseError(tls, 151521)
+		rc = Xsqlite3MisuseError(tls, 151593)
 	} else {
 		ap = va
 		switch op {
@@ -96883,7 +96926,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 			fallthrough
 		default:
 			{
-				rc = Xsqlite3MisuseError(tls, 151539)
+				rc = Xsqlite3MisuseError(tls, 151611)
 				break
 
 			}
@@ -97114,7 +97157,7 @@ type InLoop = struct {
 func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr {
 	i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2)))
 	if i == -2 {
-		return ts + 21511
+		return ts + 21558
 	}
 	if i == -1 {
 		return ts + 16260
@@ -97126,11 +97169,11 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	var i int32
 
 	if bAnd != 0 {
-		Xsqlite3_str_append(tls, pStr, ts+21518, 5)
+		Xsqlite3_str_append(tls, pStr, ts+21565, 5)
 	}
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21524, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21571, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97145,7 +97188,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	Xsqlite3_str_append(tls, pStr, zOp, 1)
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21524, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21571, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97171,27 +97214,27 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) {
 	if int32(nEq) == 0 && (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT|WHERE_TOP_LIMIT) == U32(0) {
 		return
 	}
-	Xsqlite3_str_append(tls, pStr, ts+21526, 2)
+	Xsqlite3_str_append(tls, pStr, ts+21573, 2)
 	for i = 0; i < int32(nEq); i++ {
 		var z uintptr = explainIndexColumnName(tls, pIndex, i)
 		if i != 0 {
-			Xsqlite3_str_append(tls, pStr, ts+21518, 5)
+			Xsqlite3_str_append(tls, pStr, ts+21565, 5)
 		}
 		Xsqlite3_str_appendf(tls, pStr, func() uintptr {
 			if i >= int32(nSkip) {
-				return ts + 21529
+				return ts + 21576
 			}
-			return ts + 21534
+			return ts + 21581
 		}(), libc.VaList(bp, z))
 	}
 
 	j = i
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21542)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21589)
 		i = 1
 	}
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_TOP_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21544)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21591)
 	}
 	Xsqlite3_str_append(tls, pStr, ts+4950, 1)
 }
@@ -97234,11 +97277,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 
 		Xsqlite3StrAccumInit(tls, bp+64, db, bp+96, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 		(*StrAccum)(unsafe.Pointer(bp + 64)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-		Xsqlite3_str_appendf(tls, bp+64, ts+21546, libc.VaList(bp, func() uintptr {
+		Xsqlite3_str_appendf(tls, bp+64, ts+21593, libc.VaList(bp, func() uintptr {
 			if isSearch != 0 {
-				return ts + 21552
+				return ts + 21599
 			}
-			return ts + 21559
+			return ts + 21606
 		}(), pItem))
 		if flags&U32(WHERE_IPK|WHERE_VIRTUALTABLE) == U32(0) {
 			var zFmt uintptr = uintptr(0)
@@ -97251,40 +97294,40 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 					zFmt = ts + 10969
 				}
 			} else if flags&U32(WHERE_PARTIALIDX) != 0 {
-				zFmt = ts + 21564
+				zFmt = ts + 21611
 			} else if flags&U32(WHERE_AUTO_INDEX) != 0 {
-				zFmt = ts + 21597
+				zFmt = ts + 21644
 			} else if flags&U32(WHERE_IDX_ONLY) != 0 {
-				zFmt = ts + 21622
+				zFmt = ts + 21669
 			} else {
-				zFmt = ts + 21640
+				zFmt = ts + 21687
 			}
 			if zFmt != 0 {
-				Xsqlite3_str_append(tls, bp+64, ts+21649, 7)
+				Xsqlite3_str_append(tls, bp+64, ts+21696, 7)
 				Xsqlite3_str_appendf(tls, bp+64, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName))
 				explainIndexRange(tls, bp+64, pLoop)
 			}
 		} else if flags&U32(WHERE_IPK) != U32(0) && flags&U32(WHERE_CONSTRAINT) != U32(0) {
 			var cRangeOp int8
 			var zRowid uintptr = ts + 16260
-			Xsqlite3_str_appendf(tls, bp+64, ts+21657, libc.VaList(bp+24, zRowid))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21704, libc.VaList(bp+24, zRowid))
 			if flags&U32(WHERE_COLUMN_EQ|WHERE_COLUMN_IN) != 0 {
 				cRangeOp = int8('=')
 			} else if flags&U32(WHERE_BOTH_LIMIT) == U32(WHERE_BOTH_LIMIT) {
-				Xsqlite3_str_appendf(tls, bp+64, ts+21688, libc.VaList(bp+32, zRowid))
+				Xsqlite3_str_appendf(tls, bp+64, ts+21735, libc.VaList(bp+32, zRowid))
 				cRangeOp = int8('<')
 			} else if flags&U32(WHERE_BTM_LIMIT) != 0 {
 				cRangeOp = int8('>')
 			} else {
 				cRangeOp = int8('<')
 			}
-			Xsqlite3_str_appendf(tls, bp+64, ts+21698, libc.VaList(bp+40, int32(cRangeOp)))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21745, libc.VaList(bp+40, int32(cRangeOp)))
 		} else if flags&U32(WHERE_VIRTUALTABLE) != U32(0) {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21703,
+			Xsqlite3_str_appendf(tls, bp+64, ts+21750,
 				libc.VaList(bp+48, *(*int32)(unsafe.Pointer(pLoop + 24)), *(*uintptr)(unsafe.Pointer(pLoop + 24 + 16))))
 		}
 		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&JT_LEFT != 0 {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21730, 0)
+			Xsqlite3_str_appendf(tls, bp+64, ts+21777, 0)
 		}
 		zMsg = Xsqlite3StrAccumFinish(tls, bp+64)
 
@@ -97316,22 +97359,22 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp
 
 	Xsqlite3StrAccumInit(tls, bp+24, db, bp+56, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 	(*StrAccum)(unsafe.Pointer(bp + 24)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-	Xsqlite3_str_appendf(tls, bp+24, ts+21741, libc.VaList(bp, pItem))
+	Xsqlite3_str_appendf(tls, bp+24, ts+21788, libc.VaList(bp, pItem))
 	pLoop = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_IPK) != 0 {
 		var pTab uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FpTab
 		if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21529, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21576, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
 		} else {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21762, 0)
+			Xsqlite3_str_appendf(tls, bp+24, ts+21809, 0)
 		}
 	} else {
 		for i = int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip); i < int32(*(*U16)(unsafe.Pointer(pLoop + 24))); i++ {
 			var z uintptr = explainIndexColumnName(tls, *(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)), i)
 			if i > int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip) {
-				Xsqlite3_str_append(tls, bp+24, ts+21518, 5)
+				Xsqlite3_str_append(tls, bp+24, ts+21565, 5)
 			}
-			Xsqlite3_str_appendf(tls, bp+24, ts+21529, libc.VaList(bp+16, z))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21576, libc.VaList(bp+16, z))
 		}
 	}
 	Xsqlite3_str_append(tls, bp+24, ts+4950, 1)
@@ -98928,7 +98971,7 @@ __134:
 	;
 __126:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21770, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21817, 0)
 	ii = 0
 __135:
 	if !(ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm) {
@@ -98956,7 +98999,7 @@ __139:
 	pOrExpr = pAndExpr
 __140:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21785, libc.VaList(bp, ii+1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21832, libc.VaList(bp, ii+1))
 
 	pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0),
 		uint16(WHERE_OR_SUBCLAUSE), iCovCur)
@@ -99474,7 +99517,7 @@ func Xsqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
 	var mAll Bitmask = uint64(0)
 	var k int32
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21794, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21841, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
 
 	for k = 0; k < iLevel; k++ {
 		var iIdxCur int32
@@ -99835,7 +99878,7 @@ var aOp = [4]Op2{
 	{FzOp: ts + 16109, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)},
 	{FzOp: ts + 15440, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)},
 	{FzOp: ts + 14960, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)},
-	{FzOp: ts + 21808, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
+	{FzOp: ts + 21855, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
 }
 
 func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) {
@@ -100325,12 +100368,12 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			extraRight = x - uint64(1)
 
 			if prereqAll>>1 >= x {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21815, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21862, 0)
 				return
 			}
 		} else if prereqAll>>1 >= x {
 			if (*SrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*SrcItem)(unsafe.Pointer(pSrc+8)).Ffg.Fjointype)&JT_LTORJ != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21815, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21862, 0)
 				return
 			}
 			*(*U32)(unsafe.Pointer(pExpr + 4)) &= libc.Uint32FromInt32(libc.CplInt32(EP_InnerON))
@@ -100409,7 +100452,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_OuterON) != U32(0)) &&
 			0 == Xsqlite3ExprCanBeNull(tls, pLeft) {
 			(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
-			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6762
+			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 7692
 			*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0)
@@ -100503,7 +100546,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 		}
 		zCollSeqName = func() uintptr {
 			if *(*int32)(unsafe.Pointer(bp + 20)) != 0 {
-				return ts + 21856
+				return ts + 21903
 			}
 			return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))
 		}()
@@ -100879,7 +100922,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 			k++
 		}
 		if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21863,
+			Xsqlite3ErrorMsg(tls, pParse, ts+21910,
 				libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j))
 			return
 		}
@@ -100895,7 +100938,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 		pRhs = Xsqlite3PExpr(tls, pParse, TK_UPLUS,
 			Xsqlite3ExprDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*ExprList_item)(unsafe.Pointer(pArgs+8+uintptr(j)*32)).FpExpr, 0), uintptr(0))
 		pTerm = Xsqlite3PExpr(tls, pParse, TK_EQ, pColRef, pRhs)
-		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ) != 0 {
+		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ|JT_RIGHT) != 0 {
 			joinType = U32(EP_OuterON)
 		} else {
 			joinType = U32(EP_InnerON)
@@ -101613,7 +101656,7 @@ __4:
 		goto __6
 	}
 	Xsqlite3_log(tls, SQLITE_WARNING|int32(1)<<8,
-		ts+21899, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
+		ts+21946, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
 			(*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*24)).FzCnName))
 	sentWarning = U8(1)
 __6:
@@ -101684,7 +101727,7 @@ __13:
 __14:
 	;
 	*(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)) = pIdx
-	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21925
+	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21972
 	(*Index)(unsafe.Pointer(pIdx)).FpTable = pTable
 	n = 0
 	idxCols = uint64(0)
@@ -101858,6 +101901,10 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 	var pLoop uintptr = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	var iCur int32
+	var saved_pIdxEpr uintptr
+
+	saved_pIdxEpr = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = uintptr(0)
 
 	addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once)
 	for __ccgo := true; __ccgo; __ccgo = iLevel < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel) {
@@ -101901,9 +101948,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 			var r1 int32 = Xsqlite3GetTempRange(tls, pParse, n)
 			var jj int32
 			for jj = 0; jj < n; jj++ {
-				var iCol int32 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(jj)*2)))
-
-				Xsqlite3ExprCodeGetColumnOfTable(tls, v, (*Index)(unsafe.Pointer(pIdx)).FpTable, iCur, iCol, r1+jj)
+				Xsqlite3ExprCodeLoadIndexColumn(tls, pParse, pIdx, iCur, jj, r1+jj)
 			}
 			Xsqlite3VdbeAddOp4Int(tls, v, OP_FilterAdd, (*WhereLevel)(unsafe.Pointer(pLevel)).FregFilter, 0, r1, n)
 			Xsqlite3ReleaseTempRange(tls, pParse, r1, n)
@@ -101937,6 +101982,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 		}
 	}
 	Xsqlite3VdbeJumpHere(tls, v, addrOnce)
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = saved_pIdxEpr
 }
 
 func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr {
@@ -102195,11 +102241,16 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro
 
 	_ = pParse
 
+	if !((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) && int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol)
+	} else {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnColumn)
+	}
 	nField = func() int32 {
-		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < (*Index)(unsafe.Pointer(pIdx)).FnSample {
+		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < nField {
 			return int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField)
 		}
-		return (*Index)(unsafe.Pointer(pIdx)).FnSample
+		return nField
 	}()
 	iCol = 0
 	iSample = (*Index)(unsafe.Pointer(pIdx)).FnSample * nField
@@ -103780,7 +103831,7 @@ __4:
 				j >= (*WhereClause)(unsafe.Pointer(pWC)).FnTerm ||
 				*(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) ||
 				int32((*sqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21936, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+				Xsqlite3ErrorMsg(tls, pParse, ts+21983, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 				return SQLITE_ERROR
 			}
@@ -103838,7 +103889,7 @@ __6:
 	(*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm = U16(mxTerm + 1)
 	for i = 0; i <= mxTerm; i++ {
 		if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21936, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+			Xsqlite3ErrorMsg(tls, pParse, ts+21983, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 			return SQLITE_ERROR
 		}
@@ -104236,7 +104287,7 @@ __1:
 		mPrior = mPrior | (*WhereLoop)(unsafe.Pointer(pNew)).FmaskSelf
 		if rc != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 			if rc == SQLITE_DONE {
-				Xsqlite3_log(tls, SQLITE_WARNING, ts+21962, 0)
+				Xsqlite3_log(tls, SQLITE_WARNING, ts+22009, 0)
 				rc = SQLITE_OK
 			} else {
 				goto __3
@@ -104843,7 +104894,7 @@ __3:
 	}
 
 	if nFrom == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+21997, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+22044, 0)
 		Xsqlite3DbFreeNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pSpace)
 		return SQLITE_ERROR
 	}
@@ -104878,6 +104929,10 @@ __3:
 			if int32((*WherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*ExprList)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr {
 				(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_ORDERED)
 			}
+			if (*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 &&
+				int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr {
+				(*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = I8((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr)
+			}
 		} else {
 			(*WhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*WherePath)(unsafe.Pointer(pFrom)).FrevLoop
 			if int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 {
@@ -105172,6 +105227,9 @@ func whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur in
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCur = iIdxCur
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCol = i
 		(*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow = U8(bMaybeNullRow)
+		if Xsqlite3IndexAffinityStr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pIdx) != 0 {
+			(*IndexedExpr)(unsafe.Pointer(p)).Faff = U8(*(*int8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(i))))
+		}
 		(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = p
 		if (*IndexedExpr)(unsafe.Pointer(p)).FpIENext == uintptr(0) {
 			Xsqlite3ParserAddCleanup(tls, pParse, *(*uintptr)(unsafe.Pointer(&struct {
@@ -105324,7 +105382,7 @@ __1:
 	if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22015, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+22062, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
 	return uintptr(0)
 __2:
 	;
@@ -105388,7 +105446,7 @@ __6:
 	(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE)
 __7:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22043, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22090, 0)
 	goto __5
 __4:
 	ii = 0
@@ -106270,7 +106328,7 @@ __1:
 
 error_out:
 	Xsqlite3_result_error(tls,
-		pCtx, ts+22061, -1)
+		pCtx, ts+22108, -1)
 }
 
 func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
@@ -106403,7 +106461,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 			(*NtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 			if (*NtileCtx)(unsafe.Pointer(p)).FnParam <= int64(0) {
 				Xsqlite3_result_error(tls,
-					pCtx, ts+22117, -1)
+					pCtx, ts+22164, -1)
 			}
 		}
 		(*NtileCtx)(unsafe.Pointer(p)).FnTotal++
@@ -106493,17 +106551,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
 	}
 }
 
-var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22162))
-var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22173))
-var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22184))
-var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22189))
-var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22202))
-var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22212))
-var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22218))
-var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22229))
-var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22239))
-var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22251))
-var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22256))
+var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22209))
+var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22220))
+var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22231))
+var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22236))
+var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22249))
+var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22259))
+var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22265))
+var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22276))
+var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22286))
+var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22298))
+var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22303))
 
 func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) {
 	_ = p
@@ -106549,7 +106607,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin
 		}
 	}
 	if p == uintptr(0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22260, libc.VaList(bp, zName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+22307, libc.VaList(bp, zName))
 	}
 	return p
 }
@@ -106593,12 +106651,12 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin
 		((*Window)(unsafe.Pointer(pWin)).FpStart != 0 || (*Window)(unsafe.Pointer(pWin)).FpEnd != 0) &&
 		((*Window)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*ExprList)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != 1) {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+22279, 0)
+			ts+22326, 0)
 	} else if (*FuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
 		if (*Window)(unsafe.Pointer(pWin)).FpFilter != 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22350, 0)
+				ts+22397, 0)
 		} else {
 			*(*[8]WindowUpdate)(unsafe.Pointer(bp)) = [8]WindowUpdate{
 				{FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT},
@@ -106825,7 +106883,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr
 
 	if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) {
 		Xsqlite3ErrorMsg(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse,
-			ts+22413, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
+			ts+22460, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
 	}
 	return WRC_Continue
 }
@@ -106941,7 +106999,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 {
 
 		if *(*uintptr)(unsafe.Pointer(bp + 48)) == uintptr(0) {
 			*(*uintptr)(unsafe.Pointer(bp + 48)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0),
-				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7523))
+				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7512))
 		}
 
 		pSub = Xsqlite3SelectNew(tls,
@@ -107056,7 +107114,7 @@ __1:
 		eStart == TK_FOLLOWING && (eEnd == TK_PRECEDING || eEnd == TK_CURRENT)) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22439, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22486, 0)
 	goto windowAllocErr
 __2:
 	;
@@ -107121,15 +107179,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint
 			var zErr uintptr = uintptr(0)
 
 			if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 {
-				zErr = ts + 22471
+				zErr = ts + 22518
 			} else if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0 {
-				zErr = ts + 22488
+				zErr = ts + 22535
 			} else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 {
-				zErr = ts + 22504
+				zErr = ts + 22551
 			}
 			if zErr != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+22524, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
+					ts+22571, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
 			} else {
 				(*Window)(unsafe.Pointer(pWin)).FpPartition = Xsqlite3ExprListDup(tls, db, (*Window)(unsafe.Pointer(pExist)).FpPartition, 0)
 				if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 {
@@ -107150,7 +107208,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr
 		(*Window)(unsafe.Pointer(pWin)).FpOwner = p
 		if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Distinct) != 0 && int32((*Window)(unsafe.Pointer(pWin)).FeFrmType) != TK_FILTER {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22557, 0)
+				ts+22604, 0)
 		}
 	} else {
 		Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin)
@@ -107306,11 +107364,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) {
 }
 
 var azErr = [5]uintptr{
-	ts + 22604,
-	ts + 22657,
-	ts + 22061,
-	ts + 22708,
-	ts + 22760,
+	ts + 22651,
+	ts + 22704,
+	ts + 22108,
+	ts + 22755,
+	ts + 22807,
 }
 var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge}
 
@@ -108705,19 +108763,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) {
 			}
 			cnt++
 			if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*Select)(unsafe.Pointer(pLoop)).FpLimit != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+22810,
+				Xsqlite3ErrorMsg(tls, pParse, ts+22857,
 					libc.VaList(bp, func() uintptr {
 						if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) {
-							return ts + 22852
+							return ts + 22899
 						}
-						return ts + 22861
+						return ts + 22908
 					}(),
 						Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(pNext)).Fop))))
 				break
 			}
 		}
 		if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_MultiValue) == U32(0) && libc.AssignInt32(&mxSelect, *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 4*4))) > 0 && cnt > mxSelect {
-			Xsqlite3ErrorMsg(tls, pParse, ts+22867, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+22914, 0)
 		}
 	}
 
@@ -108785,7 +108843,7 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT
 	var p uintptr = Xsqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0))
 	if (hasCollate != 0 || sortOrder != -1) &&
 		int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22901,
+		Xsqlite3ErrorMsg(tls, pParse, ts+22948,
 			libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz))
 	}
 	Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1)
@@ -109882,7 +109940,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) {
 		yy_pop_parser_stack(tls, yypParser)
 	}
 
-	Xsqlite3ErrorMsg(tls, pParse, ts+22939, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22986, 0)
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
 }
@@ -110861,7 +110919,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(TF_WithoutRowid | TF_NoVisibleRowid)
 				} else {
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22961, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23008, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			break
@@ -110871,7 +110929,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(TF_Strict)
 				} else {
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22961, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23008, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			*(*U32)(unsafe.Pointer(yymsp + 8)) = *(*U32)(unsafe.Pointer(bp + 40))
@@ -111614,7 +111672,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 		case uint32(157):
 			{
 				Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8)), yymsp+libc.UintptrFromInt32(-4)*24+8)
-				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+22988)
+				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+23035)
 				if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) != 0 {
 					var pFromClause uintptr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8))
 					if (*SrcList)(unsafe.Pointer(pFromClause)).FnSrc > 1 {
@@ -111778,7 +111836,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*Token)(unsafe.Pointer(bp + 128)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 
 					if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+22997, libc.VaList(bp+32, bp+128))
+						Xsqlite3ErrorMsg(tls, pParse, ts+23044, libc.VaList(bp+32, bp+128))
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0)
 					} else {
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0))
@@ -111995,9 +112053,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					Xsqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
 					*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_STRING, func() uintptr {
 						if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8)) != 0 {
-							return ts + 6757
+							return ts + 7687
 						}
-						return ts + 6762
+						return ts + 7692
 					}())
 					if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) != 0 {
 						Xsqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
@@ -112281,19 +112339,19 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 			{
 				*(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23021, 0)
+					ts+23068, 0)
 			}
 			break
 		case uint32(271):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23116, 0)
+					ts+23163, 0)
 			}
 			break
 		case uint32(272):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23200, 0)
+					ts+23247, 0)
 			}
 			break
 		case uint32(273):
@@ -112672,9 +112730,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To
 
 	_ = yymajor
 	if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8)).Fz)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22997, libc.VaList(bp, bp+8))
+		Xsqlite3ErrorMsg(tls, pParse, ts+23044, libc.VaList(bp, bp+8))
 	} else {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23285, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+23332, 0)
 	}
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
@@ -113442,7 +113500,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 			} else {
 				(*Token)(unsafe.Pointer(bp + 2464)).Fz = zSql
 				(*Token)(unsafe.Pointer(bp + 2464)).Fn = uint32(n)
-				Xsqlite3ErrorMsg(tls, pParse, ts+23302, libc.VaList(bp, bp+2464))
+				Xsqlite3ErrorMsg(tls, pParse, ts+23349, libc.VaList(bp, bp+2464))
 				break
 			}
 		}
@@ -113465,7 +113523,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 		if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) {
 			(*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+3656, libc.VaList(bp+8, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc)))
 		}
-		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23327, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
+		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23374, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
 		nErr++
 	}
 	(*Parse)(unsafe.Pointer(pParse)).FzTail = zSql
@@ -113638,7 +113696,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'C':
 						{
-							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23338, 6) == 0 {
+							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23385, 6) == 0 {
 								token = U8(TkCREATE)
 							} else {
 								token = U8(TkOTHER)
@@ -113651,11 +113709,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'T':
 						{
-							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19924, 7) == 0 {
+							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19971, 7) == 0 {
 								token = U8(TkTRIGGER)
-							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23345, 4) == 0 {
+							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23392, 4) == 0 {
 								token = U8(TkTEMP)
-							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23350, 9) == 0 {
+							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23397, 9) == 0 {
 								token = U8(TkTEMP)
 							} else {
 								token = U8(TkOTHER)
@@ -113668,9 +113726,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'E':
 						{
-							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23360, 3) == 0 {
+							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23407, 3) == 0 {
 								token = U8(TkEND)
-							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23364, 7) == 0 {
+							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23411, 7) == 0 {
 								token = U8(TkEXPLAIN)
 							} else {
 								token = U8(TkOTHER)
@@ -113904,7 +113962,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 {
 	var rc int32 = SQLITE_OK
 
 	if Xsqlite3Config.FisInit != 0 {
-		return Xsqlite3MisuseError(tls, 174337)
+		return Xsqlite3MisuseError(tls, 174426)
 	}
 
 	ap = va
@@ -114479,7 +114537,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 		return SQLITE_OK
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 175111)
+		return Xsqlite3MisuseError(tls, 175200)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 {
@@ -114494,7 +114552,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 
 	if !(forceZombie != 0) && connectionIsBusy(tls, db) != 0 {
 		Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-			ts+23372, 0)
+			ts+23419, 0)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		return SQLITE_BUSY
 	}
@@ -114685,23 +114743,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) {
 // Return a static string that describes the kind of error specified in the
 // argument.
 func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
-	var zErr uintptr = ts + 23440
+	var zErr uintptr = ts + 23487
 	switch rc {
 	case SQLITE_ABORT | int32(2)<<8:
 		{
-			zErr = ts + 23454
+			zErr = ts + 23501
 			break
 
 		}
 	case SQLITE_ROW:
 		{
-			zErr = ts + 23476
+			zErr = ts + 23523
 			break
 
 		}
 	case SQLITE_DONE:
 		{
-			zErr = ts + 23498
+			zErr = ts + 23545
 			break
 
 		}
@@ -114719,35 +114777,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
 }
 
 var aMsg = [29]uintptr{
-	ts + 23521,
-	ts + 23534,
+	ts + 23568,
+	ts + 23581,
 	uintptr(0),
-	ts + 23550,
-	ts + 23575,
-	ts + 23589,
-	ts + 23608,
+	ts + 23597,
+	ts + 23622,
+	ts + 23636,
+	ts + 23655,
 	ts + 1483,
-	ts + 23633,
-	ts + 23670,
-	ts + 23682,
-	ts + 23697,
-	ts + 23730,
-	ts + 23748,
-	ts + 23773,
-	ts + 23802,
+	ts + 23680,
+	ts + 23717,
+	ts + 23729,
+	ts + 23744,
+	ts + 23777,
+	ts + 23795,
+	ts + 23820,
+	ts + 23849,
 	uintptr(0),
 	ts + 5831,
 	ts + 5327,
-	ts + 23819,
-	ts + 23837,
-	ts + 23855,
+	ts + 23866,
+	ts + 23884,
+	ts + 23902,
 	uintptr(0),
-	ts + 23889,
-	uintptr(0),
-	ts + 23910,
 	ts + 23936,
-	ts + 23959,
-	ts + 23980,
+	uintptr(0),
+	ts + 23957,
+	ts + 23983,
+	ts + 24006,
+	ts + 24027,
 }
 
 func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 {
@@ -114868,7 +114926,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 		libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) ||
 		(nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) ||
 		255 < Xsqlite3Strlen30(tls, zFunctionName) {
-		return Xsqlite3MisuseError(tls, 175758)
+		return Xsqlite3MisuseError(tls, 175847)
 	}
 
 	extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS)
@@ -114913,7 +114971,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 	if p != 0 && (*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK) == U32(enc) && int32((*FuncDef)(unsafe.Pointer(p)).FnArg) == nArg {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+23996, 0)
+				ts+24043, 0)
 
 			return SQLITE_BUSY
 		} else {
@@ -115030,7 +115088,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs
 	_ = NotUsed
 	_ = NotUsed2
 	zErr = Xsqlite3_mprintf(tls,
-		ts+24059, libc.VaList(bp, zName))
+		ts+24106, libc.VaList(bp, zName))
 	Xsqlite3_result_error(tls, context, zErr, -1)
 	Xsqlite3_free(tls, zErr)
 }
@@ -115266,7 +115324,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
 	}
 	if iDb < 0 {
 		rc = SQLITE_ERROR
-		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24110, libc.VaList(bp, zDb))
+		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24157, libc.VaList(bp, zDb))
 	} else {
 		(*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0
 		rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt)
@@ -115359,7 +115417,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr {
 		return Xsqlite3ErrStr(tls, SQLITE_NOMEM)
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176503))
+		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176592))
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -115429,7 +115487,7 @@ var misuse = [34]U16{
 // passed to this function, we assume a malloc() failed during sqlite3_open().
 func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176582)
+		return Xsqlite3MisuseError(tls, 176671)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -115439,7 +115497,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 
 func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176591)
+		return Xsqlite3MisuseError(tls, 176680)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -115471,14 +115529,14 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint
 		enc2 = SQLITE_UTF16LE
 	}
 	if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE {
-		return Xsqlite3MisuseError(tls, 176639)
+		return Xsqlite3MisuseError(tls, 176728)
 	}
 
 	pColl = Xsqlite3FindCollSeq(tls, db, U8(enc2), zName, 0)
 	if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24131, 0)
+				ts+24178, 0)
 			return SQLITE_BUSY
 		}
 		Xsqlite3ExpirePreparedStatements(tls, db, 0)
@@ -115608,7 +115666,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u
 
 	if !((flags&uint32(SQLITE_OPEN_URI) != 0 ||
 		Xsqlite3Config.FbOpenUri != 0) &&
-		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24199, uint64(5)) == 0) {
+		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24246, uint64(5)) == 0) {
 		goto __1
 	}
 	iOut = 0
@@ -115653,10 +115711,10 @@ __8:
 	goto __8
 __9:
 	;
-	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24205, zUri+7, uint64(9)) != 0)) {
+	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24252, zUri+7, uint64(9)) != 0)) {
 		goto __10
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24215,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24262,
 		libc.VaList(bp, iIn-7, zUri+7))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
@@ -115761,7 +115819,7 @@ __27:
 	zVal = zOpt + uintptr(nOpt+1)
 	nVal = Xsqlite3Strlen30(tls, zVal)
 
-	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24243, zOpt, uint64(3)) == 0) {
+	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24290, zOpt, uint64(3)) == 0) {
 		goto __29
 	}
 	zVfs = zVal
@@ -115772,17 +115830,17 @@ __29:
 	mask = 0
 	limit = 0
 
-	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24247, zOpt, uint64(5)) == 0) {
+	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24294, zOpt, uint64(5)) == 0) {
 		goto __31
 	}
 
 	mask = SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE
 	aMode = uintptr(unsafe.Pointer(&aCacheMode))
 	limit = mask
-	zModeType = ts + 24247
+	zModeType = ts + 24294
 __31:
 	;
-	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24253, zOpt, uint64(4)) == 0) {
+	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24300, zOpt, uint64(4)) == 0) {
 		goto __32
 	}
 
@@ -115820,7 +115878,7 @@ __36:
 	if !(mode == 0) {
 		goto __38
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24258, libc.VaList(bp+16, zModeType, zVal))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24305, libc.VaList(bp+16, zModeType, zVal))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
 __38:
@@ -115828,7 +115886,7 @@ __38:
 	if !(mode&libc.CplInt32(SQLITE_OPEN_MEMORY) > limit) {
 		goto __39
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24278,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24325,
 		libc.VaList(bp+32, zModeType, zVal))
 	rc = SQLITE_PERM
 	goto parse_uri_out
@@ -115868,7 +115926,7 @@ __2:
 	if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) {
 		goto __42
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24302, libc.VaList(bp+48, zVfs))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24349, libc.VaList(bp+48, zVfs))
 	rc = SQLITE_ERROR
 __42:
 	;
@@ -115892,14 +115950,14 @@ type OpenMode = struct {
 }
 
 var aCacheMode = [3]OpenMode{
-	{Fz: ts + 24318, Fmode: SQLITE_OPEN_SHAREDCACHE},
-	{Fz: ts + 24325, Fmode: SQLITE_OPEN_PRIVATECACHE},
+	{Fz: ts + 24365, Fmode: SQLITE_OPEN_SHAREDCACHE},
+	{Fz: ts + 24372, Fmode: SQLITE_OPEN_PRIVATECACHE},
 	{},
 }
 var aOpenMode = [5]OpenMode{
-	{Fz: ts + 24333, Fmode: SQLITE_OPEN_READONLY},
-	{Fz: ts + 24336, Fmode: SQLITE_OPEN_READWRITE},
-	{Fz: ts + 24339, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
+	{Fz: ts + 24380, Fmode: SQLITE_OPEN_READONLY},
+	{Fz: ts + 24383, Fmode: SQLITE_OPEN_READWRITE},
+	{Fz: ts + 24386, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
 	{Fz: ts + 17355, Fmode: SQLITE_OPEN_MEMORY},
 	{},
 }
@@ -116046,10 +116104,10 @@ __12:
 	createCollation(tls, db, uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{binCollFunc})), uintptr(0))
-	createCollation(tls, db, ts+21856, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+21903, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{nocaseCollatingFunc})), uintptr(0))
-	createCollation(tls, db, ts+24343, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+24390, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{rtrimCollFunc})), uintptr(0))
 	if !((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) {
@@ -116063,7 +116121,7 @@ __15:
 	if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) {
 		goto __16
 	}
-	rc = Xsqlite3MisuseError(tls, 177308)
+	rc = Xsqlite3MisuseError(tls, 177397)
 	goto __17
 __16:
 	rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24)
@@ -116116,7 +116174,7 @@ __22:
 
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 6434
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).Fsafety_level = U8(SQLITE_DEFAULT_SYNCHRONOUS + 1)
-	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23345
+	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23392
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF)
 
 	(*Sqlite3)(unsafe.Pointer(db)).FeOpenState = U8(SQLITE_STATE_OPEN)
@@ -116221,7 +116279,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 {
 		return rc
 	}
 	if zFilename == uintptr(0) {
-		zFilename = ts + 24349
+		zFilename = ts + 24396
 	}
 	pVal = Xsqlite3ValueNew(tls, uintptr(0))
 	Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0))
@@ -116324,21 +116382,21 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr)
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	Xsqlite3_log(tls, iErr, ts+24352,
+	Xsqlite3_log(tls, iErr, ts+24399,
 		libc.VaList(bp, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls)))
 	return iErr
 }
 
 func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24377)
+	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24424)
 }
 
 func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24397)
+	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24444)
 }
 
 func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24404)
+	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24451)
 }
 
 // This is a convenience routine that makes sure that all thread-specific
@@ -116496,7 +116554,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24)))
-	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24421, libc.VaList(bp, zTableName,
+	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24468, libc.VaList(bp, zTableName,
 		zColumnName))
 	rc = SQLITE_ERROR
 __20:
@@ -117152,7 +117210,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 {
 
 	azCompileOpt = Xsqlite3CompileOptions(tls, bp)
 
-	if Xsqlite3_strnicmp(tls, zOptName, ts+24449, 7) == 0 {
+	if Xsqlite3_strnicmp(tls, zOptName, ts+24496, 7) == 0 {
 		zOptName += uintptr(7)
 	}
 	n = Xsqlite3Strlen30(tls, zOptName)
@@ -117270,7 +117328,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin
 
 	Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr {
 		if rc != 0 {
-			return ts + 24457
+			return ts + 24504
 		}
 		return uintptr(0)
 	}(), 0)
@@ -117448,7 +117506,7 @@ type JsonParse1 = struct {
 type JsonParse = JsonParse1
 
 var jsonType = [8]uintptr{
-	ts + 6174, ts + 6757, ts + 6762, ts + 6184, ts + 6179, ts + 7998, ts + 24480, ts + 24486,
+	ts + 6174, ts + 7687, ts + 7692, ts + 6184, ts + 6179, ts + 7998, ts + 24527, ts + 24533,
 }
 
 func jsonZero(tls *libc.TLS, p uintptr) {
@@ -117601,7 +117659,7 @@ __10:
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0' + int32(c)>>4)
-	c = uint8(*(*int8)(unsafe.Pointer(ts + 24493 + uintptr(int32(c)&0xf))))
+	c = uint8(*(*int8)(unsafe.Pointer(ts + 24540 + uintptr(int32(c)&0xf))))
 __8:
 	;
 __6:
@@ -117656,7 +117714,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) {
 	default:
 		{
 			if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 {
-				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24510, -1)
+				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24557, -1)
 				(*JsonString)(unsafe.Pointer(p)).FbErr = U8(2)
 				jsonReset(tls, p)
 			}
@@ -117720,13 +117778,13 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr
 		}
 	case JSON_TRUE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6757, uint32(4))
+			jsonAppendRaw(tls, pOut, ts+7687, uint32(4))
 			break
 
 		}
 	case JSON_FALSE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6762, uint32(5))
+			jsonAppendRaw(tls, pOut, ts+7692, uint32(5))
 			break
 
 		}
@@ -118276,12 +118334,12 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 't' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6757, uint64(4)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7687, uint64(4)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(4)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_TRUE), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 'f' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6762, uint64(5)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7692, uint64(5)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(5)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_FALSE), uint32(0), uintptr(0))
 		return int32(i + U32(5))
@@ -118382,7 +118440,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32
 			if (*JsonParse)(unsafe.Pointer(pParse)).Foom != 0 {
 				Xsqlite3_result_error_nomem(tls, pCtx)
 			} else {
-				Xsqlite3_result_error(tls, pCtx, ts+24539, -1)
+				Xsqlite3_result_error(tls, pCtx, ts+24586, -1)
 			}
 		}
 		jsonParseReset(tls, pParse)
@@ -118688,7 +118746,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt
 	}
 	if int32(*(*int8)(unsafe.Pointer(zPath))) == '.' {
 		jsonParseAddNode(tls, pParse, uint32(JSON_OBJECT), uint32(0), uintptr(0))
-	} else if libc.Xstrncmp(tls, zPath, ts+24554, uint64(3)) == 0 {
+	} else if libc.Xstrncmp(tls, zPath, ts+24601, uint64(3)) == 0 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0))
 	} else {
 		return uintptr(0)
@@ -118703,7 +118761,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	return Xsqlite3_mprintf(tls, ts+24558, libc.VaList(bp, zErr))
+	return Xsqlite3_mprintf(tls, ts+24605, libc.VaList(bp, zErr))
 }
 
 func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr {
@@ -118757,7 +118815,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24584,
+	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24631,
 		libc.VaList(bp, zFuncName))
 	Xsqlite3_result_error(tls, pCtx, zMsg, -1)
 	Xsqlite3_free(tls, zMsg)
@@ -118862,11 +118920,11 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 			if int32(*(*int8)(unsafe.Pointer(zPath))) != '$' {
 				jsonInit(tls, bp, ctx)
 				if int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zPath)))])&0x04 != 0 {
-					jsonAppendRaw(tls, bp, ts+24627, uint32(2))
+					jsonAppendRaw(tls, bp, ts+24674, uint32(2))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendRaw(tls, bp, ts+4991, uint32(2))
 				} else {
-					jsonAppendRaw(tls, bp, ts+24630, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
+					jsonAppendRaw(tls, bp, ts+24677, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendChar(tls, bp, int8(0))
 				}
@@ -119023,14 +119081,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 
 	if argc&1 != 0 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+24633, -1)
+			ts+24680, -1)
 		return
 	}
 	jsonInit(tls, bp, ctx)
 	jsonAppendChar(tls, bp, int8('{'))
 	for i = 0; i < argc; i = i + 2 {
 		if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != SQLITE_TEXT {
-			Xsqlite3_result_error(tls, ctx, ts+24684, -1)
+			Xsqlite3_result_error(tls, ctx, ts+24731, -1)
 			jsonReset(tls, bp)
 			return
 		}
@@ -119200,9 +119258,9 @@ __1:
 	}
 	jsonWrongNumArgs(tls, ctx, func() uintptr {
 		if bIsSet != 0 {
-			return ts + 24718
+			return ts + 24765
 		}
-		return ts + 24722
+		return ts + 24769
 	}())
 	return
 __2:
@@ -119335,7 +119393,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24729, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24776, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -119432,7 +119490,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24732, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24779, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -119476,7 +119534,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u
 	_ = argc
 	_ = pAux
 	rc = Xsqlite3_declare_vtab(tls, db,
-		ts+24735)
+		ts+24782)
 	if rc == SQLITE_OK {
 		pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{}))))
 		if pNew == uintptr(0) {
@@ -119607,7 +119665,7 @@ func jsonAppendObjectPathElement(tls *libc.TLS, pStr uintptr, pNode uintptr) {
 			nn = nn - 2
 		}
 	}
-	jsonPrintf(tls, nn+2, pStr, ts+24818, libc.VaList(bp, nn, z))
+	jsonPrintf(tls, nn+2, pStr, ts+24865, libc.VaList(bp, nn, z))
 }
 
 func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
@@ -119626,7 +119684,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
 	pNode = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(i)*16
 	pUp = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(iUp)*16
 	if int32((*JsonNode)(unsafe.Pointer(pUp)).FeType) == JSON_ARRAY {
-		jsonPrintf(tls, 30, pStr, ts+24824, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
+		jsonPrintf(tls, 30, pStr, ts+24871, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
 	} else {
 		if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_LABEL == 0 {
 			pNode -= 16
@@ -119722,7 +119780,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 					jsonAppendChar(tls, bp+8, int8('$'))
 				}
 				if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY {
-					jsonPrintf(tls, 30, bp+8, ts+24824, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
+					jsonPrintf(tls, 30, bp+8, ts+24871, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
 				} else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT {
 					jsonAppendObjectPathElement(tls, bp+8, pThis)
 				}
@@ -119746,7 +119804,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 		{
 			var zRoot uintptr = (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot
 			if zRoot == uintptr(0) {
-				zRoot = ts + 24829
+				zRoot = ts + 24876
 			}
 			Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0))
 			break
@@ -119868,7 +119926,7 @@ func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, ar
 		var rc int32 = SQLITE_NOMEM
 		if int32((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.Foom) == 0 {
 			Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg)
-			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24539, 0)
+			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24586, 0)
 			if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 {
 				rc = SQLITE_ERROR
 			}
@@ -119963,25 +120021,25 @@ func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) {
 }
 
 var aJsonFunc = [19]FuncDef{
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24831},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24836},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24847},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24847},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24865},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 24878},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 24881},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24885},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24897},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24909},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24920},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24931},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24943},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 24956},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24965},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24965},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24975},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24986},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25003}}
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24878},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24883},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24894},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24894},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24912},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 24925},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 24928},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24932},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24944},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24956},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24967},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24978},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24990},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 25003},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25012},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25012},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25022},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25033},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25050}}
 
 // Register the JSON table-valued functions
 func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 {
@@ -120000,8 +120058,8 @@ var aMod = [2]struct {
 	FzName   uintptr
 	FpModule uintptr
 }{
-	{FzName: ts + 25021, FpModule: 0},
-	{FzName: ts + 25031, FpModule: 0},
+	{FzName: ts + 25068, FpModule: 0},
+	{FzName: ts + 25078, FpModule: 0},
 }
 
 type Rtree1 = struct {
@@ -120261,11 +120319,11 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo
 		}
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) {
-		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25041, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25088, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		if zTab == uintptr(0) {
 			return SQLITE_NOMEM
 		}
-		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25049, iNode, 0,
+		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25096, iNode, 0,
 			pRtree+112)
 		Xsqlite3_free(tls, zTab)
 	}
@@ -120476,7 +120534,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32
 	var zCreate uintptr = Xsqlite3_mprintf(tls,
-		ts+25054,
+		ts+25101,
 		libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
@@ -121179,7 +121237,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 {
 	var pSrc uintptr
 	var pInfo uintptr
 
-	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25136)
+	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25183)
 	if pSrc == uintptr(0) {
 		return SQLITE_ERROR
 	}
@@ -122520,7 +122578,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+25150, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+	zSql = Xsqlite3_mprintf(tls, ts+25197, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 	if zSql != 0 {
 		rc = Xsqlite3_prepare_v2(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -1, bp+56, uintptr(0))
 	} else {
@@ -122532,12 +122590,12 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 		if iCol == 0 {
 			var zCol uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 0)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25170, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
+				ts+25217, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
 		} else {
 			var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol)
 			var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol+1)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25202, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
+				ts+25249, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
 		}
 	}
 
@@ -122763,7 +122821,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32 = SQLITE_NOMEM
 	var zSql uintptr = Xsqlite3_mprintf(tls,
-		ts+25239, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
+		ts+25286, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
 	if zSql != 0 {
 		nodeBlobReset(tls, pRtree)
 		rc = Xsqlite3_exec(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0))
@@ -122786,7 +122844,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 {
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	var zFmt uintptr = ts + 25384
+	var zFmt uintptr = ts + 25431
 	var zSql uintptr
 
 	var rc int32
@@ -122834,7 +122892,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName1 = [3]uintptr{
-	ts + 25440, ts + 5053, ts + 16260,
+	ts + 25487, ts + 5053, ts + 16260,
 }
 
 var rtreeModule = Sqlite3_module{
@@ -122877,19 +122935,19 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		var p uintptr = Xsqlite3_str_new(tls, db)
 		var ii int32
 		Xsqlite3_str_appendf(tls, p,
-			ts+25445,
+			ts+25492,
 			libc.VaList(bp, zDb, zPrefix))
 		for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
-			Xsqlite3_str_appendf(tls, p, ts+25507, libc.VaList(bp+16, ii))
+			Xsqlite3_str_appendf(tls, p, ts+25554, libc.VaList(bp+16, ii))
 		}
 		Xsqlite3_str_appendf(tls, p,
-			ts+25512,
+			ts+25559,
 			libc.VaList(bp+24, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25576,
+			ts+25623,
 			libc.VaList(bp+40, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25646,
+			ts+25693,
 			libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))
 		zCreate = Xsqlite3_str_finish(tls, p)
 		if !(zCreate != 0) {
@@ -122918,7 +122976,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		if i != 3 || int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) == 0 {
 			zFormat = azSql[i]
 		} else {
-			zFormat = ts + 25695
+			zFormat = ts + 25742
 		}
 		zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix))
 		if zSql != 0 {
@@ -122930,7 +122988,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FnAux != 0 {
 		(*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls,
-			ts+25803,
+			ts+25850,
 			libc.VaList(bp+96, zDb, zPrefix))
 		if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -122938,18 +122996,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 			var p uintptr = Xsqlite3_str_new(tls, db)
 			var ii int32
 			var zSql uintptr
-			Xsqlite3_str_appendf(tls, p, ts+25848, libc.VaList(bp+112, zDb, zPrefix))
+			Xsqlite3_str_appendf(tls, p, ts+25895, libc.VaList(bp+112, zDb, zPrefix))
 			for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
 				if ii != 0 {
 					Xsqlite3_str_append(tls, p, ts+12760, 1)
 				}
 				if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) {
-					Xsqlite3_str_appendf(tls, p, ts+25875, libc.VaList(bp+128, ii, ii+2, ii))
+					Xsqlite3_str_appendf(tls, p, ts+25922, libc.VaList(bp+128, ii, ii+2, ii))
 				} else {
-					Xsqlite3_str_appendf(tls, p, ts+25897, libc.VaList(bp+152, ii, ii+2))
+					Xsqlite3_str_appendf(tls, p, ts+25944, libc.VaList(bp+152, ii, ii+2))
 				}
 			}
-			Xsqlite3_str_appendf(tls, p, ts+25905, 0)
+			Xsqlite3_str_appendf(tls, p, ts+25952, 0)
 			zSql = Xsqlite3_str_finish(tls, p)
 			if zSql == uintptr(0) {
 				rc = SQLITE_NOMEM
@@ -122964,14 +123022,14 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 }
 
 var azSql = [8]uintptr{
-	ts + 25921,
-	ts + 25974,
-	ts + 26019,
-	ts + 26071,
-	ts + 26125,
-	ts + 26170,
-	ts + 26228,
-	ts + 26283,
+	ts + 25968,
+	ts + 26021,
+	ts + 26066,
+	ts + 26118,
+	ts + 26172,
+	ts + 26217,
+	ts + 26275,
+	ts + 26330,
 }
 
 func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 {
@@ -123000,7 +123058,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 	var zSql uintptr
 	if isCreate != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = 0
-		zSql = Xsqlite3_mprintf(tls, ts+26330, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
+		zSql = Xsqlite3_mprintf(tls, ts+26377, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
 		rc = getIntFromStmt(tls, db, zSql, bp+48)
 		if rc == SQLITE_OK {
 			(*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp + 48)) - 64
@@ -123012,7 +123070,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		}
 	} else {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+26350,
+			ts+26397,
 			libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		rc = getIntFromStmt(tls, db, zSql, pRtree+32)
 		if rc != SQLITE_OK {
@@ -123020,7 +123078,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		} else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < 512-64 {
 			rc = SQLITE_CORRUPT | int32(1)<<8
 
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26407,
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26454,
 				libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		}
 	}
@@ -123062,10 +123120,10 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr
 	ii = 4
 	*(*[5]uintptr)(unsafe.Pointer(bp + 96)) = [5]uintptr{
 		uintptr(0),
-		ts + 26442,
-		ts + 26485,
-		ts + 26520,
-		ts + 26556,
+		ts + 26489,
+		ts + 26532,
+		ts + 26567,
+		ts + 26603,
 	}
 
 	if !(argc < 6 || argc > RTREE_MAX_AUX_COLUMN+3) {
@@ -123096,7 +123154,7 @@ __2:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+26593,
+	Xsqlite3_str_appendf(tls, pSql, ts+26640,
 		libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8))))
 	ii = 4
 __3:
@@ -123108,7 +123166,7 @@ __3:
 		goto __6
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+26617, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
+	Xsqlite3_str_appendf(tls, pSql, ts+26664, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
 	goto __7
 __6:
 	if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) {
@@ -123131,7 +123189,7 @@ __4:
 	goto __5
 __5:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26623, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26670, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __10
@@ -123227,7 +123285,7 @@ __25:
 	return rc
 }
 
-var azFormat = [2]uintptr{ts + 26626, ts + 26637}
+var azFormat = [2]uintptr{ts + 26673, ts + 26684}
 
 func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	bp := tls.Alloc(1072)
@@ -123267,11 +123325,11 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 		if ii > 0 {
 			Xsqlite3_str_append(tls, pOut, ts+10913, 1)
 		}
-		Xsqlite3_str_appendf(tls, pOut, ts+26647, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
+		Xsqlite3_str_appendf(tls, pOut, ts+26694, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
 		for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+56)).FnDim2); jj++ {
-			Xsqlite3_str_appendf(tls, pOut, ts+26653, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
+			Xsqlite3_str_appendf(tls, pOut, ts+26700, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
 		}
-		Xsqlite3_str_append(tls, pOut, ts+26657, 1)
+		Xsqlite3_str_append(tls, pOut, ts+26704, 1)
 	}
 	errCode = Xsqlite3_str_errcode(tls, pOut)
 	Xsqlite3_result_text(tls, ctx, Xsqlite3_str_finish(tls, pOut), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
@@ -123282,7 +123340,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	_ = nArg
 	if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB ||
 		Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 {
-		Xsqlite3_result_error(tls, ctx, ts+26659, -1)
+		Xsqlite3_result_error(tls, ctx, ts+26706, -1)
 	} else {
 		var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 		if zBlob != 0 {
@@ -123360,7 +123418,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr
 		if z == uintptr(0) {
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM
 		} else {
-			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26692,
+			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26739,
 				libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr {
 					if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 {
 						return ts + 4055
@@ -123384,7 +123442,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) {
 		(*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = rtreeCheckPrepare(tls, pCheck,
-			ts+26699,
+			ts+26746,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab))
 	}
 
@@ -123403,7 +123461,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 		}
 		rtreeCheckReset(tls, pCheck, (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode)
 		if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) {
-			rtreeCheckAppendMsg(tls, pCheck, ts+26744, libc.VaList(bp+16, iNode))
+			rtreeCheckAppendMsg(tls, pCheck, ts+26791, libc.VaList(bp+16, iNode))
 		}
 	}
 
@@ -123417,8 +123475,8 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	var rc int32
 	var pStmt uintptr
 	*(*[2]uintptr)(unsafe.Pointer(bp + 80)) = [2]uintptr{
-		ts + 26776,
-		ts + 26830,
+		ts + 26823,
+		ts + 26877,
 	}
 
 	if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) {
@@ -123433,23 +123491,23 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	Xsqlite3_bind_int64(tls, pStmt, 1, iKey)
 	rc = Xsqlite3_step(tls, pStmt)
 	if rc == SQLITE_DONE {
-		rtreeCheckAppendMsg(tls, pCheck, ts+26878,
+		rtreeCheckAppendMsg(tls, pCheck, ts+26925,
 			libc.VaList(bp+16, iKey, iVal, func() uintptr {
 				if bLeaf != 0 {
-					return ts + 26923
+					return ts + 26970
 				}
-				return ts + 26931
+				return ts + 26978
 			}()))
 	} else if rc == SQLITE_ROW {
 		var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0)
 		if ii != iVal {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+26940,
+				ts+26987,
 				libc.VaList(bp+40, iKey, ii, func() uintptr {
 					if bLeaf != 0 {
-						return ts + 26923
+						return ts + 26970
 					}
-					return ts + 26931
+					return ts + 26978
 				}(), iKey, iVal))
 		}
 	}
@@ -123473,7 +123531,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 			return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48)) > *(*RtreeValue)(unsafe.Pointer(bp + 52)))
 		}() != 0 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+26998, libc.VaList(bp, i, iCell, iNode))
+				ts+27045, libc.VaList(bp, i, iCell, iNode))
 		}
 
 		if pParent != 0 {
@@ -123493,7 +123551,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 					return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52)) > *(*RtreeValue)(unsafe.Pointer(bp + 60)))
 				}() != 0 {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27046, libc.VaList(bp+24, i, iCell, iNode))
+					ts+27093, libc.VaList(bp+24, i, iCell, iNode))
 			}
 		}
 	}
@@ -123510,14 +123568,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 	if aNode != 0 {
 		if *(*int32)(unsafe.Pointer(bp + 48)) < 4 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27113, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
+				ts+27160, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
 		} else {
 			var nCell int32
 			var i int32
 			if aParent == uintptr(0) {
 				iDepth = readInt16(tls, aNode)
 				if iDepth > RTREE_MAX_DEPTH {
-					rtreeCheckAppendMsg(tls, pCheck, ts+27147, libc.VaList(bp+16, iDepth))
+					rtreeCheckAppendMsg(tls, pCheck, ts+27194, libc.VaList(bp+16, iDepth))
 					Xsqlite3_free(tls, aNode)
 					return
 				}
@@ -123525,7 +123583,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 			nCell = readInt16(tls, aNode+2)
 			if 4+nCell*(8+(*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim*2*4) > *(*int32)(unsafe.Pointer(bp + 48)) {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27177,
+					ts+27224,
 					libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48))))
 			} else {
 				for i = 0; i < nCell; i++ {
@@ -123554,14 +123612,14 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) {
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK {
 		var pCount uintptr
-		pCount = rtreeCheckPrepare(tls, pCheck, ts+27232,
+		pCount = rtreeCheckPrepare(tls, pCheck, ts+27279,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl))
 		if pCount != 0 {
 			if Xsqlite3_step(tls, pCount) == SQLITE_ROW {
 				var nActual I64 = Xsqlite3_column_int64(tls, pCount, 0)
 				if nActual != nExpect {
 					rtreeCheckAppendMsg(tls, pCheck,
-						ts+27263, libc.VaList(bp+24, zTbl, nExpect, nActual))
+						ts+27310, libc.VaList(bp+24, zTbl, nExpect, nActual))
 				}
 			}
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount)
@@ -123588,7 +123646,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	}
 
 	if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
-		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27330, libc.VaList(bp, zDb, zTab))
+		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27377, libc.VaList(bp, zDb, zTab))
 		if pStmt != 0 {
 			nAux = Xsqlite3_column_count(tls, pStmt) - 2
 			Xsqlite3_finalize(tls, pStmt)
@@ -123597,12 +123655,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		}
 	}
 
-	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25150, libc.VaList(bp+16, zDb, zTab))
+	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25197, libc.VaList(bp+16, zDb, zTab))
 	if pStmt != 0 {
 		var rc int32
 		(*RtreeCheck)(unsafe.Pointer(bp + 32)).FnDim = (Xsqlite3_column_count(tls, pStmt) - 1 - nAux) / 2
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).FnDim < 1 {
-			rtreeCheckAppendMsg(tls, bp+32, ts+27358, 0)
+			rtreeCheckAppendMsg(tls, bp+32, ts+27405, 0)
 		} else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).FbInt = libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)
 		}
@@ -123616,8 +123674,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			rtreeCheckNode(tls, bp+32, 0, uintptr(0), int64(1))
 		}
-		rtreeCheckCount(tls, bp+32, ts+27389, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
-		rtreeCheckCount(tls, bp+32, ts+27396, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27436, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27443, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
 	}
 
 	Xsqlite3_finalize(tls, (*RtreeCheck)(unsafe.Pointer(bp+32)).FpGetNode)
@@ -123625,7 +123683,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 + 40 + 1*8)))
 
 	if bEnd != 0 {
-		var rc int32 = Xsqlite3_exec(tls, db, ts+27404, uintptr(0), uintptr(0), uintptr(0))
+		var rc int32 = Xsqlite3_exec(tls, db, ts+27451, uintptr(0), uintptr(0), uintptr(0))
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).Frc = rc
 		}
@@ -123640,7 +123698,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 
 	if nArg != 1 && nArg != 2 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+27408, -1)
+			ts+27455, -1)
 	} else {
 		var rc int32
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
@@ -123658,7 +123716,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 				if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
 					return *(*uintptr)(unsafe.Pointer(bp))
 				}
-				return ts + 18005
+				return ts + 18052
 			}(), -1, libc.UintptrFromInt32(-1))
 		} else {
 			Xsqlite3_result_error_code(tls, ctx, rc)
@@ -124029,11 +124087,11 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var db uintptr = Xsqlite3_context_db_handle(tls, context)
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
-		Xsqlite3_str_append(tls, x, ts+27459, 1)
+		Xsqlite3_str_append(tls, x, ts+27506, 1)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27461, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27508, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27472, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27519, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -124053,19 +124111,19 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
 		var cSep int8 = int8('\'')
-		Xsqlite3_str_appendf(tls, x, ts+27483, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27530, 0)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27501, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27548, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 			cSep = int8(' ')
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27509, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27556, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		for i = 1; i < argc; i++ {
 			var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 			if z != 0 && *(*int8)(unsafe.Pointer(z)) != 0 {
-				Xsqlite3_str_appendf(tls, x, ts+27517, libc.VaList(bp+40, z))
+				Xsqlite3_str_appendf(tls, x, ts+27564, libc.VaList(bp+40, z))
 			}
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27521, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27568, 0)
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -124985,7 +125043,7 @@ __1:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+27534, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+27581, 0)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1)
 	ii = 3
@@ -124994,7 +125052,7 @@ __2:
 		goto __4
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+27556, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
+	Xsqlite3_str_appendf(tls, pSql, ts+27603, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
 	goto __3
 __3:
 	ii++
@@ -125002,7 +125060,7 @@ __3:
 	goto __4
 __4:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26623, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26670, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __5
@@ -125239,7 +125297,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 	}
 	if iFuncTerm >= 0 {
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum
-		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27560
+		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27607
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).FargvIndex = 1
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).Fomit = uint8(0)
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 300.0
@@ -125247,7 +125305,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 		return SQLITE_OK
 	}
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4
-	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27566
+	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27613
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000)
 	return SQLITE_OK
@@ -125359,7 +125417,7 @@ __1:
 	if !(*(*int32)(unsafe.Pointer(bp + 48)) == SQLITE_ERROR) {
 		goto __4
 	}
-	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27575, 0)
+	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27622, 0)
 __4:
 	;
 	goto geopoly_update_end
@@ -125491,14 +125549,14 @@ geopoly_update_end:
 func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 {
 	_ = pVtab
 	_ = nArg
-	if Xsqlite3_stricmp(tls, zName, ts+27615) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27662) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyOverlapFunc}))
 		*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
 		return SQLITE_INDEX_CONSTRAINT_FUNCTION
 	}
-	if Xsqlite3_stricmp(tls, zName, ts+27631) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27678) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyWithinFunc}))
@@ -125563,7 +125621,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 {
 			uintptr(0), aAgg[i].FxStep, aAgg[i].FxFinal)
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27646, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27693, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
 	}
 	return rc
 }
@@ -125575,25 +125633,25 @@ var aFunc = [12]struct {
 	F__ccgo_pad1 [6]byte
 	FzName       uintptr
 }{
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27654},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27667},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27680},
-	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27693},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27631},
-	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27705},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27615},
-	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27728},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27742},
-	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27755},
-	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27769},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27785},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27701},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27714},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27727},
+	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27740},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27678},
+	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27752},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27662},
+	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27775},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27789},
+	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27802},
+	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27816},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27832},
 }
 var aAgg = [1]struct {
 	FxStep  uintptr
 	FxFinal uintptr
 	FzName  uintptr
 }{
-	{FxStep: 0, FxFinal: 0, FzName: ts + 27797},
+	{FxStep: 0, FxFinal: 0, FzName: ts + 27844},
 }
 
 // Register the r-tree module with database handle db. This creates the
@@ -125603,26 +125661,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 {
 	var utf8 int32 = SQLITE_UTF8
 	var rc int32
 
-	rc = Xsqlite3_create_function(tls, db, ts+27816, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	rc = Xsqlite3_create_function(tls, db, ts+27863, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr)
 	}{rtreenode})), uintptr(0), uintptr(0))
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27826, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27873, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreedepth})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27837, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27884, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreecheck})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_REAL32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27560, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27607, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_INT32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27848, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27895, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		rc = sqlite3_geopoly_init(tls, db)
@@ -125676,7 +125734,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
 			Xsqlite3_result_error_nomem(tls, ctx)
 			rtreeMatchArgFree(tls, pBlob)
 		} else {
-			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25136, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
+			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25183, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
 		}
 	}
 }
@@ -126003,7 +126061,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 
 	nOut = rbuDeltaOutputSize(tls, aDelta, nDelta)
 	if nOut < 0 {
-		Xsqlite3_result_error(tls, context, ts+27858, -1)
+		Xsqlite3_result_error(tls, context, ts+27905, -1)
 		return
 	}
 
@@ -126014,7 +126072,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 		nOut2 = rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut)
 		if nOut2 != nOut {
 			Xsqlite3_free(tls, aOut)
-			Xsqlite3_result_error(tls, context, ts+27858, -1)
+			Xsqlite3_result_error(tls, context, ts+27905, -1)
 		} else {
 			Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		}
@@ -126115,7 +126173,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuObjIterClearStatements(tls, pIter)
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) {
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+27879, uintptr(0), uintptr(0), p+64)
+				ts+27926, uintptr(0), uintptr(0), p+64)
 		}
 
 		if rc == SQLITE_OK {
@@ -126179,7 +126237,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) {
 				Xsqlite3_result_text(tls, pCtx, zIn, -1, uintptr(0))
 			}
 		} else {
-			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25049, zIn, uint64(4)) == 0 {
+			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25096, zIn, uint64(4)) == 0 {
 				var i int32
 				for i = 4; int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) >= '0' && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) <= '9'; i++ {
 				}
@@ -126200,16 +126258,16 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 
 	rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28050, libc.VaList(bp, func() uintptr {
+			ts+28097, libc.VaList(bp, func() uintptr {
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					return ts + 28200
+					return ts + 28247
 				}
 				return ts + 1547
 			}())))
 
 	if rc == SQLITE_OK {
 		rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64,
-			ts+28241)
+			ts+28288)
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1
@@ -126325,7 +126383,7 @@ func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28366, libc.VaList(bp, zTab)))
+			ts+28413, libc.VaList(bp, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) != SQLITE_ROW) {
 		goto __1
 	}
@@ -126343,7 +126401,7 @@ __2:
 	*(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), 1)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+1*8, p+64,
-		Xsqlite3_mprintf(tls, ts+28485, libc.VaList(bp+8, zTab)))
+		Xsqlite3_mprintf(tls, ts+28532, libc.VaList(bp+8, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) {
 		goto __3
 	}
@@ -126361,7 +126419,7 @@ __4:
 	}
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+2*8, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28506, libc.VaList(bp+16, zIdx)))
+			ts+28553, libc.VaList(bp+16, zIdx)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __7
 	}
@@ -126384,7 +126442,7 @@ __6:
 __5:
 	;
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+3*8, p+64,
-		Xsqlite3_mprintf(tls, ts+28557, libc.VaList(bp+24, zTab)))
+		Xsqlite3_mprintf(tls, ts+28604, libc.VaList(bp+24, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __10
 	}
@@ -126430,7 +126488,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		libc.Xmemcpy(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+16, p+64,
-			Xsqlite3_mprintf(tls, ts+28578, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28625, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0
@@ -126445,7 +126503,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 			libc.Xmemset(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0x01, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		}
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+28606, libc.VaList(bp+8, zIdx)))
+			Xsqlite3_mprintf(tls, ts+28653, libc.VaList(bp+8, zIdx)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
 			var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 1)
 			if iCid >= 0 {
@@ -126485,7 +126543,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+56, pIter+108)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19482, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19529, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
 			return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc
@@ -126495,18 +126553,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		}
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+64, p+64,
-			Xsqlite3_mprintf(tls, ts+28635, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
+			Xsqlite3_mprintf(tls, ts+28682, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 			rbuAllocateIterArrays(tls, p, pIter, nCol)
 		}
 		for i = 0; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && i < nCol; i++ {
 			var zName uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), i)
-			if Xsqlite3_strnicmp(tls, ts+28654, zName, 4) != 0 {
+			if Xsqlite3_strnicmp(tls, ts+28701, zName, 4) != 0 {
 				var zCopy uintptr = rbuStrndup(tls, zName, p+56)
 				*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol
 				*(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(libc.PostIncInt32(&(*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol, 1))*8)) = zCopy
-			} else if 0 == Xsqlite3_stricmp(tls, ts+28659, zName) {
+			} else if 0 == Xsqlite3_stricmp(tls, ts+28706, zName) {
 				bRbuRowid = 1
 			}
 		}
@@ -126518,18 +126576,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			bRbuRowid != libc.Bool32((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls,
-				ts+28669, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
+				ts+28716, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 					func() uintptr {
 						if bRbuRowid != 0 {
-							return ts + 28698
+							return ts + 28745
 						}
-						return ts + 28711
+						return ts + 28758
 					}()))
 		}
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-				Xsqlite3_mprintf(tls, ts+28720, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				Xsqlite3_mprintf(tls, ts+28767, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		}
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64))) {
 			var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 1)
@@ -126543,7 +126601,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			}
 			if i == (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28742,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28789,
 					libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName))
 			} else {
 				var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 5)
@@ -126590,7 +126648,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var i int32
 	for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 		var z uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-		zList = rbuMPrintf(tls, p, ts+28769, libc.VaList(bp, zList, zSep, z))
+		zList = rbuMPrintf(tls, p, ts+28816, libc.VaList(bp, zList, zSep, z))
 		zSep = ts + 14607
 	}
 	return zList
@@ -126608,7 +126666,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr,
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if int32(*(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zRet = rbuMPrintf(tls, p, ts+28778, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
+				zRet = rbuMPrintf(tls, p, ts+28825, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
 				zSep = zSeparator
 				break
 			}
@@ -126630,25 +126688,25 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32,
 	if bRowid != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+28791, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				ts+28838, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 			var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-			zRet = rbuMPrintf(tls, p, ts+28823, libc.VaList(bp+16, iMax))
+			zRet = rbuMPrintf(tls, p, ts+28870, libc.VaList(bp+16, iMax))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 	} else {
-		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+14607, ts+28846)
-		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28852, ts+28859, ts+4950)
+		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+14607, ts+28893)
+		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28899, ts+28906, ts+4950)
 		var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+14607, ts+1547)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 				Xsqlite3_mprintf(tls,
-					ts+28867,
+					ts+28914,
 					libc.VaList(bp+24, zSelect, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 				var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-				zRet = rbuMPrintf(tls, p, ts+28909, libc.VaList(bp+56, zList, zVal))
+				zRet = rbuMPrintf(tls, p, ts+28956, libc.VaList(bp+56, zList, zVal))
 			}
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 		}
@@ -126690,7 +126748,7 @@ func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	*(*uintptr)(unsafe.Pointer(bp + 176)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-		Xsqlite3_mprintf(tls, ts+28606, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+		Xsqlite3_mprintf(tls, ts+28653, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 __1:
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176)))) {
 		goto __2
@@ -126725,7 +126783,7 @@ __10:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 	goto __7
 __6:
-	zCol = ts + 28929
+	zCol = ts + 28976
 __7:
 	;
 	goto __5
@@ -126733,11 +126791,11 @@ __4:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 __5:
 	;
-	zLhs = rbuMPrintf(tls, p, ts+28937,
+	zLhs = rbuMPrintf(tls, p, ts+28984,
 		libc.VaList(bp+8, zLhs, zSep, zCol, zCollate))
-	zOrder = rbuMPrintf(tls, p, ts+28958,
+	zOrder = rbuMPrintf(tls, p, ts+29005,
 		libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate))
-	zSelect = rbuMPrintf(tls, p, ts+28994,
+	zSelect = rbuMPrintf(tls, p, ts+29041,
 		libc.VaList(bp+80, zSelect, zSep, iCol, zCol))
 	zSep = ts + 14607
 	iCol++
@@ -126757,7 +126815,7 @@ __11:
 	*(*uintptr)(unsafe.Pointer(bp + 184)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+184, p+64,
-		Xsqlite3_mprintf(tls, ts+29021,
+		Xsqlite3_mprintf(tls, ts+29068,
 			libc.VaList(bp+112, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 184)))) {
 		goto __13
@@ -126784,7 +126842,7 @@ __19:
 	;
 __18:
 	;
-	zVector = rbuMPrintf(tls, p, ts+29069, libc.VaList(bp+136, zVector, zSep, zQuoted))
+	zVector = rbuMPrintf(tls, p, ts+29116, libc.VaList(bp+136, zVector, zSep, zQuoted))
 	zSep = ts + 14607
 	goto __15
 __15:
@@ -126796,7 +126854,7 @@ __16:
 	if !!(bFailed != 0) {
 		goto __20
 	}
-	zRet = rbuMPrintf(tls, p, ts+29076, libc.VaList(bp+160, zLhs, zVector))
+	zRet = rbuMPrintf(tls, p, ts+29123, libc.VaList(bp+160, zLhs, zVector))
 __20:
 	;
 __13:
@@ -126829,7 +126887,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 	if rc == SQLITE_OK {
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200, p+64,
-			Xsqlite3_mprintf(tls, ts+28606, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+			Xsqlite3_mprintf(tls, ts+28653, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 	}
 
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200))) {
@@ -126841,7 +126899,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 		if iCid == -2 {
 			var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 0)
-			zRet = Xsqlite3_mprintf(tls, ts+29088, libc.VaList(bp+8, zRet, zCom,
+			zRet = Xsqlite3_mprintf(tls, ts+29135, libc.VaList(bp+8, zRet, zCom,
 				(*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FnSpan, (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FzSpan, zCollate))
 			zType = ts + 1547
 		} else {
@@ -126853,37 +126911,37 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 					zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 				} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					zCol = ts + 28929
+					zCol = ts + 28976
 				} else {
-					zCol = ts + 28659
+					zCol = ts + 28706
 				}
 				zType = ts + 1112
 			} else {
 				zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 				zType = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8))
 			}
-			zRet = Xsqlite3_mprintf(tls, ts+29110, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
+			zRet = Xsqlite3_mprintf(tls, ts+29157, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 5) != 0 {
 			var zOrder uintptr = func() uintptr {
 				if bDesc != 0 {
-					return ts + 28846
+					return ts + 28893
 				}
 				return ts + 1547
 			}()
-			zImpPK = Xsqlite3_mprintf(tls, ts+29130,
+			zImpPK = Xsqlite3_mprintf(tls, ts+29177,
 				libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder))
 		}
-		zImpCols = Xsqlite3_mprintf(tls, ts+29151,
+		zImpCols = Xsqlite3_mprintf(tls, ts+29198,
 			libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate))
 		zWhere = Xsqlite3_mprintf(tls,
-			ts+29184, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
+			ts+29231, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
 		if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) {
 			rc = SQLITE_NOMEM
 		}
 		zCom = ts + 14607
-		zAnd = ts + 21518
+		zAnd = ts + 21565
 		nBind++
 	}
 
@@ -126922,9 +126980,9 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = Xsqlite3_mprintf(tls, ts+29208, libc.VaList(bp, zList, zS, zObj, zCol))
+				zList = Xsqlite3_mprintf(tls, ts+29255, libc.VaList(bp, zList, zS, zObj, zCol))
 			} else {
-				zList = Xsqlite3_mprintf(tls, ts+29220, libc.VaList(bp+32, zList, zS))
+				zList = Xsqlite3_mprintf(tls, ts+29267, libc.VaList(bp+32, zList, zS))
 			}
 			zS = ts + 14607
 			if zList == uintptr(0) {
@@ -126934,7 +126992,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-			zList = rbuMPrintf(tls, p, ts+29229, libc.VaList(bp+48, zList, zObj))
+			zList = rbuMPrintf(tls, p, ts+29276, libc.VaList(bp+48, zList, zObj))
 		}
 	}
 	return zList
@@ -126946,18 +127004,18 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	var zList uintptr = uintptr(0)
 	if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-		zList = rbuMPrintf(tls, p, ts+29244, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
+		zList = rbuMPrintf(tls, p, ts+29291, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
 	} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
 		var zSep uintptr = ts + 1547
 		var i int32
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
-				zList = rbuMPrintf(tls, p, ts+29258, libc.VaList(bp+8, zList, zSep, i, i+1))
-				zSep = ts + 21518
+				zList = rbuMPrintf(tls, p, ts+29305, libc.VaList(bp+8, zList, zSep, i, i+1))
+				zSep = ts + 21565
 			}
 		}
 		zList = rbuMPrintf(tls, p,
-			ts+29270, libc.VaList(bp+40, zList))
+			ts+29317, libc.VaList(bp+40, zList))
 
 	} else {
 		var zSep uintptr = ts + 1547
@@ -126965,8 +127023,8 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = rbuMPrintf(tls, p, ts+29320, libc.VaList(bp+48, zList, zSep, zCol, i+1))
-				zSep = ts + 21518
+				zList = rbuMPrintf(tls, p, ts+29367, libc.VaList(bp+48, zList, zSep, zCol, i+1))
+				zSep = ts + 21565
 			}
 		}
 	}
@@ -126975,7 +127033,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 func rbuBadControlError(tls *libc.TLS, p uintptr) {
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29333, 0)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29380, 0)
 }
 
 func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr {
@@ -126993,15 +127051,15 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr
 			for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 				var c int8 = *(*int8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4)))))
 				if int32(c) == 'x' {
-					zList = rbuMPrintf(tls, p, ts+29320,
+					zList = rbuMPrintf(tls, p, ts+29367,
 						libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14607
 				} else if int32(c) == 'd' {
-					zList = rbuMPrintf(tls, p, ts+29359,
+					zList = rbuMPrintf(tls, p, ts+29406,
 						libc.VaList(bp+32, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14607
 				} else if int32(c) == 'f' {
-					zList = rbuMPrintf(tls, p, ts+29389,
+					zList = rbuMPrintf(tls, p, ts+29436,
 						libc.VaList(bp+72, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14607
 				}
@@ -127038,19 +127096,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var z uintptr = uintptr(0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		var zSep uintptr = ts + 29426
+		var zSep uintptr = ts + 29473
 		*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 		*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56, p+64,
-			Xsqlite3_mprintf(tls, ts+28578, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28625, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) {
 			var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 3)
 			if zOrig != 0 && libc.Xstrcmp(tls, zOrig, ts+16148) == 0 {
 				var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 1)
 				if zIdx != 0 {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-						Xsqlite3_mprintf(tls, ts+28606, libc.VaList(bp+8, zIdx)))
+						Xsqlite3_mprintf(tls, ts+28653, libc.VaList(bp+8, zIdx)))
 				}
 				break
 			}
@@ -127062,15 +127120,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 				var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 2)
 				var zDesc uintptr
 				if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 3) != 0 {
-					zDesc = ts + 28846
+					zDesc = ts + 28893
 				} else {
 					zDesc = ts + 1547
 				}
-				z = rbuMPrintf(tls, p, ts+29439, libc.VaList(bp+16, z, zSep, zCol, zDesc))
+				z = rbuMPrintf(tls, p, ts+29486, libc.VaList(bp+16, z, zSep, zCol, zDesc))
 				zSep = ts + 14607
 			}
 		}
-		z = rbuMPrintf(tls, p, ts+29450, libc.VaList(bp+48, z))
+		z = rbuMPrintf(tls, p, ts+29497, libc.VaList(bp+48, z))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
 	return z
@@ -127090,7 +127148,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		var zPk uintptr = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168, p+64,
-			ts+29454)
+			ts+29501)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168)), 1, tnum)
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168))) {
@@ -127099,7 +127157,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		}
 		if zIdx != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-				Xsqlite3_mprintf(tls, ts+28606, libc.VaList(bp, zIdx)))
+				Xsqlite3_mprintf(tls, ts+28653, libc.VaList(bp, zIdx)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168)))
 
@@ -127109,23 +127167,23 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 				var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 1)
 				var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 3)
 				var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 4)
-				zCols = rbuMPrintf(tls, p, ts+29504, libc.VaList(bp+8, zCols, zComma,
+				zCols = rbuMPrintf(tls, p, ts+29551, libc.VaList(bp+8, zCols, zComma,
 					iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate))
-				zPk = rbuMPrintf(tls, p, ts+29526, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
+				zPk = rbuMPrintf(tls, p, ts+29573, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
 					if bDesc != 0 {
-						return ts + 28846
+						return ts + 28893
 					}
 					return ts + 1547
 				}()))
 				zComma = ts + 14607
 			}
 		}
-		zCols = rbuMPrintf(tls, p, ts+29536, libc.VaList(bp+80, zCols))
+		zCols = rbuMPrintf(tls, p, ts+29583, libc.VaList(bp+80, zCols))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176)))
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 1, tnum))
 		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+29551,
+			ts+29598,
 			libc.VaList(bp+120, zCols, zPk))
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 0, 0))
 	}
@@ -127151,13 +127209,13 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192, uintptr(0), uintptr(0), uintptr(0))
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 {
-				zPk = ts + 29613
+				zPk = ts + 29660
 			}
-			zSql = rbuMPrintf(tls, p, ts+29626,
+			zSql = rbuMPrintf(tls, p, ts+29673,
 				libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192)),
 					func() uintptr {
 						if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 {
-							return ts + 29653
+							return ts + 29700
 						}
 						return ts + 1547
 					}()))
@@ -127167,16 +127225,16 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
 			var zPk uintptr = rbuWithoutRowidPK(tls, p, pIter)
 			if zPk != 0 {
-				zSql = rbuMPrintf(tls, p, ts+29663, libc.VaList(bp+88, zSql, zPk))
+				zSql = rbuMPrintf(tls, p, ts+29710, libc.VaList(bp+88, zSql, zPk))
 			}
 		}
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 1, tnum))
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29670,
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29717,
 			libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql,
 				func() uintptr {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
-						return ts + 29702
+						return ts + 29749
 					}
 					return ts + 1547
 				}()))
@@ -127193,7 +127251,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis
 	if zBind != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls,
-				ts+29717,
+				ts+29764,
 				libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind)))
 	}
 }
@@ -127230,7 +127288,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(bp + 8)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64,
-			ts+29774)
+			ts+29821)
 	}
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		var rc2 int32
@@ -127335,7 +127393,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 		var zLimit uintptr = uintptr(0)
 
 		if nOffset != 0 {
-			zLimit = Xsqlite3_mprintf(tls, ts+29840, libc.VaList(bp, nOffset))
+			zLimit = Xsqlite3_mprintf(tls, ts+29887, libc.VaList(bp, nOffset))
 			if !(zLimit != 0) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
 			}
@@ -127358,7 +127416,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 0, 1))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 1, tnum))
 			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+29860,
+				ts+29907,
 				libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600)), *(*uintptr)(unsafe.Pointer(bp + 608))))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 0, 0))
 
@@ -127366,13 +127424,13 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64,
-					Xsqlite3_mprintf(tls, ts+29925, libc.VaList(bp+128, zTbl, zBind)))
+					Xsqlite3_mprintf(tls, ts+29972, libc.VaList(bp+128, zTbl, zBind)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64,
-					Xsqlite3_mprintf(tls, ts+29961, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
+					Xsqlite3_mprintf(tls, ts+30008, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
 			}
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -127388,7 +127446,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					}
 
 					zSql = Xsqlite3_mprintf(tls,
-						ts+29995,
+						ts+30042,
 						libc.VaList(bp+160, zCollist,
 							(*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
@@ -127396,9 +127454,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								if zStart != 0 {
 									return func() uintptr {
 										if zPart != 0 {
-											return ts + 30056
+											return ts + 30103
 										}
-										return ts + 30060
+										return ts + 30107
 									}()
 								}
 								return ts + 1547
@@ -127407,20 +127465,20 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					Xsqlite3_free(tls, zStart)
 				} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30066,
+						ts+30113,
 						libc.VaList(bp+216, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart, zCollist, zLimit))
 				} else {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30127,
+						ts+30174,
 						libc.VaList(bp+264, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart,
 							zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
 							func() uintptr {
 								if zPart != 0 {
-									return ts + 30056
+									return ts + 30103
 								}
-								return ts + 30060
+								return ts + 30107
 							}(),
 							zCollist, zLimit))
 				}
@@ -127457,16 +127515,16 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB {
 					return ts + 1547
 				}
-				return ts + 30286
+				return ts + 30333
 			}()
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30295,
+						ts+30342,
 						libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr {
 							if bRbuRowid != 0 {
-								return ts + 30331
+								return ts + 30378
 							}
 							return ts + 1547
 						}(), zBindings)))
@@ -127475,32 +127533,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30341, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
+						ts+30388, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 				var zRbuRowid uintptr = ts + 1547
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-					zRbuRowid = ts + 30369
+					zRbuRowid = ts + 30416
 				}
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-					ts+30381, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
+					ts+30428, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
 						if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
-							return ts + 30457
+							return ts + 30504
 						}
 						return ts + 1547
 					}(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-					ts+30474,
+					ts+30521,
 					libc.VaList(bp+440, zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zNewlist))
 
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-						ts+30773,
+						ts+30820,
 						libc.VaList(bp+512, zWrite, zTbl, zNewlist))
 				}
 
@@ -127513,9 +127571,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				var zOrder uintptr = uintptr(0)
 				if bRbuRowid != 0 {
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-						zRbuRowid = ts + 30872
+						zRbuRowid = ts + 30919
 					} else {
-						zRbuRowid = ts + 30882
+						zRbuRowid = ts + 30929
 					}
 				}
 
@@ -127528,7 +127586,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 						}
 					}
 					if bRbuRowid != 0 {
-						zOrder = rbuMPrintf(tls, p, ts+28929, 0)
+						zOrder = rbuMPrintf(tls, p, ts+28976, 0)
 					} else {
 						zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+14607, ts+1547)
 					}
@@ -127537,11 +127595,11 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz,
 						Xsqlite3_mprintf(tls,
-							ts+30893,
+							ts+30940,
 							libc.VaList(bp+536, zCollist,
 								func() uintptr {
 									if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-										return ts + 30941
+										return ts + 30988
 									}
 									return ts + 1547
 								}(),
@@ -127554,7 +127612,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								}(),
 								func() uintptr {
 									if zOrder != 0 {
-										return ts + 22852
+										return ts + 22899
 									}
 									return ts + 1547
 								}(), zOrder,
@@ -127622,9 +127680,9 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp
 			var zPrefix uintptr = ts + 1547
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB {
-				zPrefix = ts + 30286
+				zPrefix = ts + 30333
 			}
-			zUpdate = Xsqlite3_mprintf(tls, ts+30947,
+			zUpdate = Xsqlite3_mprintf(tls, ts+30994,
 				libc.VaList(bp, zPrefix, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere))
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate)
@@ -127683,7 +127741,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr {
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 16)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8, p+64,
-		Xsqlite3_mprintf(tls, ts+30977, libc.VaList(bp, p+48)))
+		Xsqlite3_mprintf(tls, ts+31024, libc.VaList(bp, p+48)))
 	for *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 		switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0) {
 		case RBU_STATE_STAGE:
@@ -127756,18 +127814,18 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6434, SQLITE_FCNTL_RBUCNT, p)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) {
 			var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6434)
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31007, libc.VaList(bp, zFile, zFile))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31054, libc.VaList(bp, zFile, zFile))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 {
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31035, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31082, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
 		libc.Xmemcpy(tls, p+48, ts+3279, uint64(4))
 	} else {
 		libc.Xmemcpy(tls, p+48, ts+6434, uint64(4))
 	}
 
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31053, libc.VaList(bp+24, p+48))
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31100, libc.VaList(bp+24, p+48))
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		var bOpen int32 = 0
@@ -127807,11 +127865,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				return
 			}
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31119, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31166, 0)
 		} else {
 			var zTarget uintptr
 			var zExtra uintptr = uintptr(0)
-			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24199, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
+			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24246, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
 				zExtra = (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5
 				for *(*int8)(unsafe.Pointer(zExtra)) != 0 {
 					if int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zExtra, 1)))) == '?' {
@@ -127823,13 +127881,13 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				}
 			}
 
-			zTarget = Xsqlite3_mprintf(tls, ts+31151,
+			zTarget = Xsqlite3_mprintf(tls, ts+31198,
 				libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6434),
 					func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1547
 						}
-						return ts + 31183
+						return ts + 31230
 					}(), func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1547
@@ -127848,21 +127906,21 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31185, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31232, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTmpInsertFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31200, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31247, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuFossilDeltaFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+31217, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31264, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTargetNameFunc})), uintptr(0), uintptr(0))
 	}
@@ -127870,7 +127928,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, SQLITE_FCNTL_RBU, p)
 	}
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31233, 0)
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31280, 0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, SQLITE_FCNTL_RBU, p)
@@ -127878,7 +127936,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31261, 0)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31308, 0)
 	}
 }
 
@@ -127907,14 +127965,14 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
 	if pState == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = 0
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31233, uintptr(0), uintptr(0), uintptr(0))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31280, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var rc2 int32
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CAPTURE
-		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31279, uintptr(0), uintptr(0), uintptr(0))
+		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31326, uintptr(0), uintptr(0), uintptr(0))
 		if rc2 != SQLITE_NOTICE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 		}
@@ -128040,7 +128098,7 @@ func rbuLockDatabase(tls *libc.TLS, db uintptr) int32 {
 
 func rbuExclusiveCheckpoint(tls *libc.TLS, db uintptr) int32 {
 	var zUri uintptr = Xsqlite3_db_filename(tls, db, uintptr(0))
-	return Xsqlite3_uri_boolean(tls, zUri, ts+31314, 0)
+	return Xsqlite3_uri_boolean(tls, zUri, ts+31361, 0)
 }
 
 func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
@@ -128055,8 +128113,8 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6434)
 	}
-	zOal = Xsqlite3_mprintf(tls, ts+31339, libc.VaList(bp, zMove))
-	zWal = Xsqlite3_mprintf(tls, ts+31346, libc.VaList(bp+8, zMove))
+	zOal = Xsqlite3_mprintf(tls, ts+31386, libc.VaList(bp, zMove))
+	zWal = Xsqlite3_mprintf(tls, ts+31393, libc.VaList(bp+8, zMove))
 
 	if zWal == uintptr(0) || zOal == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
@@ -128173,7 +128231,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) {
 			(*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 &&
 			Xsqlite3_column_type(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect, i) == SQLITE_NULL {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_MISMATCH
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23837, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23884, 0)
 			return
 		}
 
@@ -128266,7 +128324,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 		var iCookie int32 = 1000000
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8, p+64,
-			ts+31353)
+			ts+31400)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 				iCookie = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0)
@@ -128274,7 +128332,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8)))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31375, libc.VaList(bp, iCookie+1))
+			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31422, libc.VaList(bp, iCookie+1))
 		}
 	}
 }
@@ -128295,7 +128353,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) {
 
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+31402,
+				ts+31449,
 				libc.VaList(bp, p+48,
 					RBU_STATE_STAGE, eStage,
 					RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl,
@@ -128325,9 +128383,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+31560, libc.VaList(bp, zPragma)))
+			Xsqlite3_mprintf(tls, ts+31607, libc.VaList(bp, zPragma)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31575,
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31622,
 				libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 0)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -128341,10 +128399,10 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 
-	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31595, uintptr(0), uintptr(0), p+64)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31642, uintptr(0), uintptr(0), p+64)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+31620)
+			ts+31667)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -128358,12 +128416,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+31728)
+			ts+31775)
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64,
-			ts+31793)
+			ts+31840)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -128375,7 +128433,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
 	}
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31837, uintptr(0), uintptr(0), p+64)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31884, uintptr(0), uintptr(0), p+64)
 	}
 
 	rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp)))
@@ -128403,7 +128461,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 {
 						if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 							rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-								ts+31862, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
+								ts+31909, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 						}
 					} else {
 						rbuObjIterPrepareAll(tls, p, pIter, 0)
@@ -128525,7 +128583,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) {
 
 		if rc == SQLITE_OK && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) {
 			rc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31890, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31937, 0)
 		}
 
 		if rc == SQLITE_OK {
@@ -128541,7 +128599,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	var zOal uintptr = rbuMPrintf(tls, p, ts+31339, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
+	var zOal uintptr = rbuMPrintf(tls, p, ts+31386, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
 	if zOal != 0 {
 		*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, SQLITE_FCNTL_VFS_POINTER, bp+8)
@@ -128558,7 +128616,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) {
 	defer tls.Free(76)
 
 	Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8)
-	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+31915, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
+	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+31962, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12, uintptr(0))
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12)
@@ -128592,7 +128650,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) {
 
 	rc = prepareFreeAndCollectError(tls, db, bp+8, bp+16,
 		Xsqlite3_mprintf(tls,
-			ts+31926, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
+			ts+31973, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
 	if rc != SQLITE_OK {
 		Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 16)), -1)
 	} else {
@@ -128622,13 +128680,13 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+31998, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+32045, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuIndexCntFunc})), uintptr(0), uintptr(0))
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32012)
+				ts+32059)
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
@@ -128639,7 +128697,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && bExists != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32069)
+				ts+32116)
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
@@ -128713,7 +128771,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd != 0 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32143, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32190, 0)
 			} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_MOVE {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CKPT
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FnStep = 0
@@ -128731,12 +128789,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 			}()
 			if (*Rbu_file)(unsafe.Pointer(pFd)).FiCookie != (*RbuState)(unsafe.Pointer(pState)).FiCookie {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32175,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32222,
 					libc.VaList(bp+8, func() uintptr {
 						if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-							return ts + 32207
+							return ts + 32254
 						}
-						return ts + 32214
+						return ts + 32261
 					}()))
 			}
 		}
@@ -128760,14 +128818,14 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32221, uintptr(0), uintptr(0), p+64)
+						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32268, uintptr(0), uintptr(0), p+64)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 						var frc int32 = Xsqlite3_file_control(tls, db, ts+6434, SQLITE_FCNTL_ZIPVFS, uintptr(0))
 						if frc == SQLITE_OK {
 							(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls,
-								db, ts+32237, uintptr(0), uintptr(0), p+64)
+								db, ts+32284, uintptr(0), uintptr(0), p+64)
 						}
 					}
 
@@ -128821,7 +128879,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr
 	}
 	if zState != 0 {
 		var n int32 = int32(libc.Xstrlen(tls, zState))
-		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32261, zState+uintptr(n-7), uint64(7)) {
+		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32308, zState+uintptr(n-7), uint64(7)) {
 			return rbuMisuseError(tls)
 		}
 	}
@@ -128848,7 +128906,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) {
 		var i uint32
 		var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg)
 		for i = uint32(0); Size_t(i) < nErrmsg-uint64(8); i++ {
-			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30286, uint64(8)) == 0 {
+			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30333, uint64(8)) == 0 {
 				var nDel int32 = 8
 				for int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= '0' && int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= '9' {
 					nDel++
@@ -128884,7 +128942,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 {
 		rbuObjIterFinalize(tls, p+80)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 {
-			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32269, uintptr(0), uintptr(0), uintptr(0))
+			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32316, uintptr(0), uintptr(0), uintptr(0))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE && rc2 != SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 			}
@@ -129003,12 +129061,12 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 				zBegin = ts + 14496
 			} else {
-				zBegin = ts + 32221
+				zBegin = ts + 32268
 			}
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32221, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32268, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -129354,7 +129412,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 			})(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16)
 			if rc == SQLITE_OK {
 				rc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32296, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32343, 0)
 			} else if rc == SQLITE_NOTFOUND {
 				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p
 				(*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu
@@ -129379,7 +129437,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 	if rc == SQLITE_OK && op == SQLITE_FCNTL_VFSNAME {
 		var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs
 		var zIn uintptr = *(*uintptr)(unsafe.Pointer(pArg))
-		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32319, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
+		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32366, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
 		*(*uintptr)(unsafe.Pointer(pArg)) = zOut
 		if zOut == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -129539,7 +129597,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags
 	}
 
 	if oflags&SQLITE_OPEN_MAIN_DB != 0 &&
-		Xsqlite3_uri_boolean(tls, zName, ts+32330, 0) != 0 {
+		Xsqlite3_uri_boolean(tls, zName, ts+32377, 0) != 0 {
 		oflags = SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE
 		zOpen = uintptr(0)
 	}
@@ -130368,7 +130426,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 		rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0))
 		if rc == SQLITE_OK {
 			zPragma = Xsqlite3_mprintf(tls,
-				ts+32341, 0)
+				ts+32388, 0)
 		} else if rc == SQLITE_ERROR {
 			zPragma = Xsqlite3_mprintf(tls, ts+1547, 0)
 		} else {
@@ -130381,7 +130439,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 			return rc
 		}
 	} else {
-		zPragma = Xsqlite3_mprintf(tls, ts+32462, libc.VaList(bp, zDb, zThis))
+		zPragma = Xsqlite3_mprintf(tls, ts+32509, libc.VaList(bp, zDb, zThis))
 	}
 	if !(zPragma != 0) {
 		*(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0)
@@ -131061,9 +131119,9 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr,
 
 	for i = 0; i < nCol; i++ {
 		if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
-			zRet = Xsqlite3_mprintf(tls, ts+32491,
+			zRet = Xsqlite3_mprintf(tls, ts+32538,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 21518
+			zSep = ts + 21565
 			if zRet == uintptr(0) {
 				break
 			}
@@ -131086,9 +131144,9 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 		if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 {
 			bHave = 1
 			zRet = Xsqlite3_mprintf(tls,
-				ts+32525,
+				ts+32572,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 32566
+			zSep = ts + 32613
 			if zRet == uintptr(0) {
 				break
 			}
@@ -131096,7 +131154,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 	}
 
 	if bHave == 0 {
-		zRet = Xsqlite3_mprintf(tls, ts+7523, 0)
+		zRet = Xsqlite3_mprintf(tls, ts+7512, 0)
 	}
 
 	return zRet
@@ -131107,7 +131165,7 @@ func sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, zTbl uintpt
 	defer tls.Free(40)
 
 	var zRet uintptr = Xsqlite3_mprintf(tls,
-		ts+32571,
+		ts+32618,
 		libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr))
 	return zRet
 }
@@ -131150,7 +131208,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro
 		rc = SQLITE_NOMEM
 	} else {
 		var zStmt uintptr = Xsqlite3_mprintf(tls,
-			ts+32649,
+			ts+32696,
 			libc.VaList(bp, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2))
 		if zStmt == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -131277,7 +131335,7 @@ __6:
 	if !(pzErrMsg != 0) {
 		goto __16
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32702, 0)
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32749, 0)
 __16:
 	;
 	rc = SQLITE_SCHEMA
@@ -131753,7 +131811,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 
 	if 0 == Xsqlite3_stricmp(tls, ts+11341, zTab) {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+32729, libc.VaList(bp, zDb))
+			ts+32776, libc.VaList(bp, zDb))
 		if zSql == uintptr(0) {
 			*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_NOMEM
 		}
@@ -131762,18 +131820,18 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 		var zSep uintptr = ts + 1547
 		*(*SessionBuffer)(unsafe.Pointer(bp + 8)) = SessionBuffer{}
 
-		sessionAppendStr(tls, bp+8, ts+32839, bp+24)
+		sessionAppendStr(tls, bp+8, ts+32886, bp+24)
 		sessionAppendIdent(tls, bp+8, zDb, bp+24)
 		sessionAppendStr(tls, bp+8, ts+1560, bp+24)
 		sessionAppendIdent(tls, bp+8, zTab, bp+24)
-		sessionAppendStr(tls, bp+8, ts+32854, bp+24)
+		sessionAppendStr(tls, bp+8, ts+32901, bp+24)
 		for i = 0; i < nCol; i++ {
 			if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
 				sessionAppendStr(tls, bp+8, zSep, bp+24)
 				sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+24)
-				sessionAppendStr(tls, bp+8, ts+32862, bp+24)
+				sessionAppendStr(tls, bp+8, ts+32909, bp+24)
 				sessionAppendInteger(tls, bp+8, i+1, bp+24)
-				zSep = ts + 21518
+				zSep = ts + 21565
 			}
 		}
 		zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8)).FaBuf
@@ -131882,7 +131940,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 {
 		return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc
 	}
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32868, uintptr(0), uintptr(0), uintptr(0))
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32915, uintptr(0), uintptr(0), uintptr(0))
 	if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
@@ -131974,7 +132032,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	}
 
 	Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24)).FaBuf)
-	Xsqlite3_exec(tls, db, ts+32888, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+32935, uintptr(0), uintptr(0), uintptr(0))
 	Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db))
 	return *(*int32)(unsafe.Pointer(bp + 40))
 }
@@ -132237,7 +132295,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 		rc = sessionInputBuffer(tls, pIn, 9)
 		if rc == SQLITE_OK {
 			if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData {
-				rc = Xsqlite3CorruptError(tls, 219078)
+				rc = Xsqlite3CorruptError(tls, 219169)
 			} else {
 				eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1)))))
 
@@ -132260,7 +132318,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 				rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
 				if rc == SQLITE_OK {
 					if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext {
-						rc = Xsqlite3CorruptError(tls, 219098)
+						rc = Xsqlite3CorruptError(tls, 219189)
 					} else {
 						var enc U8 = func() uint8 {
 							if eType == SQLITE_TEXT {
@@ -132302,7 +132360,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in
 		nRead = nRead + sessionVarintGet(tls, (*SessionInput)(unsafe.Pointer(pIn)).FaData+uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext+nRead), bp)
 
 		if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > 65536 {
-			rc = Xsqlite3CorruptError(tls, 219152)
+			rc = Xsqlite3CorruptError(tls, 219243)
 		} else {
 			rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100)
 			nRead = nRead + *(*int32)(unsafe.Pointer(bp))
@@ -132363,7 +132421,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 {
 			(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
 			sessionBufferGrow(tls, p+72, int64(nByte), bp+4)
 		} else {
-			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219240)
+			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219331)
 		}
 	}
 
@@ -132437,13 +132495,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 	}
 
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219326))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219417))
 	}
 
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op)
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))))
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219332))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219423))
 	}
 
 	if paRec != 0 {
@@ -132505,7 +132563,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 				if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8))
 					if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) {
-						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219376))
+						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219467))
 					}
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0)
 				}
@@ -132878,7 +132936,7 @@ __27:
 	goto __6
 
 __11:
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219741)
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219832)
 	goto finished_invert
 __6:
 	;
@@ -133057,34 +133115,34 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32,
 				(*SessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24
 				libc.Xmemcpy(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(unsafe.Sizeof(U32(0))))
 
-				sessionAppendStr(tls, bp, ts+32906, bp+16)
+				sessionAppendStr(tls, bp, ts+32953, bp+16)
 				sessionAppendIdent(tls, bp, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+16)
-				sessionAppendStr(tls, bp, ts+32919, bp+16)
+				sessionAppendStr(tls, bp, ts+32966, bp+16)
 
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-						sessionAppendStr(tls, bp, ts+32925, bp+16)
+						sessionAppendStr(tls, bp, ts+32972, bp+16)
 						sessionAppendInteger(tls, bp, ii*2+1, bp+16)
 						zSep = ts + 14607
 					}
 				}
 
 				zSep = ts + 1547
-				sessionAppendStr(tls, bp, ts+32854, bp+16)
+				sessionAppendStr(tls, bp, ts+32901, bp+16)
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						if bStat1 != 0 && ii == 1 {
 							sessionAppendStr(tls, bp,
-								ts+32930, bp+16)
+								ts+32977, bp+16)
 						} else {
 							sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-							sessionAppendStr(tls, bp, ts+32862, bp+16)
+							sessionAppendStr(tls, bp, ts+32909, bp+16)
 							sessionAppendInteger(tls, bp, ii*2+2, bp+16)
 						}
-						zSep = ts + 21518
+						zSep = ts + 21565
 					}
 				}
 
@@ -133136,34 +133194,34 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 	var nPk int32 = 0
 
-	sessionAppendStr(tls, bp, ts+33005, bp+16)
+	sessionAppendStr(tls, bp, ts+33052, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+32854, bp+16)
+	sessionAppendStr(tls, bp, ts+32901, bp+16)
 
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 			nPk++
 			sessionAppendStr(tls, bp, zSep, bp+16)
 			sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-			sessionAppendStr(tls, bp, ts+32925, bp+16)
+			sessionAppendStr(tls, bp, ts+32972, bp+16)
 			sessionAppendInteger(tls, bp, i+1, bp+16)
-			zSep = ts + 21518
+			zSep = ts + 21565
 		}
 	}
 
 	if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol {
-		sessionAppendStr(tls, bp, ts+33023, bp+16)
+		sessionAppendStr(tls, bp, ts+33070, bp+16)
 		sessionAppendInteger(tls, bp, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol+1, bp+16)
-		sessionAppendStr(tls, bp, ts+32566, bp+16)
+		sessionAppendStr(tls, bp, ts+32613, bp+16)
 
 		zSep = ts + 1547
 		for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 			if !(int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i)))) != 0) {
 				sessionAppendStr(tls, bp, zSep, bp+16)
 				sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-				sessionAppendStr(tls, bp, ts+32862, bp+16)
+				sessionAppendStr(tls, bp, ts+32909, bp+16)
 				sessionAppendInteger(tls, bp, i+1, bp+16)
-				zSep = ts + 33031
+				zSep = ts + 33078
 			}
 		}
 		sessionAppendStr(tls, bp, ts+4950, bp+16)
@@ -133190,9 +133248,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	var i int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 
-	sessionAppendStr(tls, bp, ts+33036, bp+16)
+	sessionAppendStr(tls, bp, ts+33083, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+21524, bp+16)
+	sessionAppendStr(tls, bp, ts+21571, bp+16)
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if i != 0 {
 			sessionAppendStr(tls, bp, ts+14607, bp+16)
@@ -133200,9 +133258,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 		sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
 	}
 
-	sessionAppendStr(tls, bp, ts+33054, bp+16)
+	sessionAppendStr(tls, bp, ts+33101, bp+16)
 	for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
-		sessionAppendStr(tls, bp, ts+33065, bp+16)
+		sessionAppendStr(tls, bp, ts+33112, bp+16)
 	}
 	sessionAppendStr(tls, bp, ts+4950, bp+16)
 
@@ -133221,11 +133279,11 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 {
 	var rc int32 = sessionSelectRow(tls, db, ts+11341, p)
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+16,
-			ts+33069)
+			ts+33116)
 	}
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+8,
-			ts+33182)
+			ts+33229)
 	}
 	return rc
 }
@@ -133253,7 +133311,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab
 				f func(*libc.TLS, uintptr, int32, uintptr) int32
 			})(unsafe.Pointer(&struct{ uintptr }{xValue})).f(tls, pIter, i, bp)
 			if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
-				rc = Xsqlite3CorruptError(tls, 220219)
+				rc = Xsqlite3CorruptError(tls, 220310)
 			} else {
 				rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp)))
 			}
@@ -133506,7 +133564,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 		if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
 			rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 		} else if *(*int32)(unsafe.Pointer(bp)) != 0 {
-			rc = Xsqlite3_exec(tls, db, ts+33326, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33373, uintptr(0), uintptr(0), uintptr(0))
 			if rc == SQLITE_OK {
 				rc = sessionBindRow(tls, pIter,
 					*(*uintptr)(unsafe.Pointer(&struct {
@@ -133522,7 +133580,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 				rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 			}
 			if rc == SQLITE_OK {
-				rc = Xsqlite3_exec(tls, db, ts+33347, uintptr(0), uintptr(0), uintptr(0))
+				rc = Xsqlite3_exec(tls, db, ts+33394, uintptr(0), uintptr(0), uintptr(0))
 			}
 		}
 	}
@@ -133595,10 +133653,10 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 	(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FbInvertConstraints = libc.BoolInt32(!!(flags&SQLITE_CHANGESETAPPLY_INVERT != 0))
 	Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db))
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
-		rc = Xsqlite3_exec(tls, db, ts+33366, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33413, uintptr(0), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_exec(tls, db, ts+33392, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33439, uintptr(0), uintptr(0), uintptr(0))
 	}
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3changeset_next(tls, pIter) {
 		Xsqlite3changeset_op(tls, pIter, bp+176, bp+184, bp+188, uintptr(0))
@@ -133657,16 +133715,16 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 				if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol == 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33422, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+33469, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol < *(*int32)(unsafe.Pointer(bp + 184)) {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33466,
+						ts+33513,
 						libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 200)), (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol, *(*int32)(unsafe.Pointer(bp + 184))))
 				} else if *(*int32)(unsafe.Pointer(bp + 184)) < nMinCol || libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 192)), uint64(*(*int32)(unsafe.Pointer(bp + 184)))) != 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33537, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+33584, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else {
 					(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FnCol = *(*int32)(unsafe.Pointer(bp + 184))
 					if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), ts+11341) {
@@ -133720,14 +133778,14 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 			}
 		}
 	}
-	Xsqlite3_exec(tls, db, ts+33597, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+33644, uintptr(0), uintptr(0), uintptr(0))
 
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, db, ts+33627, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33674, uintptr(0), uintptr(0), uintptr(0))
 		} else {
-			Xsqlite3_exec(tls, db, ts+33651, uintptr(0), uintptr(0), uintptr(0))
-			Xsqlite3_exec(tls, db, ts+33627, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33698, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33674, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -134975,7 +135033,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) {
 		fts5yy_pop_parser_stack(tls, fts5yypParser)
 	}
 
-	sqlite3Fts5ParseError(tls, pParse, ts+33679, 0)
+	sqlite3Fts5ParseError(tls, pParse, ts+33726, 0)
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -135263,7 +135321,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32
 
 	_ = fts5yymajor
 	sqlite3Fts5ParseError(tls,
-		pParse, ts+33707, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
+		pParse, ts+33754, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -135450,7 +135508,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int
 		if n < 0 {
 			n = int32(libc.Xstrlen(tls, z))
 		}
-		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33738, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
+		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33785, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
 		if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) {
 			*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 		}
@@ -135518,7 +135576,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp
 	var iCol int32
 
 	if nVal != 3 {
-		var zErr uintptr = ts + 33745
+		var zErr uintptr = ts + 33792
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -135700,7 +135758,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
 	var nCol int32
 
 	if nVal != 5 {
-		var zErr uintptr = ts + 33795
+		var zErr uintptr = ts + 33842
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -136024,13 +136082,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(96)
 
 	*(*[3]Builtin)(unsafe.Pointer(bp)) = [3]Builtin{
-		{FzFunc: ts + 33843, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33890, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5SnippetFunction}))},
-		{FzFunc: ts + 33851, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33898, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5HighlightFunction}))},
-		{FzFunc: ts + 33861, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33908, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5Bm25Function}))},
 	}
@@ -136581,7 +136639,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 	var nCmd int32 = int32(libc.Xstrlen(tls, zCmd))
-	if Xsqlite3_strnicmp(tls, ts+33866, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+33913, zCmd, nCmd) == 0 {
 		var nByte int32 = int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))
 		var p uintptr
 		var bFirst int32 = 1
@@ -136608,14 +136666,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 				break
 			}
 			if int32(*(*int8)(unsafe.Pointer(p))) < '0' || int32(*(*int8)(unsafe.Pointer(p))) > '9' {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33873, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33920, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
 
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES {
 				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-					ts+33904, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
+					ts+33951, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -136626,7 +136684,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 			}
 
 			if nPre <= 0 || nPre >= 1000 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33937, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33984, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -136639,7 +136697,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+33974, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34021, zCmd, nCmd) == 0 {
 		var p uintptr = zArg
 		var nArg Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zArg) + uint64(1))
 		var azArg uintptr = sqlite3Fts5MallocZero(tls, bp+40, int64(uint64(unsafe.Sizeof(uintptr(0)))*uint64(nArg)))
@@ -136648,7 +136706,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 		if azArg != 0 && pSpace != 0 {
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33983, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34030, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				for nArg = int64(0); p != 0 && *(*int8)(unsafe.Pointer(p)) != 0; nArg++ {
@@ -136667,7 +136725,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 					}
 				}
 				if p == uintptr(0) {
-					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34016, 0)
+					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34063, 0)
 					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				} else {
 					*(*int32)(unsafe.Pointer(bp + 40)) = sqlite3Fts5GetTokenizer(tls, pGlobal,
@@ -136682,14 +136740,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34050, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34097, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34058, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34105, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			if *(*int8)(unsafe.Pointer(zArg)) != 0 {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_EXTERNAL
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34090, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34137, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
 			} else {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE
 			}
@@ -136697,9 +136755,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34096, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34143, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34110, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34157, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40, zArg, -1)
@@ -136707,9 +136765,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34148, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34195, zCmd, nCmd) == 0 {
 		if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34159, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34206, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')
@@ -136721,17 +136779,17 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		*(*[4]Fts5Enum)(unsafe.Pointer(bp + 48)) = [4]Fts5Enum{
 			{FzName: ts + 8019, FeVal: FTS5_DETAIL_NONE},
 			{FzName: ts + 17338},
-			{FzName: ts + 34194, FeVal: FTS5_DETAIL_COLUMNS},
+			{FzName: ts + 34241, FeVal: FTS5_DETAIL_COLUMNS},
 			{},
 		}
 
 		if libc.AssignPtrInt32(bp+40, fts5ConfigSetEnum(tls, bp+48, zArg, pConfig+92)) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34202, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34249, 0)
 		}
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34233, libc.VaList(bp+24, nCmd, zCmd))
+	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34280, libc.VaList(bp+24, nCmd, zCmd))
 	return SQLITE_ERROR
 }
 
@@ -136778,15 +136836,15 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr,
 	defer tls.Free(16)
 
 	var rc int32 = SQLITE_OK
-	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22184) ||
+	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22231) ||
 		0 == Xsqlite3_stricmp(tls, zCol, ts+16260) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34261, libc.VaList(bp, zCol))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34308, libc.VaList(bp, zCol))
 		rc = SQLITE_ERROR
 	} else if zArg != 0 {
-		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34291) {
+		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34338) {
 			*(*U8)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*Fts5Config)(unsafe.Pointer(p)).FnCol))) = U8(1)
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34301, libc.VaList(bp+8, zArg))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34348, libc.VaList(bp+8, zArg))
 			rc = SQLITE_ERROR
 		}
 	}
@@ -136803,13 +136861,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_OK
 	*(*Fts5Buffer)(unsafe.Pointer(bp + 32)) = Fts5Buffer{}
 
-	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34332, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
+	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34379, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
 	if (*Fts5Config)(unsafe.Pointer(p)).FeContent != FTS5_CONTENT_NONE {
 		for i = 0; i < (*Fts5Config)(unsafe.Pointer(p)).FnCol; i++ {
 			if (*Fts5Config)(unsafe.Pointer(p)).FeContent == FTS5_CONTENT_EXTERNAL {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34337, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34384, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
 			} else {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34344, libc.VaList(bp+16, i))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34391, libc.VaList(bp+16, i))
 			}
 		}
 	}
@@ -136847,8 +136905,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 	(*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -1)
 	(*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize = 1
 	(*Fts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL
-	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22184) == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34352, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
+	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22231) == 0 {
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34399, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
 		*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 	}
 
@@ -136880,7 +136938,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 
 		if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK {
 			if z == uintptr(0) {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34381, libc.VaList(bp+8, zOrig))
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34428, libc.VaList(bp+8, zOrig))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				if bOption != 0 {
@@ -136917,14 +136975,14 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 		var zTail uintptr = uintptr(0)
 
 		if (*Fts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL {
-			zTail = ts + 34050
+			zTail = ts + 34097
 		} else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 {
-			zTail = ts + 34401
+			zTail = ts + 34448
 		}
 
 		if zTail != 0 {
 			(*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls,
-				bp+40, ts+34409, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
+				bp+40, ts+34456, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
 		}
 	}
 
@@ -136973,7 +137031,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_OK
 	var zSql uintptr
 
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34420, 0)
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34467, 0)
 	for i = 0; zSql != 0 && i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
 		var zSep uintptr = func() uintptr {
 			if i == 0 {
@@ -136981,10 +137039,10 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 			}
 			return ts + 14607
 		}()
-		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34436, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
+		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34483, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
 	}
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34443,
-		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22184))
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34490,
+		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22231))
 
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql)
@@ -137094,7 +137152,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 
 	var rc int32 = SQLITE_OK
 
-	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34469) {
+	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34516) {
 		var pgsz int32 = 0
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			pgsz = Xsqlite3_value_int(tls, pVal)
@@ -137104,7 +137162,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34474) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34521) {
 		var nHashSize int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nHashSize = Xsqlite3_value_int(tls, pVal)
@@ -137114,7 +137172,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34483) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34530) {
 		var nAutomerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nAutomerge = Xsqlite3_value_int(tls, pVal)
@@ -137127,7 +137185,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34493) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34540) {
 		var nUsermerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nUsermerge = Xsqlite3_value_int(tls, pVal)
@@ -137137,7 +137195,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34503) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34550) {
 		var nCrisisMerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nCrisisMerge = Xsqlite3_value_int(tls, pVal)
@@ -137153,7 +137211,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22184) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22231) {
 		var zIn uintptr = Xsqlite3_value_text(tls, pVal)
 
 		rc = sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8)
@@ -137176,7 +137234,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 	bp := tls.Alloc(52)
 	defer tls.Free(52)
 
-	var zSelect uintptr = ts + 34515
+	var zSelect uintptr = ts + 34562
 	var zSql uintptr
 	*(*uintptr)(unsafe.Pointer(bp + 40)) = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
@@ -137198,7 +137256,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) {
 			var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 0)
 			var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 1)
-			if 0 == Xsqlite3_stricmp(tls, zK, ts+34547) {
+			if 0 == Xsqlite3_stricmp(tls, zK, ts+34594) {
 				iVersion = Xsqlite3_value_int(tls, pVal)
 			} else {
 				*(*int32)(unsafe.Pointer(bp + 48)) = 0
@@ -137212,7 +137270,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 {
 			*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-				ts+34555,
+				ts+34602,
 				libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION))
 		}
 	}
@@ -137310,7 +137368,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 					}
 				}
 				if int32(*(*int8)(unsafe.Pointer(z2))) == 0 {
-					sqlite3Fts5ParseError(tls, pParse, ts+34620, 0)
+					sqlite3Fts5ParseError(tls, pParse, ts+34667, 0)
 					return FTS5_EOF
 				}
 			}
@@ -137323,20 +137381,20 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 		{
 			var z2 uintptr
 			if sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z))) == 0 {
-				sqlite3Fts5ParseError(tls, pParse, ts+34640, libc.VaList(bp, z))
+				sqlite3Fts5ParseError(tls, pParse, ts+34687, libc.VaList(bp, z))
 				return FTS5_EOF
 			}
 			tok = FTS5_STRING
 			for z2 = z + 1; sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z2))) != 0; z2++ {
 			}
 			(*Fts5Token)(unsafe.Pointer(pToken)).Fn = int32((int64(z2) - int64(z)) / 1)
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34671, uint64(2)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34718, uint64(2)) == 0 {
 				tok = FTS5_OR
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34674, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34721, uint64(3)) == 0 {
 				tok = FTS5_NOT
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30056, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30103, uint64(3)) == 0 {
 				tok = FTS5_AND
 			}
 			break
@@ -139114,9 +139172,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34678, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
+	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34725, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
 		sqlite3Fts5ParseError(tls,
-			pParse, ts+33707, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
+			pParse, ts+33754, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
 	}
 }
 
@@ -139132,7 +139190,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p
 				var c int8 = *(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))
 				if int32(c) < '0' || int32(c) > '9' {
 					sqlite3Fts5ParseError(tls,
-						pParse, ts+34683, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
+						pParse, ts+34730, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
 					return
 				}
 				nNear = nNear*10 + (int32(*(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - '0')
@@ -139219,7 +139277,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui
 			}
 		}
 		if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol {
-			sqlite3Fts5ParseError(tls, pParse, ts+20521, libc.VaList(bp, z))
+			sqlite3Fts5ParseError(tls, pParse, ts+20568, libc.VaList(bp, z))
 		} else {
 			pRet = fts5ParseColset(tls, pParse, pColset, iCol)
 		}
@@ -139300,7 +139358,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo
 	*(*uintptr)(unsafe.Pointer(bp)) = pColset
 	if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE {
 		sqlite3Fts5ParseError(tls, pParse,
-			ts+34712, 0)
+			ts+34759, 0)
 	} else {
 		fts5ParseSetColset(tls, pParse, pExpr, pColset, bp)
 	}
@@ -139470,12 +139528,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 1 ||
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*Fts5ExprTerm)(unsafe.Pointer(pPhrase+32)).FbFirst != 0 {
 							sqlite3Fts5ParseError(tls, pParse,
-								ts+34765,
+								ts+34812,
 								libc.VaList(bp, func() uintptr {
 									if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 {
-										return ts + 34815
+										return ts + 34862
 									}
-									return ts + 34678
+									return ts + 34725
 								}()))
 							Xsqlite3_free(tls, pRet)
 							pRet = uintptr(0)
@@ -140418,7 +140476,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK {
 			var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 			rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb,
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34822, iRowid, 0, p+56)
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34869, iRowid, 0, p+56)
 		}
 
 		if rc == SQLITE_ERROR {
@@ -140497,7 +140555,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in
 	if (*Fts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+64, Xsqlite3_mprintf(tls,
-			ts+34828,
+			ts+34875,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 		if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 			return
@@ -140522,7 +140580,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = Xsqlite3_mprintf(tls,
-			ts+34879,
+			ts+34926,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if fts5IndexPrepareStmt(tls, p, p+72, zSql) != 0 {
 			return
@@ -140545,7 +140603,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+88, Xsqlite3_mprintf(tls,
-			ts+34928,
+			ts+34975,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -140784,7 +140842,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 {
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) {
 			(*Fts5Index)(unsafe.Pointer(p)).Frc = fts5IndexPrepareStmt(tls, p, p+112,
-				Xsqlite3_mprintf(tls, ts+34968, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
+				Xsqlite3_mprintf(tls, ts+35015, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
 			if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 				return int64(0)
 			}
@@ -141983,7 +142041,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls,
-			ts+34991,
+			ts+35038,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect
@@ -143449,7 +143507,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls,
-			ts+35075,
+			ts+35122,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 
@@ -144531,13 +144589,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		(*Fts5Index)(unsafe.Pointer(p)).FpConfig = pConfig
 		(*Fts5Index)(unsafe.Pointer(p)).FnWorkUnit = FTS5_WORK_UNIT
-		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35132, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35179, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 {
 			*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+25049, ts+35140, 0, pzErr)
+				pConfig, ts+25096, ts+35187, 0, pzErr)
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 				*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls, pConfig, ts+11481,
-					ts+35175,
+					ts+35222,
 					1, pzErr)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
@@ -144790,7 +144848,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 {
 	sqlite3Fts5Put32(tls, bp, iNew)
 
 	rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl,
-		ts+34822, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
+		ts+34869, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
 	if rc == SQLITE_OK {
 		Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, 4, 0)
 		rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
@@ -144904,7 +144962,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) {
 	}
 
 	fts5IndexPrepareStmt(tls, p, bp+24, Xsqlite3_mprintf(tls,
-		ts+35219,
+		ts+35266,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid)))
 
 	for (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
@@ -145074,7 +145132,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks
 		} else {
 			(*Fts5Buffer)(unsafe.Pointer(bp + 16)).Fn = 0
 			fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp))+96+uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaFirst+1*4)).FiFirst)*120, uintptr(0), bp+16)
-			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35305)
+			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35352)
 			for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fn, bp+32, bp+40) {
 				var iCol int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) >> 32)
 				var iTokOff int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) & int64(0x7FFFFFFF))
@@ -145345,7 +145403,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 {
 
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 {
 		(*Fts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+35310, 0)
+			ts+35357, 0)
 		return SQLITE_ERROR
 	}
 
@@ -145769,7 +145827,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 	(*Fts5Sorter)(unsafe.Pointer(pSorter)).FnIdx = nPhrase
 
 	rc = fts5PrepareStatement(tls, pSorter, pConfig,
-		ts+35349,
+		ts+35396,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			func() uintptr {
 				if zRankArgs != 0 {
@@ -145785,9 +145843,9 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 			}(),
 			func() uintptr {
 				if bDesc != 0 {
-					return ts + 35404
+					return ts + 35451
 				}
-				return ts + 35409
+				return ts + 35456
 			}()))
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter
@@ -145833,12 +145891,12 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr)
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan = FTS5_PLAN_SPECIAL
 
-	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35413, z, n) {
+	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35460, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = I64(sqlite3Fts5IndexReads(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex))
 	} else if n == 2 && 0 == Xsqlite3_strnicmp(tls, ts+5050, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId
 	} else {
-		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35419, libc.VaList(bp, n, z))
+		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35466, libc.VaList(bp, n, z))
 		rc = SQLITE_ERROR
 	}
 
@@ -145869,7 +145927,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs
 
 	if zRankArgs != 0 {
-		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35447, libc.VaList(bp, zRankArgs))
+		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35494, libc.VaList(bp, zRankArgs))
 		if zSql != 0 {
 			*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 			*(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1,
@@ -145900,7 +145958,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 		pAux = fts5FindAuxiliary(tls, pTab, zRank)
 		if pAux == uintptr(0) {
-			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35457, libc.VaList(bp+8, zRank))
+			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35504, libc.VaList(bp+8, zRank))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		}
 	}
@@ -145932,14 +145990,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin
 			*(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_FREE_ZRANK
 		} else if rc == SQLITE_ERROR {
 			(*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35478, libc.VaList(bp, z))
+				ts+35525, libc.VaList(bp, z))
 		}
 	} else {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank != 0 {
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRankArgs
 		} else {
-			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33861
+			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33908
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0)
 		}
 	}
@@ -145995,7 +146053,7 @@ func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintp
 		goto __1
 	}
 	(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+35310, 0)
+		ts+35357, 0)
 	return SQLITE_ERROR
 __1:
 	;
@@ -146212,7 +146270,7 @@ __35:
 		goto __40
 	}
 	*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-		ts+35511, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		ts+35558, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	rc = SQLITE_ERROR
 	goto __41
 __40:
@@ -146357,28 +146415,28 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr)
 	var rc int32 = SQLITE_OK
 	*(*int32)(unsafe.Pointer(bp)) = 0
 
-	if 0 == Xsqlite3_stricmp(tls, ts+35547, zCmd) {
+	if 0 == Xsqlite3_stricmp(tls, ts+35594, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			fts5SetVtabError(tls, pTab,
-				ts+35558, 0)
+				ts+35605, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35638, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35685, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE {
 			fts5SetVtabError(tls, pTab,
-				ts+35646, 0)
+				ts+35693, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
 	} else if 0 == Xsqlite3_stricmp(tls, ts+16927, zCmd) {
 		rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35702, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35749, zCmd) {
 		var nMerge int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageMerge(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, nMerge)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35708, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35755, zCmd) {
 		var iArg int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg)
 	} else {
@@ -146449,12 +146507,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p
 
 		if eType0 == SQLITE_INTEGER && fts5IsContentless(tls, pTab) != 0 {
 			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35724,
+				ts+35771,
 				libc.VaList(bp, func() uintptr {
 					if nArg > 1 {
-						return ts + 20422
+						return ts + 20469
 					}
-					return ts + 35761
+					return ts + 35808
 				}(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		} else if nArg == 1 {
@@ -147084,7 +147142,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 
 	pCsr = fts5CursorFromCsrid(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId)
 	if pCsr == uintptr(0) || (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 {
-		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35773, libc.VaList(bp, iCsrId))
+		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35820, libc.VaList(bp, iCsrId))
 		Xsqlite3_result_error(tls, context, zErr, -1)
 		Xsqlite3_free(tls, zErr)
 	} else {
@@ -147328,7 +147386,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 	}())
 	if pMod == uintptr(0) {
 		rc = SQLITE_ERROR
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35794, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35841, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
 	} else {
 		rc = (*struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
@@ -147347,7 +147405,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 		(*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16
 		if rc != SQLITE_OK {
 			if pzErr != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35816, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35863, 0)
 			}
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls,
@@ -147394,7 +147452,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 	var ppApi uintptr
 	_ = nArg
 
-	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35847)
+	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35894)
 	if ppApi != 0 {
 		*(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal
 	}
@@ -147403,7 +147461,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) {
 	_ = nArg
 	_ = apUnused
-	Xsqlite3_result_text(tls, pCtx, ts+35860, -1, libc.UintptrFromInt32(-1))
+	Xsqlite3_result_text(tls, pCtx, ts+35907, -1, libc.UintptrFromInt32(-1))
 }
 
 func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
@@ -147417,7 +147475,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName2 = [5]uintptr{
-	ts + 35951, ts + 34050, ts + 25049, ts + 34401, ts + 11481,
+	ts + 35998, ts + 34097, ts + 25096, ts + 34448, ts + 11481,
 }
 
 func fts5Init(tls *libc.TLS, db uintptr) int32 {
@@ -147441,7 +147499,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		(*Fts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32
 		}{fts5FindTokenizer}))
-		rc = Xsqlite3_create_module_v2(tls, db, ts+35958, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+36005, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5IndexInit(tls, db)
 		}
@@ -147459,13 +147517,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35958, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+				db, ts+36005, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
 				}{fts5Fts5Func})), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35963, 0,
+				db, ts+36010, 0,
 				SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
 				p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
@@ -147522,17 +147580,17 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p
 
 	if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) {
 		*(*[11]uintptr)(unsafe.Pointer(bp + 128)) = [11]uintptr{
-			ts + 35978,
-			ts + 36046,
-			ts + 36115,
-			ts + 36148,
-			ts + 36187,
-			ts + 36227,
-			ts + 36266,
-			ts + 36307,
-			ts + 36346,
-			ts + 36388,
-			ts + 36428,
+			ts + 36025,
+			ts + 36093,
+			ts + 36162,
+			ts + 36195,
+			ts + 36234,
+			ts + 36274,
+			ts + 36313,
+			ts + 36354,
+			ts + 36393,
+			ts + 36435,
+			ts + 36475,
 		}
 		var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = uintptr(0)
@@ -147634,18 +147692,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 {
 	defer tls.Free(80)
 
 	var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36451,
+		ts+36498,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36555,
+			ts+36602,
 			libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36593,
+			ts+36640,
 			libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	return rc
@@ -147657,7 +147715,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin
 
 	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(pRc)) = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36631,
+			ts+36678,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail))
 	}
 }
@@ -147669,14 +147727,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in
 	var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig
 	*(*int32)(unsafe.Pointer(bp)) = sqlite3Fts5StorageSync(tls, pStorage)
 
-	fts5StorageRenameOne(tls, pConfig, bp, ts+25049, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+25096, zName)
 	fts5StorageRenameOne(tls, pConfig, bp, ts+11481, zName)
-	fts5StorageRenameOne(tls, pConfig, bp, ts+35951, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+35998, zName)
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34401, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34448, zName)
 	}
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34050, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34097, zName)
 	}
 	return *(*int32)(unsafe.Pointer(bp))
 }
@@ -147688,17 +147746,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn
 	var rc int32
 	*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
-	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36673,
+	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36720,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn,
 			func() uintptr {
 				if bWithout != 0 {
-					return ts + 29702
+					return ts + 29749
 				}
 				return ts + 1547
 			}()))
 	if *(*uintptr)(unsafe.Pointer(bp + 64)) != 0 {
 		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-			ts+36703,
+			ts+36750,
 			libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64))))
 		Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
@@ -147735,27 +147793,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre
 			} else {
 				var i int32
 				var iOff int32
-				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36747, 0)
+				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36794, 0)
 				iOff = int32(libc.Xstrlen(tls, zDefn))
 				for i = 0; i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
-					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36770, libc.VaList(bp, i))
+					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36817, libc.VaList(bp, i))
 					iOff = iOff + int32(libc.Xstrlen(tls, zDefn+uintptr(iOff)))
 				}
-				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34050, zDefn, 0, pzErr)
+				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34097, zDefn, 0, pzErr)
 			}
 			Xsqlite3_free(tls, zDefn)
 		}
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+34401, ts+36776, 0, pzErr)
+				pConfig, ts+34448, ts+36823, 0, pzErr)
 		}
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+35951, ts+36808, 1, pzErr)
+				pConfig, ts+35998, ts+36855, 1, pzErr)
 		}
 		if rc == SQLITE_OK {
-			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34547, uintptr(0), FTS5_CURRENT_VERSION)
+			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34594, uintptr(0), FTS5_CURRENT_VERSION)
 		}
 	}
 
@@ -147961,12 +148019,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 	(*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0
 
 	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36825,
+		ts+36872,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36875,
+			ts+36922,
 			libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 
@@ -147974,7 +148032,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 		rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex)
 	}
 	if rc == SQLITE_OK {
-		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34547, uintptr(0), FTS5_CURRENT_VERSION)
+		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34594, uintptr(0), FTS5_CURRENT_VERSION)
 	}
 	return rc
 }
@@ -148150,7 +148208,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr)
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+36904,
+	zSql = Xsqlite3_mprintf(tls, ts+36951,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix))
 	if zSql == uintptr(0) {
 		rc = SQLITE_NOMEM
@@ -148332,14 +148390,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 {
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			*(*I64)(unsafe.Pointer(bp + 48)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34050, bp+48)
+			rc = fts5StorageCount(tls, p, ts+34097, bp+48)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 48)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
 		}
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			*(*I64)(unsafe.Pointer(bp + 56)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34401, bp+56)
+			rc = fts5StorageCount(tls, p, ts+34448, bp+56)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 56)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
@@ -148534,9 +148592,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32,
 			libc.Xmemcpy(tls, p, uintptr(unsafe.Pointer(&aAsciiTokenChar)), uint64(unsafe.Sizeof(aAsciiTokenChar)))
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36936) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36983) {
 					fts5AsciiAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36947) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36994) {
 					fts5AsciiAddExceptions(tls, p, zArg, 0)
 				} else {
 					rc = SQLITE_ERROR
@@ -148751,7 +148809,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 	} else {
 		p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Unicode61Tokenizer{})))
 		if p != 0 {
-			var zCat uintptr = ts + 36958
+			var zCat uintptr = ts + 37005
 			var i int32
 			libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{})))
 
@@ -148763,7 +148821,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 			}
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36967) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37014) {
 					zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
 				}
 			}
@@ -148774,18 +148832,18 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36978) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37025) {
 					if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' && int32(*(*int8)(unsafe.Pointer(zArg))) != '2' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 						rc = SQLITE_ERROR
 					} else {
 						(*Unicode61Tokenizer)(unsafe.Pointer(p)).FeRemoveDiacritic = int32(*(*int8)(unsafe.Pointer(zArg))) - '0'
 
 					}
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36936) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36983) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36947) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36994) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 0)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36967) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37014) {
 				} else {
 					rc = SQLITE_ERROR
 				}
@@ -149061,7 +149119,7 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp
 	var rc int32 = SQLITE_OK
 	var pRet uintptr
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
-	var zBase uintptr = ts + 36996
+	var zBase uintptr = ts + 37043
 
 	if nArg > 0 {
 		zBase = *(*uintptr)(unsafe.Pointer(azArg))
@@ -149203,7 +149261,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37006, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37053, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149211,11 +149269,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37009, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37056, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37014, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37061, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -149223,7 +149281,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'e':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37019, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37066, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149231,7 +149289,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37022, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37069, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149239,11 +149297,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37025, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37072, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37030, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37077, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -149251,19 +149309,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37035, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37082, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37039, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37086, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37045, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37092, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37050, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37097, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149271,11 +149329,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'o':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37054, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37101, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37058, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37105, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149283,7 +149341,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 's':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37061, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37108, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149291,11 +149349,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37065, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37112, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37069, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37116, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149303,7 +149361,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37073, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37120, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149311,7 +149369,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37077, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37124, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149319,7 +149377,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37081, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37128, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149335,24 +149393,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37085, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37065, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37132, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37112, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'b':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37088, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37091, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37135, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37138, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37095, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37081, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37142, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37128, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
@@ -149367,44 +149425,44 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37098, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37145, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37065, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37112, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37106, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37153, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37113, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37160, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 4
 			}
 		}
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37118, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37165, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37014, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37061, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37123, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37170, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37009, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37056, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
 		}
 		break
 
 	case 'e':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37128, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37175, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37081, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37128, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 'g':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37133, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37180, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+15473, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
@@ -149413,91 +149471,91 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37138, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37185, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37091, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37138, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37142, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37189, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37006, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37053, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37147, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37194, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37050, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37097, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37153, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37200, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37157, uint64(1))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37204, uint64(1))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 1
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37159, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37206, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37073, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37120, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
 		}
 		break
 
 	case 'o':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37165, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37212, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37081, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37128, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37173, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37220, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37065, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37112, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37179, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37226, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37065, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37112, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37184, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37231, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37006, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37053, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37190, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37237, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37077, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37124, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37198, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37245, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37206, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37253, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37210, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37257, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37073, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37120, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
 		}
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37218, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37265, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37006, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37053, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37224, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37271, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37077, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37124, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37230, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37277, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37091, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37138, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 3
 			}
 		}
@@ -149512,16 +149570,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37237, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37284, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37022, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37069, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37242, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37289, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -149529,21 +149587,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37247, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37294, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37022, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37069, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37253, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37300, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37022, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37069, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37206, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37253, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149551,7 +149609,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37259, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37306, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
@@ -149559,9 +149617,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37265, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37312, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37006, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37053, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
@@ -149576,12 +149634,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'e':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37271, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37318, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37275, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37322, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 2
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37278, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37325, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 				ret = 1
@@ -149590,7 +149648,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37281, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37328, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 				ret = 1
@@ -149746,7 +149804,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp
 		(*TrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = 1
 		for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 			var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37285) {
+			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37332) {
 				if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 					rc = SQLITE_ERROR
 				} else {
@@ -149926,22 +149984,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(128)
 
 	*(*[4]BuiltinTokenizer)(unsafe.Pointer(bp)) = [4]BuiltinTokenizer{
-		{FzName: ts + 36996, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37043, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5UnicodeCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5UnicodeDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5UnicodeTokenize}))}},
-		{FzName: ts + 37300, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37347, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5AsciiCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5AsciiDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5AsciiTokenize}))}},
-		{FzName: ts + 37306, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37353, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5PorterCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5PorterDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5PorterTokenize}))}},
-		{FzName: ts + 37313, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37360, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5TriCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5TriDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
@@ -151084,14 +151142,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint
 	var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8, zType, -1)
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		sqlite3Fts5Dequote(tls, zCopy)
-		if Xsqlite3_stricmp(tls, zCopy, ts+37321) == 0 {
+		if Xsqlite3_stricmp(tls, zCopy, ts+37368) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37325) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37372) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37329) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37376) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37338, libc.VaList(bp, zCopy))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37385, libc.VaList(bp, zCopy))
 			*(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_ERROR
 		}
 		Xsqlite3_free(tls, zCopy)
@@ -151117,19 +151175,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	defer tls.Free(36)
 
 	*(*[3]uintptr)(unsafe.Pointer(bp + 8)) = [3]uintptr{
-		ts + 37372,
-		ts + 37412,
-		ts + 37447,
+		ts + 37419,
+		ts + 37459,
+		ts + 37494,
 	}
 
 	var pRet uintptr = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
 	var bDb int32
 
-	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23345, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
+	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23392, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
 
 	if argc != 5 && bDb == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37490, 0)
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37537, 0)
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 	} else {
 		var nByte int32
@@ -151262,11 +151320,11 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 
 	if (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 {
 		(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+37523, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+			ts+37570, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 		return SQLITE_ERROR
 	}
 	zSql = sqlite3Fts5Mprintf(tls, bp+64,
-		ts+37554,
+		ts+37601,
 		libc.VaList(bp+16, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 64)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+72, uintptr(0))
@@ -151290,7 +151348,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 			*(*uintptr)(unsafe.Pointer(bp + 72)) = uintptr(0)
 			if *(*int32)(unsafe.Pointer(bp + 64)) == SQLITE_OK {
 				(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-					ts+37605, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+					ts+37652, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 				*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 			}
 		} else {
@@ -151685,7 +151743,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32
 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 {
 	var p uintptr = pGlobal
 
-	return Xsqlite3_create_module_v2(tls, db, ts+37631, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
+	return Xsqlite3_create_module_v2(tls, db, ts+37678, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
 }
 
 var fts5Vocab = Sqlite3_module{
@@ -151707,7 +151765,7 @@ var fts5Vocab = Sqlite3_module{
 // ************* End of stmt.c ***********************************************
 // Return the source-id for this library
 func Xsqlite3_sourceid(tls *libc.TLS) uintptr {
-	return ts + 37641
+	return ts + 37688
 }
 
 func init() {
@@ -152681,5 +152739,5 @@ func init() {
 	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError
 }
 
-var ts1 = "3.41.0\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-13.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00"
+var ts1 = "3.41.2\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-13.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00"
 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_arm.go b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_arm.go
index c565308b..2fd16554 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_arm.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_freebsd_arm.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_freebsd_arm.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
@@ -747,11 +747,11 @@ const (
 	NC_OrderAgg                           = 0x8000000
 	NC_PartIdx                            = 0x000002
 	NC_SelfRef                            = 0x00002e
+	NC_Subquery                           = 0x000040
 	NC_UAggInfo                           = 0x000100
 	NC_UBaseReg                           = 0x000400
 	NC_UEList                             = 0x000080
 	NC_UUpsert                            = 0x000200
-	NC_VarSelect                          = 0x000040
 	NDEBUG                                = 1
 	NETGRAPHDISC                          = 6
 	NN                                    = 1
@@ -1957,7 +1957,7 @@ const (
 	SQLITE_SHM_UNLOCK                     = 1
 	SQLITE_SORTER_PMASZ                   = 250
 	SQLITE_SOUNDEX                        = 1
-	SQLITE_SOURCE_ID                      = "2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d"
+	SQLITE_SOURCE_ID                      = "2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da"
 	SQLITE_SO_ASC                         = 0
 	SQLITE_SO_DESC                        = 1
 	SQLITE_SO_UNDEFINED                   = -1
@@ -2065,8 +2065,8 @@ const (
 	SQLITE_UTF8                           = 1
 	SQLITE_VDBEINT_H                      = 0
 	SQLITE_VDBE_H                         = 0
-	SQLITE_VERSION                        = "3.41.0"
-	SQLITE_VERSION_NUMBER                 = 3041000
+	SQLITE_VERSION                        = "3.41.2"
+	SQLITE_VERSION_NUMBER                 = 3041002
 	SQLITE_VTABRISK_High                  = 2
 	SQLITE_VTABRISK_Low                   = 0
 	SQLITE_VTABRISK_Normal                = 1
@@ -5268,7 +5268,8 @@ type IndexedExpr1 = struct {
 	FiIdxCur       int32
 	FiIdxCol       int32
 	FbMaybeNullRow U8
-	F__ccgo_pad1   [3]byte
+	Faff           U8
+	F__ccgo_pad1   [2]byte
 	FpIENext       uintptr
 }
 
@@ -5897,17 +5898,18 @@ type Pager = Pager1
 
 // Handle type for pages.
 type PgHdr2 = struct {
-	FpPage      uintptr
-	FpData      uintptr
-	FpExtra     uintptr
-	FpCache     uintptr
-	FpDirty     uintptr
-	FpPager     uintptr
-	Fpgno       Pgno
-	Fflags      U16
-	FnRef       I16
-	FpDirtyNext uintptr
-	FpDirtyPrev uintptr
+	FpPage       uintptr
+	FpData       uintptr
+	FpExtra      uintptr
+	FpCache      uintptr
+	FpDirty      uintptr
+	FpPager      uintptr
+	Fpgno        Pgno
+	Fflags       U16
+	F__ccgo_pad1 [2]byte
+	FnRef        I64
+	FpDirtyNext  uintptr
+	FpDirtyPrev  uintptr
 }
 
 // Handle type for pages.
@@ -6120,14 +6122,15 @@ type PCache2 = struct {
 	FpDirty      uintptr
 	FpDirtyTail  uintptr
 	FpSynced     uintptr
-	FnRefSum     int32
+	F__ccgo_pad1 [4]byte
+	FnRefSum     I64
 	FszCache     int32
 	FszSpill     int32
 	FszPage      int32
 	FszExtra     int32
 	FbPurgeable  U8
 	FeCreate     U8
-	F__ccgo_pad1 [2]byte
+	F__ccgo_pad2 [2]byte
 	FxStress     uintptr
 	FpStress     uintptr
 	FpCache      uintptr
@@ -6924,7 +6927,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
 	_ = pMutex
 
 	if op < 0 || op >= int32(uint32(unsafe.Sizeof([10]Sqlite3StatValueType{}))/uint32(unsafe.Sizeof(Sqlite3StatValueType(0)))) {
-		return Xsqlite3MisuseError(tls, 23229)
+		return Xsqlite3MisuseError(tls, 23233)
 	}
 	if statMutex[op] != 0 {
 		pMutex = Xsqlite3Pcache1Mutex(tls)
@@ -15109,7 +15112,7 @@ func closePendingFds(tls *libc.TLS, pFile uintptr) {
 
 	for p = (*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused; p != 0; p = pNext {
 		pNext = (*UnixUnusedFd)(unsafe.Pointer(p)).FpNext
-		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38271)
+		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38275)
 		Xsqlite3_free(tls, p)
 	}
 	(*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused = uintptr(0)
@@ -15586,7 +15589,7 @@ func closeUnixFile(tls *libc.TLS, id uintptr) int32 {
 	var pFile uintptr = id
 	unixUnmapfile(tls, pFile)
 	if (*UnixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
-		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39055)
+		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39059)
 		(*UnixFile)(unsafe.Pointer(pFile)).Fh = -1
 	}
 
@@ -15877,7 +15880,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 {
 	if fd >= 0 {
 		return SQLITE_OK
 	}
-	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40676), ts+3371, bp+8, 40676)
+	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40680), ts+3371, bp+8, 40680)
 }
 
 func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
@@ -15894,14 +15897,14 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
 
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3659, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40717)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3659, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40721)
 	}
 
 	if int32((*UnixFile)(unsafe.Pointer(pFile)).FctrlFlags)&UNIXFILE_DIRSYNC != 0 {
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*12 + 4)))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, bp)
 		if rc == SQLITE_OK {
 			full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0)
-			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40731)
+			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40735)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -15921,7 +15924,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 {
 	rc = robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte)
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40762)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40766)
 	} else {
 		if nByte < (*UnixFile)(unsafe.Pointer(pFile)).FmmapSize {
 			(*UnixFile)(unsafe.Pointer(pFile)).FmmapSize = nByte
@@ -15989,7 +15992,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 {
 		if (*UnixFile)(unsafe.Pointer(pFile)).FszChunk <= 0 {
 			if robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte) != 0 {
 				storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
-				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40883)
+				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40887)
 			}
 		}
 
@@ -16216,7 +16219,7 @@ func unixShmPurge(tls *libc.TLS, pFd uintptr) {
 		}
 		Xsqlite3_free(tls, (*UnixShmNode)(unsafe.Pointer(p)).FapRegion)
 		if (*UnixShmNode)(unsafe.Pointer(p)).FhShm >= 0 {
-			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41442)
+			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41446)
 			(*UnixShmNode)(unsafe.Pointer(p)).FhShm = -1
 		}
 		(*UnixInodeInfo)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0)
@@ -16244,7 +16247,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32
 			rc = unixShmSystemLock(tls, pDbFd, F_WRLCK, (22+SQLITE_SHM_NLOCK)*4+SQLITE_SHM_NLOCK, 1)
 
 			if rc == SQLITE_OK && robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3290, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41499)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3290, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41503)
 			}
 		}
 	} else if int32((*flock)(unsafe.Pointer(bp+8)).Fl_type) == F_WRLCK {
@@ -16343,7 +16346,7 @@ __8:
 	if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) {
 		goto __10
 	}
-	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41624), ts+3254, zShm, 41624)
+	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41628), ts+3254, zShm, 41628)
 	goto shm_open_err
 __10:
 	;
@@ -16473,7 +16476,7 @@ __11:
 		goto __14
 	}
 	zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3325, zFile, 41768)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3325, zFile, 41772)
 	goto shmpage_out
 __14:
 	;
@@ -16519,7 +16522,7 @@ __16:
 	if !(pMem == libc.UintptrFromInt32(-1)) {
 		goto __20
 	}
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3412, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41795)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3412, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41799)
 	goto shmpage_out
 __20:
 	;
@@ -16758,7 +16761,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) {
 	if pNew == libc.UintptrFromInt32(-1) {
 		pNew = uintptr(0)
 		nNew = int64(0)
-		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42169)
+		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42173)
 
 		(*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeMax = int64(0)
 	}
@@ -16892,7 +16895,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 		unixEnterMutex(tls)
 		rc = findInodeInfo(tls, pNew, pNew+8)
 		if rc != SQLITE_OK {
-			robust_close(tls, pNew, h, 42672)
+			robust_close(tls, pNew, h, 42676)
 			h = -1
 		}
 		unixLeaveMutex(tls)
@@ -16913,7 +16916,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 	storeLastErrno(tls, pNew, 0)
 	if rc != SQLITE_OK {
 		if h >= 0 {
-			robust_close(tls, pNew, h, 42757)
+			robust_close(tls, pNew, h, 42761)
 		}
 	} else {
 		(*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle
@@ -17229,7 +17232,7 @@ __15:
 	if !(fd < 0) {
 		goto __19
 	}
-	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43198), ts+3254, zName, 43198)
+	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43202), ts+3254, zName, 43202)
 	if !(rc == SQLITE_OK) {
 		goto __20
 	}
@@ -17320,7 +17323,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		if *(*int32)(unsafe.Pointer(libc.X__error(tls))) == ENOENT {
 			rc = SQLITE_IOERR | int32(23)<<8
 		} else {
-			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3364, zPath, 43337)
+			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3364, zPath, 43341)
 		}
 		return rc
 	}
@@ -17328,9 +17331,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*12 + 4)))(tls, zPath, bp)
 		if rc == SQLITE_OK {
 			if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3781, zPath, 43347)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3781, zPath, 43351)
 			}
-			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43349)
+			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43353)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -17394,18 +17397,18 @@ func appendOnePathElement(tls *libc.TLS, pPath uintptr, zName uintptr, nName int
 		zIn = (*DbPath)(unsafe.Pointer(pPath)).FzOut
 		if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*12 + 4)))(tls, zIn, bp) != 0 {
 			if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != ENOENT {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43443), ts+3452, zIn, 43443)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43447), ts+3452, zIn, 43447)
 			}
 		} else if int32((*stat)(unsafe.Pointer(bp)).Fst_mode)&0170000 == 0120000 {
 			var got Ssize_t
 
 			if libc.PostIncInt32(&(*DbPath)(unsafe.Pointer(pPath)).FnSymlink, 1) > SQLITE_MAX_SYMLINK {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43449)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43453)
 				return
 			}
 			got = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*12 + 4)))(tls, zIn, bp+224, uint32(unsafe.Sizeof([1026]uint8{}))-uint32(2))
 			if got <= 0 || got >= Ssize_t(unsafe.Sizeof([1026]uint8{}))-2 {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43454), ts+3443, zIn, 43454)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43458), ts+3443, zIn, 43458)
 				return
 			}
 			*(*uint8)(unsafe.Pointer(bp + 224 + uintptr(got))) = uint8(0)
@@ -17445,14 +17448,14 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO
 	(*DbPath)(unsafe.Pointer(bp + 1028)).FzOut = zOut
 	if int32(*(*uint8)(unsafe.Pointer(zPath))) != '/' {
 		if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*12 + 4)))(tls, bp, uint32(unsafe.Sizeof([1026]uint8{}))-uint32(2)) == uintptr(0) {
-			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43512), ts+3272, zPath, 43512)
+			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43516), ts+3272, zPath, 43516)
 		}
 		appendAllPathElements(tls, bp+1028, bp)
 	}
 	appendAllPathElements(tls, bp+1028, zPath)
 	*(*uint8)(unsafe.Pointer(zOut + uintptr((*DbPath)(unsafe.Pointer(bp+1028)).FnUsed))) = uint8(0)
 	if (*DbPath)(unsafe.Pointer(bp+1028)).Frc != 0 || (*DbPath)(unsafe.Pointer(bp+1028)).FnUsed < 2 {
-		return Xsqlite3CantopenError(tls, 43518)
+		return Xsqlite3CantopenError(tls, 43522)
 	}
 	if (*DbPath)(unsafe.Pointer(bp+1028)).FnSymlink != 0 {
 		return SQLITE_OK | int32(2)<<8
@@ -17547,7 +17550,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in
 			for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__error(tls))) == EINTR {
 				got = (*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*12 + 4)))(tls, fd, zBuf, uint32(nBuf))
 			}
-			robust_close(tls, uintptr(0), fd, 43619)
+			robust_close(tls, uintptr(0), fd, 43623)
 		}
 
 	}
@@ -18977,7 +18980,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 	libc.Xmemset(tls, pPgHdr+16, 0, uint32(unsafe.Sizeof(PgHdr{}))-uint32(uintptr(0)+16))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpPage = pPage
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpData = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpBuf
-	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*40
+	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*48
 	libc.Xmemset(tls, (*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra, 0, uint32(8))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpCache = pCache
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).Fpgno = pgno
@@ -19007,7 +19010,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 // reference count drops to 0, then it is made eligible for recycling.
 func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) {
 	(*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum--
-	if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 {
+	if libc.PreDecInt64(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1) == int64(0) {
 		if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_CLEAN != 0 {
 			pcacheUnpin(tls, p)
 		} else {
@@ -19058,7 +19061,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) {
 	*(*U16)(unsafe.Pointer(p + 28)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE))
 	*(*U16)(unsafe.Pointer(p + 28)) |= U16(PGHDR_CLEAN)
 
-	if int32((*PgHdr)(unsafe.Pointer(p)).FnRef) == 0 {
+	if (*PgHdr)(unsafe.Pointer(p)).FnRef == int64(0) {
 		pcacheUnpin(tls, p)
 	}
 }
@@ -19162,8 +19165,8 @@ func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) {
 }
 
 func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr {
-	bp := tls.Alloc(40)
-	defer tls.Free(40)
+	bp := tls.Alloc(48)
+	defer tls.Free(48)
 
 	var pTail uintptr
 	pTail = bp
@@ -19241,13 +19244,13 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr {
 //
 // This is not the total number of pages referenced, but the sum of the
 // reference count for all pages.
-func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 {
+func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) I64 {
 	return (*PCache)(unsafe.Pointer(pCache)).FnRefSum
 }
 
 // Return the number of references to the page supplied as an argument.
-func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 {
-	return int32((*PgHdr)(unsafe.Pointer(p)).FnRef)
+func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) I64 {
+	return (*PgHdr)(unsafe.Pointer(p)).FnRef
 }
 
 // Return the total number of pages in the cache.
@@ -21539,7 +21542,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 {
 
 	pPg = Xsqlite3PagerLookup(tls, pPager, iPg)
 	if pPg != 0 {
-		if Xsqlite3PcachePageRefcount(tls, pPg) == 1 {
+		if Xsqlite3PcachePageRefcount(tls, pPg) == int64(1) {
 			Xsqlite3PcacheDrop(tls, pPg)
 		} else {
 			rc = readDbPage(tls, pPg)
@@ -21972,7 +21975,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr,
 	var pageSize U32 = *(*U32)(unsafe.Pointer(pPageSize))
 
 	if (int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) == 0 || (*Pager)(unsafe.Pointer(pPager)).FdbSize == Pgno(0)) &&
-		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 &&
+		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) &&
 		pageSize != 0 && pageSize != U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) {
 		var pNew uintptr = uintptr(0)
 		*(*I64)(unsafe.Pointer(bp)) = int64(0)
@@ -22124,9 +22127,9 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr
 			Xsqlite3OsUnfetch(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, I64(pgno-Pgno(1))*(*Pager)(unsafe.Pointer(pPager)).FpageSize, pData)
 			return SQLITE_NOMEM
 		}
-		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*40
+		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*48
 		(*PgHdr)(unsafe.Pointer(p)).Fflags = U16(PGHDR_MMAP)
-		(*PgHdr)(unsafe.Pointer(p)).FnRef = int16(1)
+		(*PgHdr)(unsafe.Pointer(p)).FnRef = int64(1)
 		(*PgHdr)(unsafe.Pointer(p)).FpPager = pPager
 	}
 
@@ -22458,7 +22461,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 {
 
 		for rc == SQLITE_OK && pList != 0 {
 			var pNext uintptr = (*PgHdr)(unsafe.Pointer(pList)).FpDirty
-			if int32((*PgHdr)(unsafe.Pointer(pList)).FnRef) == 0 {
+			if (*PgHdr)(unsafe.Pointer(pList)).FnRef == int64(0) {
 				rc = pagerStress(tls, pPager, pList)
 			}
 			pList = pNext
@@ -22608,7 +22611,7 @@ __11:
 		goto __12
 	}
 
-	rc = Xsqlite3CantopenError(tls, 60235)
+	rc = Xsqlite3CantopenError(tls, 60239)
 __12:
 	;
 	if !(rc != SQLITE_OK) {
@@ -22989,7 +22992,7 @@ __7:
 	if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) {
 		goto __10
 	}
-	rc = Xsqlite3CantopenError(tls, 60754)
+	rc = Xsqlite3CantopenError(tls, 60758)
 	Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd)
 __10:
 	;
@@ -23095,7 +23098,7 @@ __24:
 }
 
 func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) {
-	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 {
+	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) {
 		pagerUnlockAndRollback(tls, pPager)
 	}
 }
@@ -23113,7 +23116,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla
 	if !(pgno == Pgno(0)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 60967)
+	return Xsqlite3CorruptError(tls, 60971)
 __1:
 	;
 	*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3)
@@ -23152,7 +23155,7 @@ __5:
 	if !(pgno == (*Pager)(unsafe.Pointer(pPager)).FlckPgno) {
 		goto __7
 	}
-	rc = Xsqlite3CorruptError(tls, 60999)
+	rc = Xsqlite3CorruptError(tls, 61003)
 	goto pager_acquire_err
 __7:
 	;
@@ -23229,7 +23232,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags
 		(int32((*Pager)(unsafe.Pointer(pPager)).FeState) == PAGER_READER || flags&PAGER_GET_READONLY != 0))
 
 	if pgno <= Pgno(1) && pgno == Pgno(0) {
-		return Xsqlite3CorruptError(tls, 61078)
+		return Xsqlite3CorruptError(tls, 61082)
 	}
 
 	if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
@@ -23987,7 +23990,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 {
 
 // Return the number of references to the specified page.
 func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 {
-	return Xsqlite3PcachePageRefcount(tls, pPage)
+	return int32(Xsqlite3PcachePageRefcount(tls, pPage))
 }
 
 // Parameter eStat must be one of SQLITE_DBSTATUS_CACHE_HIT, _MISS, _WRITE,
@@ -24230,9 +24233,9 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno
 	pPgOld = Xsqlite3PagerLookup(tls, pPager, pgno)
 
 	if pPgOld != 0 {
-		if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 {
+		if (*PgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
 			Xsqlite3PagerUnrefNotNull(tls, pPgOld)
-			return Xsqlite3CorruptError(tls, 62623)
+			return Xsqlite3CorruptError(tls, 62627)
 		}
 		*(*U16)(unsafe.Pointer(pPg + 28)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC)
 		if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 {
@@ -24986,7 +24989,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 {
 		nCollide = idx
 		for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) {
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 64387)
+				return Xsqlite3CorruptError(tls, 64391)
 			}
 		}
 		*(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaPgno + uintptr(idx-1)*4)) = iPage
@@ -25085,7 +25088,7 @@ __6:
 	if !(version != U32(WAL_MAX_VERSION)) {
 		goto __7
 	}
-	rc = Xsqlite3CantopenError(tls, 64519)
+	rc = Xsqlite3CantopenError(tls, 64523)
 	goto finished
 __7:
 	;
@@ -25670,7 +25673,7 @@ __10:
 		goto __14
 	}
 
-	rc = Xsqlite3CorruptError(tls, 65333)
+	rc = Xsqlite3CorruptError(tls, 65337)
 	goto __15
 __14:
 	Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16)
@@ -25945,7 +25948,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 {
 	}
 
 	if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) {
-		rc = Xsqlite3CantopenError(tls, 65682)
+		rc = Xsqlite3CantopenError(tls, 65686)
 	}
 	if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
 		if rc != SQLITE_OK {
@@ -26418,7 +26421,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr
 				iRead = iFrame
 			}
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 66419)
+				return Xsqlite3CorruptError(tls, 66423)
 			}
 			iKey = walNextHash(tls, iKey)
 		}
@@ -26923,7 +26926,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
 
 	if rc == SQLITE_OK {
 		if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf {
-			rc = Xsqlite3CorruptError(tls, 67138)
+			rc = Xsqlite3CorruptError(tls, 67142)
 		} else {
 			rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
 		}
@@ -27580,7 +27583,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32
 		}
 		Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
 		if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
-			rc = Xsqlite3CorruptError(tls, 69249)
+			rc = Xsqlite3CorruptError(tls, 69253)
 		} else {
 			rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
 		}
@@ -27717,7 +27720,7 @@ __1:
 	if !(key == Pgno(0)) {
 		goto __2
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69430)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69434)
 	return
 __2:
 	;
@@ -27734,7 +27737,7 @@ __3:
 		goto __4
 	}
 
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69443)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69447)
 	goto ptrmap_exit
 __4:
 	;
@@ -27742,7 +27745,7 @@ __4:
 	if !(offset < 0) {
 		goto __5
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69448)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69452)
 	goto ptrmap_exit
 __5:
 	;
@@ -27785,7 +27788,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 	offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1)))
 	if offset < 0 {
 		Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
-		return Xsqlite3CorruptError(tls, 69493)
+		return Xsqlite3CorruptError(tls, 69497)
 	}
 
 	*(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
@@ -27795,7 +27798,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 
 	Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
 	if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 {
-		return Xsqlite3CorruptError(tls, 69501)
+		return Xsqlite3CorruptError(tls, 69505)
 	}
 	return SQLITE_OK
 }
@@ -28045,7 +28048,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr,
 	if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 		var ovfl Pgno
 		if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) {
-			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69893)
+			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69897)
 			return
 		}
 		ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4))
@@ -28092,7 +28095,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 {
 	if !(iFree > usableSize-4) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 69951)
+	return Xsqlite3CorruptError(tls, 69955)
 __2:
 	;
 	if !(iFree != 0) {
@@ -28102,7 +28105,7 @@ __2:
 	if !(iFree2 > usableSize-4) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 69954)
+	return Xsqlite3CorruptError(tls, 69958)
 __4:
 	;
 	if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) {
@@ -28115,7 +28118,7 @@ __4:
 	if !(top >= iFree) {
 		goto __6
 	}
-	return Xsqlite3CorruptError(tls, 69962)
+	return Xsqlite3CorruptError(tls, 69966)
 __6:
 	;
 	if !(iFree2 != 0) {
@@ -28124,14 +28127,14 @@ __6:
 	if !(iFree+sz > iFree2) {
 		goto __9
 	}
-	return Xsqlite3CorruptError(tls, 69965)
+	return Xsqlite3CorruptError(tls, 69969)
 __9:
 	;
 	sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1)))
 	if !(iFree2+sz2 > usableSize) {
 		goto __10
 	}
-	return Xsqlite3CorruptError(tls, 69967)
+	return Xsqlite3CorruptError(tls, 69971)
 __10:
 	;
 	libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint32(iFree2-(iFree+sz)))
@@ -28141,7 +28144,7 @@ __7:
 	if !(iFree+sz > usableSize) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 69971)
+	return Xsqlite3CorruptError(tls, 69975)
 __11:
 	;
 __8:
@@ -28205,7 +28208,7 @@ __19:
 	if !(pc < iCellStart || pc > iCellLast) {
 		goto __22
 	}
-	return Xsqlite3CorruptError(tls, 70004)
+	return Xsqlite3CorruptError(tls, 70008)
 __22:
 	;
 	size = int32((*struct {
@@ -28215,7 +28218,7 @@ __22:
 	if !(cbrk < iCellStart || pc+size > usableSize) {
 		goto __23
 	}
-	return Xsqlite3CorruptError(tls, 70010)
+	return Xsqlite3CorruptError(tls, 70014)
 __23:
 	;
 	*(*U8)(unsafe.Pointer(pAddr1)) = U8(cbrk >> 8)
@@ -28237,7 +28240,7 @@ defragment_out:
 	if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) {
 		goto __24
 	}
-	return Xsqlite3CorruptError(tls, 70024)
+	return Xsqlite3CorruptError(tls, 70028)
 __24:
 	;
 	*(*uint8)(unsafe.Pointer(data + uintptr(hdr+5))) = U8(cbrk >> 8)
@@ -28272,7 +28275,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 				*(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x)))
 				return aData + uintptr(pc)
 			} else if x+pc > maxPC {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70081)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70085)
 				return uintptr(0)
 			} else {
 				*(*U8)(unsafe.Pointer(aData + uintptr(pc+2))) = U8(x >> 8)
@@ -28285,13 +28288,13 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 		pc = int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1)))
 		if pc <= iAddr {
 			if pc != 0 {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70096)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70100)
 			}
 			return uintptr(0)
 		}
 	}
 	if pc > maxPC+nByte-4 {
-		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70103)
+		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70107)
 	}
 	return uintptr(0)
 }
@@ -28316,7 +28319,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 		if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) {
 			top = 65536
 		} else {
-			return Xsqlite3CorruptError(tls, 70152)
+			return Xsqlite3CorruptError(tls, 70156)
 		}
 	}
 
@@ -28327,7 +28330,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 
 			*(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, (int32(pSpace)-int32(data))/1)
 			if g2 <= gap {
-				return Xsqlite3CorruptError(tls, 70170)
+				return Xsqlite3CorruptError(tls, 70174)
 			} else {
 				return SQLITE_OK
 			}
@@ -28379,22 +28382,22 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 				if int32(iFreeBlk) == 0 {
 					break
 				}
-				return Xsqlite3CorruptError(tls, 70249)
+				return Xsqlite3CorruptError(tls, 70253)
 			}
 			iPtr = iFreeBlk
 		}
 		if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) {
-			return Xsqlite3CorruptError(tls, 70254)
+			return Xsqlite3CorruptError(tls, 70258)
 		}
 
 		if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) {
 			nFrag = U8(U32(iFreeBlk) - iEnd)
 			if iEnd > U32(iFreeBlk) {
-				return Xsqlite3CorruptError(tls, 70266)
+				return Xsqlite3CorruptError(tls, 70270)
 			}
 			iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1)))))
 			if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-				return Xsqlite3CorruptError(tls, 70269)
+				return Xsqlite3CorruptError(tls, 70273)
 			}
 			iSize = U16(iEnd - U32(iStart))
 			iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1))))
@@ -28404,7 +28407,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1))))
 			if iPtrEnd+3 >= int32(iStart) {
 				if iPtrEnd > int32(iStart) {
-					return Xsqlite3CorruptError(tls, 70282)
+					return Xsqlite3CorruptError(tls, 70286)
 				}
 				nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd))
 				iSize = U16(iEnd - U32(iPtr))
@@ -28412,7 +28415,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			}
 		}
 		if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) {
-			return Xsqlite3CorruptError(tls, 70288)
+			return Xsqlite3CorruptError(tls, 70292)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag))
 	}
@@ -28420,10 +28423,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 	x = U16(int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1))))
 	if int32(iStart) <= int32(x) {
 		if int32(iStart) < int32(x) {
-			return Xsqlite3CorruptError(tls, 70297)
+			return Xsqlite3CorruptError(tls, 70301)
 		}
 		if int32(iPtr) != int32(hdr)+1 {
-			return Xsqlite3CorruptError(tls, 70298)
+			return Xsqlite3CorruptError(tls, 70302)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8)
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk)
@@ -28483,7 +28486,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70357)
+			return Xsqlite3CorruptError(tls, 70361)
 		}
 	} else {
 		(*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize = U8(4)
@@ -28519,7 +28522,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70381)
+			return Xsqlite3CorruptError(tls, 70385)
 		}
 	}
 	return SQLITE_OK
@@ -28549,11 +28552,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 		var next U32
 		var size U32
 		if pc < top {
-			return Xsqlite3CorruptError(tls, 70432)
+			return Xsqlite3CorruptError(tls, 70436)
 		}
 		for 1 != 0 {
 			if pc > iCellLast {
-				return Xsqlite3CorruptError(tls, 70437)
+				return Xsqlite3CorruptError(tls, 70441)
 			}
 			next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1))))
 			size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1))))
@@ -28564,15 +28567,15 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 			pc = int32(next)
 		}
 		if next > U32(0) {
-			return Xsqlite3CorruptError(tls, 70447)
+			return Xsqlite3CorruptError(tls, 70451)
 		}
 		if U32(pc)+size > uint32(usableSize) {
-			return Xsqlite3CorruptError(tls, 70451)
+			return Xsqlite3CorruptError(tls, 70455)
 		}
 	}
 
 	if nFree > usableSize || nFree < iCellFirst {
-		return Xsqlite3CorruptError(tls, 70463)
+		return Xsqlite3CorruptError(tls, 70467)
 	}
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst))
 	return SQLITE_OK
@@ -28600,14 +28603,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 {
 		pc = int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2) + 1)))
 
 		if pc < iCellFirst || pc > iCellLast {
-			return Xsqlite3CorruptError(tls, 70494)
+			return Xsqlite3CorruptError(tls, 70498)
 		}
 		sz = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
 		})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc)))
 
 		if pc+sz > usableSize {
-			return Xsqlite3CorruptError(tls, 70499)
+			return Xsqlite3CorruptError(tls, 70503)
 		}
 	}
 	return SQLITE_OK
@@ -28621,7 +28624,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 	data = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 {
-		return Xsqlite3CorruptError(tls, 70531)
+		return Xsqlite3CorruptError(tls, 70535)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1))
@@ -28633,7 +28636,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1))))
 	if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) {
-		return Xsqlite3CorruptError(tls, 70545)
+		return Xsqlite3CorruptError(tls, 70549)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = -1
@@ -28736,7 +28739,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	rc = Xsqlite3CorruptError(tls, 70700)
+	rc = Xsqlite3CorruptError(tls, 70704)
 	goto getAndInitPage_error1
 __1:
 	;
@@ -28764,7 +28767,7 @@ __3:
 	if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) {
 		goto __5
 	}
-	rc = Xsqlite3CorruptError(tls, 70721)
+	rc = Xsqlite3CorruptError(tls, 70725)
 	goto getAndInitPage_error2
 __5:
 	;
@@ -28803,7 +28806,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 {
 			releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
 			*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
-			return Xsqlite3CorruptError(tls, 70787)
+			return Xsqlite3CorruptError(tls, 70791)
 		}
 		(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0)
 	} else {
@@ -29686,7 +29689,7 @@ __16:
 	if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) {
 		goto __18
 	}
-	rc = Xsqlite3CorruptError(tls, 71722)
+	rc = Xsqlite3CorruptError(tls, 71726)
 	goto page1_init_failed
 	goto __19
 __18:
@@ -30101,7 +30104,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 	if int32(eType) == PTRMAP_OVERFLOW2 {
 		if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
-			return Xsqlite3CorruptError(tls, 72143)
+			return Xsqlite3CorruptError(tls, 72147)
 		}
 		Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo)
 	} else {
@@ -30127,7 +30130,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp)
 				if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 					if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-						return Xsqlite3CorruptError(tls, 72162)
+						return Xsqlite3CorruptError(tls, 72166)
 					}
 					if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) {
 						Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo)
@@ -30136,7 +30139,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				}
 			} else {
 				if pCell+uintptr(4) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-					return Xsqlite3CorruptError(tls, 72171)
+					return Xsqlite3CorruptError(tls, 72175)
 				}
 				if Xsqlite3Get4byte(tls, pCell) == iFrom {
 					Xsqlite3Put4byte(tls, pCell, iTo)
@@ -30147,7 +30150,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 		if i == nCell {
 			if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom {
-				return Xsqlite3CorruptError(tls, 72183)
+				return Xsqlite3CorruptError(tls, 72187)
 			}
 			Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo)
 		}
@@ -30163,7 +30166,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag
 	var pPager uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPager
 
 	if iDbPage < Pgno(3) {
-		return Xsqlite3CorruptError(tls, 72218)
+		return Xsqlite3CorruptError(tls, 72222)
 	}
 
 	*(*int32)(unsafe.Pointer(bp)) = Xsqlite3PagerMovepage(tls, pPager, (*MemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -30224,7 +30227,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 			return rc
 		}
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE {
-			return Xsqlite3CorruptError(tls, 72316)
+			return Xsqlite3CorruptError(tls, 72320)
 		}
 
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE {
@@ -30259,7 +30262,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 20)))
 				if *(*Pgno)(unsafe.Pointer(bp + 24)) > dbSize {
 					releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
-					return Xsqlite3CorruptError(tls, 72368)
+					return Xsqlite3CorruptError(tls, 72372)
 				}
 			}
 
@@ -30319,7 +30322,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 {
 		var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree)
 
 		if nOrig < nFin || nFree >= nOrig {
-			rc = Xsqlite3CorruptError(tls, 72436)
+			rc = Xsqlite3CorruptError(tls, 72440)
 		} else if nFree > Pgno(0) {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
 			if rc == SQLITE_OK {
@@ -30358,7 +30361,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 
 		nOrig = btreePagecount(tls, pBt)
 		if ptrmapPageno(tls, pBt, nOrig) == nOrig || nOrig == U32(Xsqlite3PendingByte)/(*BtShared)(unsafe.Pointer(pBt)).FpageSize+U32(1) {
-			return Xsqlite3CorruptError(tls, 72487)
+			return Xsqlite3CorruptError(tls, 72491)
 		}
 
 		nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
@@ -30389,7 +30392,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 		}
 		nFin = finalDbSize(tls, pBt, nOrig, nVac)
 		if nFin > nOrig {
-			return Xsqlite3CorruptError(tls, 72514)
+			return Xsqlite3CorruptError(tls, 72518)
 		}
 		if nFin < nOrig {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -30730,7 +30733,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u
 
 	if iTable <= Pgno(1) {
 		if iTable < Pgno(1) {
-			return Xsqlite3CorruptError(tls, 72978)
+			return Xsqlite3CorruptError(tls, 72982)
 		} else if btreePagecount(tls, pBt) == Pgno(0) {
 			iTable = Pgno(0)
 		}
@@ -30974,14 +30977,14 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt
 
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
-		return Xsqlite3CorruptError(tls, 73385)
+		return Xsqlite3CorruptError(tls, 73389)
 	}
 
 	getCellInfo(tls, pCur)
 	aPayload = (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
 
 	if Uptr((int32(aPayload)-int32((*MemPage)(unsafe.Pointer(pPage)).FaData))/1) > (*BtShared)(unsafe.Pointer(pBt)).FusableSize-U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
-		return Xsqlite3CorruptError(tls, 73400)
+		return Xsqlite3CorruptError(tls, 73404)
 	}
 
 	if offset < U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -31026,7 +31029,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 
 		for *(*Pgno)(unsafe.Pointer(bp)) != 0 {
 			if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage {
-				return Xsqlite3CorruptError(tls, 73462)
+				return Xsqlite3CorruptError(tls, 73466)
 			}
 
 			*(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp))
@@ -31075,7 +31078,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	}
 
 	if rc == SQLITE_OK && amt > U32(0) {
-		return Xsqlite3CorruptError(tls, 73547)
+		return Xsqlite3CorruptError(tls, 73551)
 	}
 	return rc
 }
@@ -31155,7 +31158,7 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt
 
 func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 {
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 {
-		return Xsqlite3CorruptError(tls, 73684)
+		return Xsqlite3CorruptError(tls, 73688)
 	}
 	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	*(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl))
@@ -31246,7 +31249,7 @@ __2:
 	if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 73823)
+	return Xsqlite3CorruptError(tls, 73827)
 __11:
 	;
 skip_init:
@@ -31266,7 +31269,7 @@ __12:
 	if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) {
 		goto __16
 	}
-	return Xsqlite3CorruptError(tls, 73835)
+	return Xsqlite3CorruptError(tls, 73839)
 __16:
 	;
 	subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8))
@@ -31476,7 +31479,7 @@ __19:
 	if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __21
 	}
-	return Xsqlite3CorruptError(tls, 74077)
+	return Xsqlite3CorruptError(tls, 74081)
 __21:
 	;
 	goto __19
@@ -31680,7 +31683,7 @@ __2:
 	if !!(int32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit) != 0) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 74273)
+	return Xsqlite3CorruptError(tls, 74277)
 __4:
 	;
 	goto bypass_moveto_root
@@ -31745,7 +31748,7 @@ __15:
 	if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) {
 		goto __17
 	}
-	rc = Xsqlite3CorruptError(tls, 74360)
+	rc = Xsqlite3CorruptError(tls, 74364)
 	goto moveto_index_finish
 __17:
 	;
@@ -31793,7 +31796,7 @@ __22:
 	if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) {
 		goto __24
 	}
-	rc = Xsqlite3CorruptError(tls, 74392)
+	rc = Xsqlite3CorruptError(tls, 74396)
 __24:
 	;
 	goto moveto_index_finish
@@ -31912,7 +31915,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 {
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1))
 	if !(int32((*MemPage)(unsafe.Pointer(pPage)).FisInit) != 0) || Xsqlite3FaultSim(tls, 412) != 0 {
-		return Xsqlite3CorruptError(tls, 74508)
+		return Xsqlite3CorruptError(tls, 74512)
 	}
 
 	if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
@@ -32072,7 +32075,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr
 	if !(n >= mxPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74688)
+	return Xsqlite3CorruptError(tls, 74692)
 __1:
 	;
 	if !(n > U32(0)) {
@@ -32137,7 +32140,7 @@ __15:
 	if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) {
 		goto __16
 	}
-	rc = Xsqlite3CorruptError(tls, 74744)
+	rc = Xsqlite3CorruptError(tls, 74748)
 	goto __17
 __16:
 	rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+4, 0)
@@ -32173,7 +32176,7 @@ __19:
 		goto __22
 	}
 
-	rc = Xsqlite3CorruptError(tls, 74773)
+	rc = Xsqlite3CorruptError(tls, 74777)
 	goto end_allocate_page
 	goto __23
 __22:
@@ -32217,7 +32220,7 @@ __27:
 	if !(iNewTrunk > mxPage) {
 		goto __32
 	}
-	rc = Xsqlite3CorruptError(tls, 74807)
+	rc = Xsqlite3CorruptError(tls, 74811)
 	goto end_allocate_page
 __32:
 	;
@@ -32329,7 +32332,7 @@ __40:
 	if !(iPage > mxPage || iPage < Pgno(2)) {
 		goto __51
 	}
-	rc = Xsqlite3CorruptError(tls, 74872)
+	rc = Xsqlite3CorruptError(tls, 74876)
 	goto end_allocate_page
 __51:
 	;
@@ -32487,7 +32490,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 {
 	if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74999)
+	return Xsqlite3CorruptError(tls, 75003)
 __1:
 	;
 	if !(pMemPage != 0) {
@@ -32544,7 +32547,7 @@ __7:
 	if !(iTrunk > btreePagecount(tls, pBt)) {
 		goto __10
 	}
-	*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 75046)
+	*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 75050)
 	goto freepage_out
 __10:
 	;
@@ -32560,7 +32563,7 @@ __11:
 	if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) {
 		goto __12
 	}
-	*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 75057)
+	*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 75061)
 	goto freepage_out
 __12:
 	;
@@ -32634,7 +32637,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 	var ovflPageSize U32
 
 	if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 75146)
+		return Xsqlite3CorruptError(tls, 75150)
 	}
 	ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
 	pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt
@@ -32646,7 +32649,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 		*(*Pgno)(unsafe.Pointer(bp + 4)) = Pgno(0)
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 		if ovflPgno < Pgno(2) || ovflPgno > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 75163)
+			return Xsqlite3CorruptError(tls, 75167)
 		}
 		if nOvfl != 0 {
 			rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+4)
@@ -32657,7 +32660,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 
 		if (*(*uintptr)(unsafe.Pointer(bp)) != 0 || libc.AssignPtrUintptr(bp, btreePageLookup(tls, pBt, ovflPgno)) != uintptr(0)) &&
 			Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 {
-			rc = Xsqlite3CorruptError(tls, 75183)
+			rc = Xsqlite3CorruptError(tls, 75187)
 		} else {
 			rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp)), ovflPgno)
 		}
@@ -32822,7 +32825,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
 	hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75436)
+		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75440)
 		return
 	}
 	rc = freeSpace(tls, pPage, uint16(pc), uint16(sz))
@@ -33100,12 +33103,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 
 		if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) {
 			if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) {
-				return Xsqlite3CorruptError(tls, 75737)
+				return Xsqlite3CorruptError(tls, 75741)
 			}
 			pCell = pTmp + uintptr((int32(pCell)-int32(aData))/1)
 		} else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) &&
 			Uptr(pCell) < Uptr(pSrcEnd) {
-			return Xsqlite3CorruptError(tls, 75742)
+			return Xsqlite3CorruptError(tls, 75746)
 		}
 
 		pData -= uintptr(sz)
@@ -33113,7 +33116,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 		*(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int32(pData) - int32(aData)) / 1)
 		pCellptr += uintptr(2)
 		if pData < pCellptr {
-			return Xsqlite3CorruptError(tls, 75748)
+			return Xsqlite3CorruptError(tls, 75752)
 		}
 		libc.Xmemmove(tls, pData, pCell, uint32(sz))
 
@@ -33173,7 +33176,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr,
 
 		if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4))+uintptr(sz)) > Uptr(pEnd) &&
 			Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4))) < Uptr(pEnd) {
-			Xsqlite3CorruptError(tls, 75833)
+			Xsqlite3CorruptError(tls, 75837)
 			return 1
 		}
 		libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4)), uint32(sz))
@@ -33262,7 +33265,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC
 	if !(nShift > nCell) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 75947)
+	return Xsqlite3CorruptError(tls, 75951)
 __2:
 	;
 	libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint32(nCell*2))
@@ -33378,7 +33381,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr
 	var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt
 
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
-		return Xsqlite3CorruptError(tls, 76060)
+		return Xsqlite3CorruptError(tls, 76064)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 80)) = allocateBtreePage(tls, pBt, bp, bp+4, uint32(0), uint8(0))
@@ -33698,7 +33701,7 @@ __22:
 	if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)))).FaData)))) {
 		goto __25
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76481)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76485)
 	goto balance_cleanup
 __25:
 	;
@@ -33709,7 +33712,7 @@ __25:
 	if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) {
 		goto __27
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76505)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76509)
 	goto balance_cleanup
 __27:
 	;
@@ -33867,7 +33870,7 @@ __52:
 	if !(k > NB+2) {
 		goto __55
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76606)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76610)
 	goto balance_cleanup
 __55:
 	;
@@ -33941,7 +33944,7 @@ __65:
 	}()) {
 		goto __67
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76639)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76643)
 	goto balance_cleanup
 __67:
 	;
@@ -34004,7 +34007,7 @@ __73:
 	}()) {
 		goto __75
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76683)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76687)
 	goto balance_cleanup
 __75:
 	;
@@ -34032,7 +34035,7 @@ __76:
 		*(*int32)(unsafe.Pointer(bp + 112)) == SQLITE_OK) {
 		goto __81
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76716)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76720)
 __81:
 	;
 	if !(*(*int32)(unsafe.Pointer(bp + 112)) != 0) {
@@ -34293,7 +34296,7 @@ __120:
 	if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) {
 		goto __121
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76916)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76920)
 	goto balance_cleanup
 __121:
 	;
@@ -34485,7 +34488,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 {
 		if pOther != pCur &&
 			int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID &&
 			(*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage {
-			return Xsqlite3CorruptError(tls, 77146)
+			return Xsqlite3CorruptError(tls, 77150)
 		}
 	}
 	return SQLITE_OK
@@ -34523,7 +34526,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 {
 				break
 			}
 		} else if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) > 1 {
-			rc = Xsqlite3CorruptError(tls, 77206)
+			rc = Xsqlite3CorruptError(tls, 77210)
 		} else {
 			var pParent uintptr = *(*uintptr)(unsafe.Pointer(pCur + 120 + uintptr(iPage-1)*4))
 			var iIdx int32 = int32(*(*U16)(unsafe.Pointer(pCur + 72 + uintptr(iPage-1)*2)))
@@ -34629,7 +34632,7 @@ func btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 			return rc
 		}
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
-			rc = Xsqlite3CorruptError(tls, 77370)
+			rc = Xsqlite3CorruptError(tls, 77374)
 		} else {
 			if U32(iOffset)+ovflPageSize < U32(nTotal) {
 				ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -34654,7 +34657,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 
 	if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd ||
 		(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FcellOffset) {
-		return Xsqlite3CorruptError(tls, 77398)
+		return Xsqlite3CorruptError(tls, 77402)
 	}
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
 		return btreeOverwriteContent(tls, pPage, (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX,
@@ -34724,7 +34727,7 @@ __2:
 		goto __3
 	}
 
-	return Xsqlite3CorruptError(tls, 77479)
+	return Xsqlite3CorruptError(tls, 77483)
 __3:
 	;
 __1:
@@ -34837,7 +34840,7 @@ __7:
 		goto __21
 	}
 
-	*(*int32)(unsafe.Pointer(bp + 104)) = Xsqlite3CorruptError(tls, 77602)
+	*(*int32)(unsafe.Pointer(bp + 104)) = Xsqlite3CorruptError(tls, 77606)
 	goto __22
 __21:
 	*(*int32)(unsafe.Pointer(bp + 104)) = btreeComputeFreeSpace(tls, pPage)
@@ -34897,6 +34900,7 @@ __30:
 __25:
 	;
 	idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
+	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !(*(*int32)(unsafe.Pointer(bp)) == 0) {
 		goto __31
 	}
@@ -34904,7 +34908,7 @@ __25:
 	if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) {
 		goto __33
 	}
-	return Xsqlite3CorruptError(tls, 77640)
+	return Xsqlite3CorruptError(tls, 77645)
 __33:
 	;
 	*(*int32)(unsafe.Pointer(bp + 104)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage)
@@ -34942,13 +34946,13 @@ __37:
 	if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) {
 		goto __39
 	}
-	return Xsqlite3CorruptError(tls, 77667)
+	return Xsqlite3CorruptError(tls, 77672)
 __39:
 	;
 	if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 108))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __40
 	}
-	return Xsqlite3CorruptError(tls, 77670)
+	return Xsqlite3CorruptError(tls, 77675)
 __40:
 	;
 	libc.Xmemcpy(tls, oldCell, newCell, uint32(*(*int32)(unsafe.Pointer(bp + 108))))
@@ -34979,7 +34983,6 @@ __32:
 	;
 	*(*int32)(unsafe.Pointer(bp + 104)) = insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 108)), uintptr(0), uint32(0))
 
-	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) {
 		goto __44
 	}
@@ -35054,7 +35057,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 	nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
 	aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
 	if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 77773)
+		return Xsqlite3CorruptError(tls, 77777)
 	}
 	nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
 	if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -35079,7 +35082,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 
 		if nRem > nIn {
 			if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-				return Xsqlite3CorruptError(tls, 77798)
+				return Xsqlite3CorruptError(tls, 77802)
 			}
 			ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
 		}
@@ -35180,7 +35183,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 				return *(*int32)(unsafe.Pointer(bp + 24))
 			}
 		} else {
-			return Xsqlite3CorruptError(tls, 77894)
+			return Xsqlite3CorruptError(tls, 77898)
 		}
 	}
 
@@ -35188,11 +35191,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 	iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
-		return Xsqlite3CorruptError(tls, 77903)
+		return Xsqlite3CorruptError(tls, 77907)
 	}
 	pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx) + 1)))))
 	if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 {
-		return Xsqlite3CorruptError(tls, 77907)
+		return Xsqlite3CorruptError(tls, 77911)
 	}
 
 	bPreserve = U8(libc.Bool32(int32(flags)&BTREE_SAVEPOSITION != 0))
@@ -35267,7 +35270,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 		}
 		pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)) + 1)))))
 		if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 {
-			return Xsqlite3CorruptError(tls, 77998)
+			return Xsqlite3CorruptError(tls, 78002)
 		}
 		nCell = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
@@ -35336,7 +35339,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 
 		Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp)
 		if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 78114)
+			return Xsqlite3CorruptError(tls, 78118)
 		}
 		*(*Pgno)(unsafe.Pointer(bp))++
 
@@ -35365,7 +35368,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 			}
 			*(*int32)(unsafe.Pointer(bp + 24)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp)), bp+16, bp+20)
 			if int32(*(*U8)(unsafe.Pointer(bp + 16))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 16))) == PTRMAP_FREEPAGE {
-				*(*int32)(unsafe.Pointer(bp + 24)) = Xsqlite3CorruptError(tls, 78162)
+				*(*int32)(unsafe.Pointer(bp + 24)) = Xsqlite3CorruptError(tls, 78166)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 24)) != SQLITE_OK {
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 12)))
@@ -35441,7 +35444,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 78252)
+	return Xsqlite3CorruptError(tls, 78256)
 __1:
 	;
 	*(*int32)(unsafe.Pointer(bp + 32)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0)
@@ -35455,7 +35458,7 @@ __2:
 		Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) {
 		goto __3
 	}
-	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78259)
+	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78263)
 	goto cleardatabasepage_out
 __3:
 	;
@@ -35589,7 +35592,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3
 	var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt
 
 	if iTable > btreePagecount(tls, pBt) {
-		return Xsqlite3CorruptError(tls, 78363)
+		return Xsqlite3CorruptError(tls, 78367)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0))
@@ -38058,7 +38061,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32,
 	var rc int32
 	(*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null)
 	if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) {
-		return Xsqlite3CorruptError(tls, 81630)
+		return Xsqlite3CorruptError(tls, 81634)
 	}
 	if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) {
 		rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz)
@@ -38706,7 +38709,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		return Xsqlite3GetVarint32(tls, a, bp)
 	}())
 	if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) {
-		return Xsqlite3CorruptError(tls, 82270)
+		return Xsqlite3CorruptError(tls, 82274)
 	}
 	iField = *(*int32)(unsafe.Pointer(bp))
 	for i = 0; i <= iCol; i++ {
@@ -38721,14 +38724,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		}())
 
 		if iHdr > *(*int32)(unsafe.Pointer(bp)) {
-			return Xsqlite3CorruptError(tls, 82276)
+			return Xsqlite3CorruptError(tls, 82280)
 		}
 		szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4))))
 		iField = iField + szField
 	}
 
 	if iField > nRec {
-		return Xsqlite3CorruptError(tls, 82282)
+		return Xsqlite3CorruptError(tls, 82286)
 	}
 	if pMem == uintptr(0) {
 		pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db))
@@ -41033,7 +41036,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 {
 		return rc
 	}
 	if *(*int32)(unsafe.Pointer(bp)) != 0 {
-		return Xsqlite3CorruptError(tls, 86058)
+		return Xsqlite3CorruptError(tls, 86062)
 	}
 	(*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0)
 	(*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE)
@@ -41584,7 +41587,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		i = 0
 	}
 	if d1 > uint32(nKey1) {
-		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86985))
+		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86989))
 		return 0
 	}
 
@@ -41649,7 +41652,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 
 				if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) ||
 					int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87062))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87066))
 					return 0
 				} else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 20 + uintptr(i)*4)) != 0 {
 					(*Mem)(unsafe.Pointer(bp + 8)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc
@@ -41683,7 +41686,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 				var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 48)) - U32(12)) / U32(2))
 
 				if d1+U32(nStr) > uint32(nKey1) {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87092))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87096))
 					return 0
 				} else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 {
 					if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) {
@@ -41733,7 +41736,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		}
 		idx1 = idx1 + U32(Xsqlite3VarintLen(tls, uint64(*(*U32)(unsafe.Pointer(bp + 48)))))
 		if idx1 >= *(*U32)(unsafe.Pointer(bp + 4)) {
-			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87136))
+			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87140))
 			return 0
 		}
 	}
@@ -41879,7 +41882,7 @@ __5:
 	if !(szHdr+nStr > nKey1) {
 		goto __7
 	}
-	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87299))
+	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87303))
 	return 0
 __7:
 	;
@@ -42050,7 +42053,7 @@ __6:
 idx_rowid_corruption:
 	;
 	Xsqlite3VdbeMemReleaseMalloc(tls, bp)
-	return Xsqlite3CorruptError(tls, 87457)
+	return Xsqlite3CorruptError(tls, 87461)
 }
 
 // Compare the key of the index entry that cursor pC is pointing to against
@@ -42076,7 +42079,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
 
 	if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) {
 		*(*int32)(unsafe.Pointer(res)) = 0
-		return Xsqlite3CorruptError(tls, 87490)
+		return Xsqlite3CorruptError(tls, 87494)
 	}
 	Xsqlite3VdbeMemInit(tls, bp, db, uint16(0))
 	rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp)
@@ -42350,7 +42353,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 {
 		var v uintptr = pStmt
 		var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb
 		if vdbeSafety(tls, v) != 0 {
-			return Xsqlite3MisuseError(tls, 87854)
+			return Xsqlite3MisuseError(tls, 87858)
 		}
 		Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) {
@@ -42965,7 +42968,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 {
 	var db uintptr
 
 	if vdbeSafetyNotNull(tls, v) != 0 {
-		return Xsqlite3MisuseError(tls, 88544)
+		return Xsqlite3MisuseError(tls, 88548)
 	}
 	db = (*Vdbe)(unsafe.Pointer(v)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -43485,7 +43488,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 
 	var pVar uintptr
 	if vdbeSafetyNotNull(tls, p) != 0 {
-		return Xsqlite3MisuseError(tls, 89208)
+		return Xsqlite3MisuseError(tls, 89212)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 	if int32((*Vdbe)(unsafe.Pointer(p)).FeVdbeState) != VDBE_READY_STATE {
@@ -43493,7 +43496,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 		Xsqlite3_log(tls, SQLITE_MISUSE,
 			ts+5350, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql))
-		return Xsqlite3MisuseError(tls, 89216)
+		return Xsqlite3MisuseError(tls, 89220)
 	}
 	if i >= uint32((*Vdbe)(unsafe.Pointer(p)).FnVar) {
 		Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE)
@@ -43898,7 +43901,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89707)
+	rc = Xsqlite3MisuseError(tls, 89711)
 	goto preupdate_old_out
 __1:
 	;
@@ -44042,7 +44045,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89809)
+	rc = Xsqlite3MisuseError(tls, 89813)
 	goto preupdate_new_out
 __1:
 	;
@@ -44486,10 +44489,6 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 {
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Real != 0 {
 			h = h + U64(Xsqlite3VdbeIntValue(tls, p))
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 {
-			h = h + U64((*Mem)(unsafe.Pointer(p)).Fn)
-			if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Zero != 0 {
-				h = h + U64(*(*int32)(unsafe.Pointer(p)))
-			}
 		}
 	}
 	return h
@@ -47138,7 +47137,7 @@ op_column_corrupt:
 	goto __9
 	goto __425
 __424:
-	rc = Xsqlite3CorruptError(tls, 93317)
+	rc = Xsqlite3CorruptError(tls, 93320)
 	goto abort_due_to_error
 __425:
 	;
@@ -48898,7 +48897,7 @@ notExistsWithKey:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) {
 		goto __682
 	}
-	rc = Xsqlite3CorruptError(tls, 95560)
+	rc = Xsqlite3CorruptError(tls, 95563)
 	goto __683
 __682:
 	goto jump_to_p2
@@ -49676,7 +49675,7 @@ __767:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) {
 		goto __770
 	}
-	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96635, ts+5859)
+	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96638, ts+5859)
 	goto abort_due_to_error
 __770:
 	;
@@ -49786,7 +49785,7 @@ __780:
 	if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) {
 		goto __781
 	}
-	rc = Xsqlite3CorruptError(tls, 96840)
+	rc = Xsqlite3CorruptError(tls, 96843)
 	goto abort_due_to_error
 __781:
 	;
@@ -49980,7 +49979,7 @@ __802:
 		goto __803
 	}
 
-	rc = Xsqlite3CorruptError(tls, 97092)
+	rc = Xsqlite3CorruptError(tls, 97095)
 __803:
 	;
 	Xsqlite3DbFreeNN(tls, db, zSql)
@@ -51347,7 +51346,7 @@ __955:
 	if !(rc == SQLITE_IOERR|int32(33)<<8) {
 		goto __957
 	}
-	rc = Xsqlite3CorruptError(tls, 99031)
+	rc = Xsqlite3CorruptError(tls, 99034)
 __957:
 	;
 __956:
@@ -51867,7 +51866,7 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99516)
+		return Xsqlite3MisuseError(tls, 99519)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -51950,7 +51949,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99616)
+		return Xsqlite3MisuseError(tls, 99619)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -55391,14 +55390,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			;
 			Xsqlite3WalkExpr(tls, pWalker, (*Expr)(unsafe.Pointer(pExpr)).FpLeft)
 			if 0 == Xsqlite3ExprCanBeNull(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
-				if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6757
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsTrue)
-				} else {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6762
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
-				}
-				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
+				*(*int32)(unsafe.Pointer(pExpr + 8)) = libc.Bool32(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL)
+				*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IntValue)
+				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_INTEGER)
+
 				i = 0
 				p = pNC
 			__4:
@@ -55442,7 +55437,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_GenCol) != 0 {
-					notValidImpl(tls, pParse, pNC, ts+6768, uintptr(0), pExpr)
+					notValidImpl(tls, pParse, pNC, ts+6757, uintptr(0), pExpr)
 				}
 
 				pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight
@@ -55506,7 +55501,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 						(*Expr)(unsafe.Pointer(pExpr)).FiTable = exprProbability(tls, (*ExprList_item)(unsafe.Pointer(pList+8+1*20)).FpExpr)
 						if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 {
 							Xsqlite3ErrorMsg(tls, pParse,
-								ts+6785, libc.VaList(bp, pExpr))
+								ts+6774, libc.VaList(bp, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
 					} else {
@@ -55522,7 +55517,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 					var auth int32 = Xsqlite3AuthCheck(tls, pParse, SQLITE_FUNCTION, uintptr(0), (*FuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0))
 					if auth != SQLITE_OK {
 						if auth == SQLITE_DENY {
-							Xsqlite3ErrorMsg(tls, pParse, ts+6849,
+							Xsqlite3ErrorMsg(tls, pParse, ts+6838,
 								libc.VaList(bp+8, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
@@ -55536,7 +55531,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				}
 				if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_CONSTANT) == U32(0) {
 					if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_PartIdx|NC_GenCol) != 0 {
-						notValidImpl(tls, pParse, pNC, ts+6885, uintptr(0), pExpr)
+						notValidImpl(tls, pParse, pNC, ts+6874, uintptr(0), pExpr)
 					}
 
 				} else {
@@ -55559,30 +55554,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			if 0 == libc.Bool32(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 				if pDef != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+6913, libc.VaList(bp+16, pExpr))
+						ts+6902, libc.VaList(bp+16, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowAgg == 0 ||
 					is_agg != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) ||
 					is_agg != 0 && pWin != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowWin == 0 {
 					var zType uintptr
 					if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 {
-						zType = ts + 6956
+						zType = ts + 6945
 					} else {
-						zType = ts + 6963
+						zType = ts + 6952
 					}
-					Xsqlite3ErrorMsg(tls, pParse, ts+6973, libc.VaList(bp+24, zType, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6962, libc.VaList(bp+24, zType, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 					is_agg = 0
 				} else if no_such_func != 0 && int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7001, libc.VaList(bp+40, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6990, libc.VaList(bp+40, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if wrong_num_args != 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7023,
+					Xsqlite3ErrorMsg(tls, pParse, ts+7012,
 						libc.VaList(bp+48, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg == 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7067,
+						ts+7056,
 						libc.VaList(bp+56, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				}
@@ -55654,15 +55649,15 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_SelfRef != 0 {
-					notValidImpl(tls, pParse, pNC, ts+7115, pExpr, pExpr)
+					notValidImpl(tls, pParse, pNC, ts+7104, pExpr, pExpr)
 				} else {
 					Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 20)))
 				}
 
 				if nRef != (*NameContext)(unsafe.Pointer(pNC)).FnRef {
 					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_VarSelect)
-					*(*int32)(unsafe.Pointer(pNC + 24)) |= NC_VarSelect
 				}
+				*(*int32)(unsafe.Pointer(pNC + 24)) |= NC_Subquery
 			}
 			break
 
@@ -55670,7 +55665,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 	case TK_VARIABLE:
 		{
 			if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IsCheck|NC_PartIdx|NC_IdxExpr|NC_GenCol) != 0 {
-				notValidImpl(tls, pParse, pNC, ts+7126, pExpr, pExpr)
+				notValidImpl(tls, pParse, pNC, ts+7115, pExpr, pExpr)
 			}
 
 			break
@@ -55801,7 +55796,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3
 	defer tls.Free(24)
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+7137, libc.VaList(bp, i, zType, mx))
+		ts+7126, libc.VaList(bp, i, zType, mx))
 	Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pError)
 }
 
@@ -55821,7 +55816,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	}
 	db = (*Parse)(unsafe.Pointer(pParse)).Fdb
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 120 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7193, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7182, 0)
 		return 1
 	}
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
@@ -55856,7 +55851,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 			}
 			if Xsqlite3ExprIsInteger(tls, pE, bp+8) != 0 {
 				if *(*int32)(unsafe.Pointer(bp + 8)) <= 0 || *(*int32)(unsafe.Pointer(bp + 8)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr {
-					resolveOutOfRangeError(tls, pParse, ts+7227, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
+					resolveOutOfRangeError(tls, pParse, ts+7216, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
 					return 1
 				}
 			} else {
@@ -55913,7 +55908,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
 		if int32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*20 + 8 + 4))&0x4>>2) == 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+7233, libc.VaList(bp, i+1))
+				ts+7222, libc.VaList(bp, i+1))
 			return 1
 		}
 	}
@@ -55941,7 +55936,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr,
 		return 0
 	}
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 120 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7294, libc.VaList(bp, zType))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7283, libc.VaList(bp, zType))
 		return 1
 	}
 	pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList
@@ -56155,7 +56150,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		*(*int32)(unsafe.Pointer(bp + 24)) |= NC_UEList
 		if (*Select)(unsafe.Pointer(p)).FpHaving != 0 {
 			if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Aggregate) == U32(0) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7325, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+7314, 0)
 				return WRC_Abort
 			}
 			if Xsqlite3ResolveExprNames(tls, bp, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 {
@@ -56195,7 +56190,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 
 		if (*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) &&
 			isCompound <= nCompound &&
-			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7227) != 0 {
+			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7216) != 0 {
 			return WRC_Abort
 		}
 		if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -56206,7 +56201,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		if pGroupBy != 0 {
 			var pItem uintptr
 
-			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7364) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
+			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7353) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 				return WRC_Abort
 			}
 			i = 0
@@ -56218,7 +56213,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 			{
 				if (*Expr)(unsafe.Pointer((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr)).Fflags&U32(EP_Agg) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7370, 0)
+						ts+7359, 0)
 					return WRC_Abort
 				}
 
@@ -57082,7 +57077,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32
 	var mxHeight int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 120 + 3*4))
 	if nHeight > mxHeight {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+7429, libc.VaList(bp, mxHeight))
+			ts+7418, libc.VaList(bp, mxHeight))
 		rc = SQLITE_ERROR
 	}
 	return rc
@@ -57331,10 +57326,10 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList
 			nExprElem = 1
 		}
 		if nExprElem != nElem {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7477,
+			Xsqlite3ErrorMsg(tls, pParse, ts+7466,
 				libc.VaList(bp, nExprElem, func() uintptr {
 					if nExprElem > 1 {
-						return ts + 7521
+						return ts + 7510
 					}
 					return ts + 1547
 				}(), nElem))
@@ -57375,7 +57370,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt
 		!(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 		Xsqlite3ExprDeferredDelete(tls, pParse, pLeft)
 		Xsqlite3ExprDeferredDelete(tls, pParse, pRight)
-		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7523)
+		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7512)
 	} else {
 		return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight)
 	}
@@ -57401,7 +57396,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u
 	if pList != 0 &&
 		(*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 120 + 6*4)) &&
 		!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7525, libc.VaList(bp, pToken))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7514, libc.VaList(bp, pToken))
 	}
 	*(*uintptr)(unsafe.Pointer(pNew + 20)) = pList
 	*(*U32)(unsafe.Pointer(pNew + 4)) |= U32(EP_HasFunc)
@@ -57429,7 +57424,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD
 	if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromDDL) != U32(0) {
 		if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_DIRECT) != U32(0) ||
 			(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) == uint64(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7559, libc.VaList(bp, pExpr))
+			Xsqlite3ErrorMsg(tls, pParse, ts+7548, libc.VaList(bp, pExpr))
 		}
 	}
 }
@@ -57476,7 +57471,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 			}
 
 			if bOk == 0 || *(*I64)(unsafe.Pointer(bp + 8)) < int64(1) || *(*I64)(unsafe.Pointer(bp + 8)) > I64(*(*int32)(unsafe.Pointer(db + 120 + 9*4))) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7579,
+				Xsqlite3ErrorMsg(tls, pParse, ts+7568,
 					libc.VaList(bp, *(*int32)(unsafe.Pointer(db + 120 + 9*4))))
 				Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 				return
@@ -57501,7 +57496,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 	}
 	(*Expr)(unsafe.Pointer(pExpr)).FiColumn = x
 	if int32(x) > *(*int32)(unsafe.Pointer(db + 120 + 9*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7622, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7611, 0)
 		Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 	}
 }
@@ -58076,7 +58071,7 @@ __2:
 	if !(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_SELECT && (*IdList)(unsafe.Pointer(pColumns)).FnId != libc.AssignInt32(&n, Xsqlite3ExprVectorSize(tls, pExpr))) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7645,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7634,
 		libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n))
 	goto vector_append_error
 __3:
@@ -58199,7 +58194,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr,
 	var mx int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 120 + 2*4))
 
 	if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7675, libc.VaList(bp, zObject))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7664, libc.VaList(bp, zObject))
 	}
 }
 
@@ -58255,10 +58250,10 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int
 //	  "false"                        EP_IsFalse
 //	  anything else                  0
 func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 {
-	if Xsqlite3StrICmp(tls, zIn, ts+6757) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7687) == 0 {
 		return U32(EP_IsTrue)
 	}
-	if Xsqlite3StrICmp(tls, zIn, ts+6762) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7692) == 0 {
 		return U32(EP_IsFalse)
 	}
 	return U32(0)
@@ -59333,7 +59328,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 {
 	}
 	if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
-		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7523)
+		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7512)
 		if pLimit != 0 {
 			(*Expr)(unsafe.Pointer(pLimit)).FaffExpr = uint8(SQLITE_AFF_NUMERIC)
 			pLimit = Xsqlite3PExpr(tls, pParse, TK_NE,
@@ -59771,6 +59766,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr
 func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) {
 	var iAddr int32
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
+	var nErr int32 = (*Parse)(unsafe.Pointer(pParse)).FnErr
 
 	if (*Parse)(unsafe.Pointer(pParse)).FiSelfTab > 0 {
 		iAddr = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Parse)(unsafe.Pointer(pParse)).FiSelfTab-1, 0, regOut)
@@ -59784,6 +59780,9 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr
 	if iAddr != 0 {
 		Xsqlite3VdbeJumpHere(tls, v, iAddr)
 	}
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr > nErr {
+		(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FerrByteOffset = -1
+	}
 }
 
 // Generate code to extract the value of the iCol-th column of a table.
@@ -60002,6 +60001,7 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 	var p uintptr
 	var v uintptr
 	for p = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr; p != 0; p = (*IndexedExpr)(unsafe.Pointer(p)).FpIENext {
+		var exprAff U8
 		var iDataCur int32 = (*IndexedExpr)(unsafe.Pointer(p)).FiDataCur
 		if iDataCur < 0 {
 			continue
@@ -60015,6 +60015,14 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 		if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IndexedExpr)(unsafe.Pointer(p)).FpExpr, iDataCur) != 0 {
 			continue
 		}
+
+		exprAff = Xsqlite3ExprAffinity(tls, pExpr)
+		if int32(exprAff) <= SQLITE_AFF_BLOB && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_BLOB ||
+			int32(exprAff) == SQLITE_AFF_TEXT && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_TEXT ||
+			int32(exprAff) >= SQLITE_AFF_NUMERIC && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_NUMERIC {
+			continue
+		}
+
 		v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 
 		if (*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow != 0 {
@@ -60788,7 +60796,7 @@ __121:
 	if !((*Expr)(unsafe.Pointer(pExpr)).FiTable != n1) {
 		goto __122
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7645,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7634,
 		libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1))
 __122:
 	;
@@ -60810,11 +60818,10 @@ __49:
 	return target
 
 __50:
-	if !(!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) &&
-		(*Expr)(unsafe.Pointer(pExpr)).FpLeft != 0 &&
-		int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_FUNCTION) {
+	if !!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) {
 		goto __123
 	}
+
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	if !(inReg != target) {
 		goto __125
@@ -60885,13 +60892,19 @@ __129:
 	;
 __127:
 	;
-	addrINR = Xsqlite3VdbeAddOp1(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable)
+	addrINR = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable, 0, target)
 
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = U8(0)
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = okConstFactor
+	if !(inReg != target) {
+		goto __130
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, inReg, target)
+	inReg = target
+__130:
+	;
 	Xsqlite3VdbeJumpHere(tls, v, addrINR)
-	Xsqlite3VdbeChangeP3(tls, v, addrINR, inReg)
 	goto __5
 
 __56:
@@ -60904,15 +60917,15 @@ __56:
 	nExpr = (*ExprList)(unsafe.Pointer(pEList)).FnExpr
 	endLabel = Xsqlite3VdbeMakeLabel(tls, pParse)
 	if !(libc.AssignUintptr(&pX, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) != uintptr(0)) {
-		goto __130
+		goto __131
 	}
 	pDel = Xsqlite3ExprDup(tls, db1, pX, 0)
 	if !((*Sqlite3)(unsafe.Pointer(db1)).FmallocFailed != 0) {
-		goto __131
+		goto __132
 	}
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	goto __5
-__131:
+__132:
 	;
 	exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+40))
 
@@ -60922,22 +60935,22 @@ __131:
 	pTest = bp + 100
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = 0
-__130:
+__131:
 	;
 	i1 = 0
-__132:
+__133:
 	if !(i1 < nExpr-1) {
-		goto __134
+		goto __135
 	}
 	if !(pX != 0) {
-		goto __135
+		goto __136
 	}
 
 	(*Expr)(unsafe.Pointer(bp + 100)).FpRight = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*20)).FpExpr
-	goto __136
-__135:
-	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*20)).FpExpr
+	goto __137
 __136:
+	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*20)).FpExpr
+__137:
 	;
 	nextCase = Xsqlite3VdbeMakeLabel(tls, pParse)
 
@@ -60946,21 +60959,21 @@ __136:
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(aListelem+uintptr(i1+1)*20)).FpExpr, target)
 	Xsqlite3VdbeGoto(tls, v, endLabel)
 	Xsqlite3VdbeResolveLabel(tls, v, nextCase)
-	goto __133
-__133:
-	i1 = i1 + 2
-	goto __132
 	goto __134
 __134:
+	i1 = i1 + 2
+	goto __133
+	goto __135
+__135:
 	;
 	if !(nExpr&1 != 0) {
-		goto __137
+		goto __138
 	}
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(pEList+8+uintptr(nExpr-1)*20)).FpExpr, target)
-	goto __138
-__137:
-	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+	goto __139
 __138:
+	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+__139:
 	;
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	setDoNotMergeFlagOnCopy(tls, v)
@@ -60970,27 +60983,27 @@ __138:
 __57:
 	;
 	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).FpTriggerTab) != 0) && !(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0)) {
-		goto __139
+		goto __140
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
 		ts+8075, 0)
 	return 0
-__139:
-	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
-		goto __140
-	}
-	Xsqlite3MayAbort(tls, pParse)
 __140:
 	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
 		goto __141
 	}
+	Xsqlite3MayAbort(tls, pParse)
+__141:
+	;
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+		goto __142
+	}
 	Xsqlite3VdbeAddOp4(tls,
 		v, OP_Halt, SQLITE_OK, OE_Ignore, 0, *(*uintptr)(unsafe.Pointer(pExpr + 8)), 0)
 
-	goto __142
-__141:
+	goto __143
+__142:
 	Xsqlite3HaltConstraint(tls, pParse,
 		func() int32 {
 			if (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab != 0 {
@@ -60999,7 +61012,7 @@ __141:
 			return SQLITE_ERROR
 		}(),
 		int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr), *(*uintptr)(unsafe.Pointer(pExpr + 8)), int8(0), uint8(0))
-__142:
+__143:
 	;
 	goto __5
 
@@ -63670,7 +63683,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 		return SQLITE_NOMEM
 	}
 	if Xsqlite3_strnicmp(tls, zSql, ts+10915, 7) != 0 {
-		return Xsqlite3CorruptError(tls, 113494)
+		return Xsqlite3CorruptError(tls, 113516)
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 {
 		if bTemp != 0 {
@@ -63687,7 +63700,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 	}
 	if rc == SQLITE_OK &&
 		((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
-		rc = Xsqlite3CorruptError(tls, 113505)
+		rc = Xsqlite3CorruptError(tls, 113527)
 	}
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
@@ -64608,7 +64621,7 @@ __1:
 		goto __2
 	}
 
-	rc = Xsqlite3CorruptError(tls, 114441)
+	rc = Xsqlite3CorruptError(tls, 114463)
 	goto drop_column_done
 __2:
 	;
@@ -68973,6 +68986,12 @@ __10:
 
 	pExpr = Xsqlite3PExpr(tls, pParse, TK_UPLUS, pExpr, uintptr(0))
 __11:
+	;
+	if !(pExpr != 0 && int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_RAISE) {
+		goto __12
+	}
+	(*Expr)(unsafe.Pointer(pExpr)).FaffExpr = (*Column)(unsafe.Pointer(pCol)).Faffinity
+__12:
 	;
 	Xsqlite3ColumnSetExpr(tls, pParse, pTab, pCol, pExpr)
 	pExpr = uintptr(0)
@@ -70138,7 +70157,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 {
 		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3279, 4) == 0 {
 			return 0
 		}
-		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7126, 10) == 0 {
+		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7115, 10) == 0 {
 			return 0
 		}
 		return 1
@@ -71384,7 +71403,7 @@ __81:
 		goto __101
 	}
 	Xsqlite3ErrorMsg(tls, pParse, ts+14133, 0)
-	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121835)
+	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121859)
 	goto exit_create_index
 __101:
 	;
@@ -73429,7 +73448,7 @@ __20:
 	goto __16
 __15:
 	wcf = U16(WHERE_ONEPASS_DESIRED | WHERE_DUPLICATES_OK)
-	if !((*NameContext)(unsafe.Pointer(bp+8)).FncFlags&NC_VarSelect != 0) {
+	if !((*NameContext)(unsafe.Pointer(bp+8)).FncFlags&NC_Subquery != 0) {
 		goto __23
 	}
 	bComplex = 1
@@ -79894,7 +79913,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca
 	if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) {
 		goto __1
 	}
-	return Xsqlite3MisuseError(tls, 131895)
+	return Xsqlite3MisuseError(tls, 131931)
 __1:
 	;
 	if !(zSql == uintptr(0)) {
@@ -81291,7 +81310,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh
 		} else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) {
 			zType = ts + 17506
 		} else {
-			zType = ts + 7521
+			zType = ts + 7510
 		}
 		Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17508,
 			libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin,
@@ -81452,6 +81471,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p
 	var zErr2 uintptr
 	var k3 int32
 	var pCheck uintptr
+	var jmp7 int32
 	var jmp6 int32
 	var iCol1 int32
 	var uniqOk int32
@@ -82770,7 +82790,7 @@ __215:
 		goto __217
 	}
 	pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7521, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7510, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
 	goto __216
 __216:
 	j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext
@@ -82786,7 +82806,7 @@ __218:
 	if !(i6 < int32(uint32(unsafe.Sizeof(aPragmaName))/uint32(unsafe.Sizeof(PragmaName{})))) {
 		goto __220
 	}
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7521, libc.VaList(bp+272, aPragmaName[i6].FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7510, libc.VaList(bp+272, aPragmaName[i6].FzName))
 	goto __219
 __219:
 	i6++
@@ -83591,80 +83611,94 @@ __344:
 	jmp4 = integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, jmp21)
 
+	if !((*Table)(unsafe.Pointer(pTab9)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) {
+		goto __345
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_IdxRowid, *(*int32)(unsafe.Pointer(bp + 572))+j4, 3)
+	jmp7 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 3, 0, r1+int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)-1)
+
+	Xsqlite3VdbeLoadString(tls, v, 3,
+		ts+17922)
+	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17958)
+	Xsqlite3VdbeGoto(tls, v, jmp5-1)
+	Xsqlite3VdbeJumpHere(tls, v, jmp7)
+__345:
+	;
 	label6 = 0
 	kk = 0
-__345:
+__346:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __347
-	}
-	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*4)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __348
 	}
-	goto __346
-__348:
-	;
-	if !(label6 == 0) {
+	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*4)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __349
 	}
-	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+	goto __347
 __349:
+	;
+	if !(label6 == 0) {
+		goto __350
+	}
+	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+__350:
 	;
 	Xsqlite3VdbeAddOp3(tls, v, OP_Column, *(*int32)(unsafe.Pointer(bp + 572))+j4, kk, 3)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Ne, 3, label6, r1+kk)
-	goto __346
-__346:
-	kk++
-	goto __345
 	goto __347
 __347:
+	kk++
+	goto __346
+	goto __348
+__348:
 	;
 	if !(label6 != 0) {
-		goto __350
+		goto __351
 	}
 	jmp6 = Xsqlite3VdbeAddOp0(tls, v, OP_Goto)
 	Xsqlite3VdbeResolveLabel(tls, v, label6)
 	Xsqlite3VdbeLoadString(tls, v, 3, ts+17896)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
-	Xsqlite3VdbeLoadString(tls, v, 4, ts+17922)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17969)
 	Xsqlite3VdbeGoto(tls, v, jmp5-1)
 	Xsqlite3VdbeJumpHere(tls, v, jmp6)
-__350:
+__351:
 	;
 	if !(int32((*Index)(unsafe.Pointer(pIdx5)).FonError) != OE_None) {
-		goto __351
+		goto __352
 	}
 	uniqOk = Xsqlite3VdbeMakeLabel(tls, pParse)
 	kk = 0
-__352:
+__353:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __354
+		goto __355
 	}
 	iCol1 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2)))
 
 	if !(iCol1 >= 0 && uint32(int32(*(*uint8)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*16 + 4))&0xf>>0)) != 0) {
-		goto __355
+		goto __356
 	}
-	goto __353
-__355:
+	goto __354
+__356:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_IsNull, r1+kk, uniqOk)
 
-	goto __353
-__353:
-	kk++
-	goto __352
 	goto __354
 __354:
+	kk++
+	goto __353
+	goto __355
+__355:
 	;
 	jmp61 = Xsqlite3VdbeAddOp1(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 572))+j4)
 	Xsqlite3VdbeGoto(tls, v, uniqOk)
 	Xsqlite3VdbeJumpHere(tls, v, jmp61)
 	Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, *(*int32)(unsafe.Pointer(bp + 572))+j4, uniqOk, r1,
 		int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol))
-	Xsqlite3VdbeLoadString(tls, v, 3, ts+17949)
+	Xsqlite3VdbeLoadString(tls, v, 3, ts+17996)
 	Xsqlite3VdbeGoto(tls, v, jmp5)
 	Xsqlite3VdbeResolveLabel(tls, v, uniqOk)
-__351:
+__352:
 	;
 	Xsqlite3VdbeJumpHere(tls, v, jmp4)
 	Xsqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 580)))
@@ -83681,20 +83715,20 @@ __340:
 	Xsqlite3VdbeAddOp2(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 568)), loopTop)
 	Xsqlite3VdbeJumpHere(tls, v, loopTop-1)
 	if !!(isQuick != 0) {
-		goto __356
+		goto __357
 	}
-	Xsqlite3VdbeLoadString(tls, v, 2, ts+17976)
+	Xsqlite3VdbeLoadString(tls, v, 2, ts+18023)
 	j4 = 0
 	pIdx5 = (*Table)(unsafe.Pointer(pTab9)).FpIndex
-__357:
+__358:
 	if !(pIdx5 != 0) {
-		goto __359
-	}
-	if !(pPk1 == pIdx5) {
 		goto __360
 	}
-	goto __358
-__360:
+	if !(pPk1 == pIdx5) {
+		goto __361
+	}
+	goto __359
+__361:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_Count, *(*int32)(unsafe.Pointer(bp + 572))+j4, 3)
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 8+j4, 0, 3)
@@ -83703,21 +83737,21 @@ __360:
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 2, 3)
 	integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
-	goto __358
-__358:
-	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
-	j4++
-	goto __357
 	goto __359
 __359:
+	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
+	j4++
+	goto __358
+	goto __360
+__360:
 	;
 	if !(pPk1 != 0) {
-		goto __361
+		goto __362
 	}
 	Xsqlite3ReleaseTempRange(tls, pParse, r2, int32((*Index)(unsafe.Pointer(pPk1)).FnKeyCol))
-__361:
+__362:
 	;
-__356:
+__357:
 	;
 	goto __291
 __291:
@@ -83735,14 +83769,14 @@ __266:
 	;
 	aOp2 = Xsqlite3VdbeAddOpList(tls, v, int32(uint32(unsafe.Sizeof(endCode))/uint32(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&endCode)), iLn5)
 	if !(aOp2 != 0) {
-		goto __362
+		goto __363
 	}
 	(*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = 1 - *(*int32)(unsafe.Pointer(bp + 564))
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 2*20)).Fp4type = int8(-1)
-	*(*uintptr)(unsafe.Pointer(aOp2 + 2*20 + 16)) = ts + 18005
+	*(*uintptr)(unsafe.Pointer(aOp2 + 2*20 + 16)) = ts + 18052
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 5*20)).Fp4type = int8(-1)
 	*(*uintptr)(unsafe.Pointer(aOp2 + 5*20 + 16)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT)
-__362:
+__363:
 	;
 	Xsqlite3VdbeChangeP3(tls, v, 0, Xsqlite3VdbeCurrentAddr(tls, v)-2)
 
@@ -83750,27 +83784,27 @@ __362:
 
 __45:
 	if !!(zRight != 0) {
-		goto __363
+		goto __364
 	}
 	if !(Xsqlite3ReadSchema(tls, pParse) != 0) {
-		goto __365
-	}
-	goto pragma_out
-__365:
-	;
-	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
-	goto __364
-__363:
-	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
 		goto __366
 	}
+	goto pragma_out
+__366:
+	;
+	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
+	goto __365
+__364:
+	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
+		goto __367
+	}
 	pEnc = uintptr(unsafe.Pointer(&encnames1))
-__367:
+__368:
 	if !((*EncName)(unsafe.Pointer(pEnc)).FzName != 0) {
-		goto __369
+		goto __370
 	}
 	if !(0 == Xsqlite3StrICmp(tls, zRight, (*EncName)(unsafe.Pointer(pEnc)).FzName)) {
-		goto __370
+		goto __371
 	}
 	if (*EncName)(unsafe.Pointer(pEnc)).Fenc != 0 {
 		enc = (*EncName)(unsafe.Pointer(pEnc)).Fenc
@@ -83779,25 +83813,25 @@ __367:
 	}
 	(*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema)).Fenc = enc
 	Xsqlite3SetTextEncoding(tls, db, enc)
-	goto __369
-__370:
-	;
-	goto __368
-__368:
-	pEnc += 8
-	goto __367
-	goto __369
-__369:
-	;
-	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
-		goto __371
-	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18008, libc.VaList(bp+456, zRight))
+	goto __370
 __371:
 	;
-__366:
+	goto __369
+__369:
+	pEnc += 8
+	goto __368
+	goto __370
+__370:
 	;
-__364:
+	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
+		goto __372
+	}
+	Xsqlite3ErrorMsg(tls, pParse, ts+18055, libc.VaList(bp+456, zRight))
+__372:
+	;
+__367:
+	;
+__365:
 	;
 	goto __15
 
@@ -83805,15 +83839,15 @@ __46:
 	iCookie = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiArg)
 	Xsqlite3VdbeUsesBtree(tls, v, iDb)
 	if !(zRight != 0 && int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_ReadOnly == 0) {
-		goto __372
+		goto __373
 	}
 
 	aOp3 = Xsqlite3VdbeAddOpList(tls, v, int32(uint32(unsafe.Sizeof(setCookie))/uint32(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&setCookie)), 0)
 	if !(0 != 0) {
-		goto __374
+		goto __375
 	}
 	goto __15
-__374:
+__375:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp3)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*20)).Fp1 = iDb
@@ -83821,41 +83855,41 @@ __374:
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*20)).Fp3 = Xsqlite3Atoi(tls, zRight)
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*20)).Fp5 = U16(1)
 	if !(iCookie == BTREE_SCHEMA_VERSION && (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0)) {
-		goto __375
+		goto __376
 	}
 
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*20)).Fopcode = U8(OP_Noop)
-__375:
+__376:
 	;
-	goto __373
-__372:
+	goto __374
+__373:
 	;
 	aOp4 = Xsqlite3VdbeAddOpList(tls, v, int32(uint32(unsafe.Sizeof(readCookie))/uint32(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&readCookie)), 0)
 	if !(0 != 0) {
-		goto __376
+		goto __377
 	}
 	goto __15
-__376:
+__377:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp4)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*20)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*20)).Fp3 = iCookie
 	Xsqlite3VdbeReusable(tls, v)
-__373:
+__374:
 	;
 	goto __15
 
 __47:
 	i10 = 0
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 1
-__377:
+__378:
 	if !(libc.AssignUintptr(&zOpt, Xsqlite3_compileoption_get(tls, libc.PostIncInt32(&i10, 1))) != uintptr(0)) {
-		goto __378
+		goto __379
 	}
 	Xsqlite3VdbeLoadString(tls, v, 1, zOpt)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1)
-	goto __377
-__378:
+	goto __378
+__379:
 	;
 	Xsqlite3VdbeReusable(tls, v)
 
@@ -83870,31 +83904,31 @@ __48:
 	}()
 	eMode2 = SQLITE_CHECKPOINT_PASSIVE
 	if !(zRight != 0) {
-		goto __379
-	}
-	if !(Xsqlite3StrICmp(tls, zRight, ts+17338) == 0) {
 		goto __380
 	}
+	if !(Xsqlite3StrICmp(tls, zRight, ts+17338) == 0) {
+		goto __381
+	}
 	eMode2 = SQLITE_CHECKPOINT_FULL
-	goto __381
-__380:
-	if !(Xsqlite3StrICmp(tls, zRight, ts+18033) == 0) {
-		goto __382
+	goto __382
+__381:
+	if !(Xsqlite3StrICmp(tls, zRight, ts+18080) == 0) {
+		goto __383
 	}
 	eMode2 = SQLITE_CHECKPOINT_RESTART
-	goto __383
-__382:
+	goto __384
+__383:
 	if !(Xsqlite3StrICmp(tls, zRight, ts+17491) == 0) {
-		goto __384
+		goto __385
 	}
 	eMode2 = SQLITE_CHECKPOINT_TRUNCATE
+__385:
+	;
 __384:
 	;
-__383:
+__382:
 	;
-__381:
-	;
-__379:
+__380:
 	;
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 3
 	Xsqlite3VdbeAddOp3(tls, v, OP_Checkpoint, iBt, eMode2, 1)
@@ -83904,10 +83938,10 @@ __379:
 
 __49:
 	if !(zRight != 0) {
-		goto __385
+		goto __386
 	}
 	Xsqlite3_wal_autocheckpoint(tls, db, Xsqlite3Atoi(tls, zRight))
-__385:
+__386:
 	;
 	returnSingleInt(tls, v,
 		func() int64 {
@@ -83927,19 +83961,19 @@ __50:
 
 __51:
 	if !(zRight != 0) {
-		goto __386
+		goto __387
 	}
 	opMask = U32(Xsqlite3Atoi(tls, zRight))
 	if !(opMask&U32(0x02) == U32(0)) {
-		goto __388
+		goto __389
 	}
 	goto __15
-__388:
+__389:
 	;
-	goto __387
-__386:
-	opMask = U32(0xfffe)
+	goto __388
 __387:
+	opMask = U32(0xfffe)
+__388:
 	;
 	iTabCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1)
 	iDbLast = func() int32 {
@@ -83948,86 +83982,86 @@ __387:
 		}
 		return (*Sqlite3)(unsafe.Pointer(db)).FnDb - 1
 	}()
-__389:
+__390:
 	if !(iDb <= iDbLast) {
-		goto __391
-	}
-	if !(iDb == 1) {
 		goto __392
 	}
-	goto __390
-__392:
+	if !(iDb == 1) {
+		goto __393
+	}
+	goto __391
+__393:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
 	pSchema = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FpSchema
 	k4 = (*Hash)(unsafe.Pointer(pSchema + 8)).Ffirst
-__393:
+__394:
 	if !(k4 != 0) {
-		goto __395
+		goto __396
 	}
 	pTab10 = (*HashElem)(unsafe.Pointer(k4)).Fdata
 
 	if !((*Table)(unsafe.Pointer(pTab10)).FtabFlags&U32(TF_StatsUsed) == U32(0)) {
-		goto __396
+		goto __397
 	}
-	goto __394
-__396:
+	goto __395
+__397:
 	;
 	szThreshold = LogEst(int32((*Table)(unsafe.Pointer(pTab10)).FnRowLogEst) + 46)
 	pIdx6 = (*Table)(unsafe.Pointer(pTab10)).FpIndex
-__397:
+__398:
 	if !(pIdx6 != 0) {
-		goto __399
-	}
-	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 56))&0x80>>7) != 0) {
 		goto __400
 	}
+	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 56))&0x80>>7) != 0) {
+		goto __401
+	}
 	szThreshold = int16(0)
-	goto __399
-__400:
+	goto __400
+__401:
 	;
-	goto __398
-__398:
-	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
-	goto __397
 	goto __399
 __399:
+	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
+	goto __398
+	goto __400
+__400:
 	;
 	if !(szThreshold != 0) {
-		goto __401
+		goto __402
 	}
 	Xsqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab10, OP_OpenRead)
 	Xsqlite3VdbeAddOp3(tls, v, OP_IfSmaller, iTabCur,
 		int32(U32(Xsqlite3VdbeCurrentAddr(tls, v)+2)+opMask&U32(1)), int32(szThreshold))
 
-__401:
+__402:
 	;
-	zSubSql = Xsqlite3MPrintf(tls, db, ts+18041,
+	zSubSql = Xsqlite3MPrintf(tls, db, ts+18088,
 		libc.VaList(bp+464, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, (*Table)(unsafe.Pointer(pTab10)).FzName))
 	if !(opMask&U32(0x01) != 0) {
-		goto __402
+		goto __403
 	}
 	r11 = Xsqlite3GetTempReg(tls, pParse)
 	Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, r11, 0, zSubSql, -6)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, r11, 1)
-	goto __403
-__402:
-	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+	goto __404
 __403:
+	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+__404:
 	;
-	goto __394
-__394:
-	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
-	goto __393
 	goto __395
 __395:
+	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
+	goto __394
+	goto __396
+__396:
 	;
-	goto __390
-__390:
-	iDb++
-	goto __389
 	goto __391
 __391:
+	iDb++
+	goto __390
+	goto __392
+__392:
 	;
 	Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
 	goto __15
@@ -84035,36 +84069,36 @@ __391:
 __52:
 	;
 	if !(zRight != 0) {
-		goto __404
+		goto __405
 	}
 	Xsqlite3_busy_timeout(tls, db, Xsqlite3Atoi(tls, zRight))
-__404:
+__405:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout))
 	goto __15
 
 __53:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+584) == SQLITE_OK) {
-		goto __405
+		goto __406
 	}
 	Xsqlite3_soft_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 584)))
-__405:
+__406:
 	;
 	returnSingleInt(tls, v, Xsqlite3_soft_heap_limit64(tls, int64(-1)))
 	goto __15
 
 __54:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+592) == SQLITE_OK) {
-		goto __406
+		goto __407
 	}
 	iPrior = Xsqlite3_hard_heap_limit64(tls, int64(-1))
 	if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 592)) > int64(0) && (iPrior == int64(0) || iPrior > *(*Sqlite3_int64)(unsafe.Pointer(bp + 592)))) {
-		goto __407
+		goto __408
 	}
 	Xsqlite3_hard_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 592)))
-__407:
+__408:
 	;
-__406:
+__407:
 	;
 	returnSingleInt(tls, v, Xsqlite3_hard_heap_limit64(tls, int64(-1)))
 	goto __15
@@ -84073,10 +84107,10 @@ __55:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+600) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 600)) >= int64(0)) {
-		goto __408
+		goto __409
 	}
 	Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 600))&int64(0x7fffffff)))
-__408:
+__409:
 	;
 	returnSingleInt(tls, v, int64(Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, -1)))
 	goto __15
@@ -84085,10 +84119,10 @@ __56:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+608) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 608)) >= int64(0)) {
-		goto __409
+		goto __410
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 608)) & int64(0x7fffffff))
-__409:
+__410:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit))
 	goto __15
@@ -84096,10 +84130,10 @@ __409:
 __15:
 	;
 	if !(int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_NoColumns1 != 0 && zRight != 0) {
-		goto __410
+		goto __411
 	}
 
-__410:
+__411:
 	;
 pragma_out:
 	Xsqlite3DbFree(tls, db, zLeft)
@@ -84151,14 +84185,14 @@ var endCode = [7]VdbeOpList{
 	{Fopcode: U8(OP_Goto), Fp2: int8(3)},
 }
 var encnames1 = [9]EncName{
-	{FzName: ts + 18059, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18064, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18070, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18079, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18088, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18096, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18104},
-	{FzName: ts + 18111},
+	{FzName: ts + 18106, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18111, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18117, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18126, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18135, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18143, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18151},
+	{FzName: ts + 18158},
 	{},
 }
 var setCookie = [2]VdbeOpList{
@@ -84210,7 +84244,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	_ = argc
 	_ = argv
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), bp+56, int32(unsafe.Sizeof([200]uint8{})), 0)
-	Xsqlite3_str_appendall(tls, bp+32, ts+18117)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18164)
 	i = 0
 	j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName)
 __1:
@@ -84218,7 +84252,7 @@ __1:
 		goto __3
 	}
 	{
-		Xsqlite3_str_appendf(tls, bp+32, ts+18132, libc.VaList(bp, int32(cSep), pragCName[j]))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18179, libc.VaList(bp, int32(cSep), pragCName[j]))
 		cSep = uint8(',')
 
 	}
@@ -84231,16 +84265,16 @@ __2:
 __3:
 	;
 	if i == 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18139, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18186, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
 		i++
 	}
 	j = 0
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_Result1 != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18145)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18192)
 		j++
 	}
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(PragFlg_SchemaOpt|PragFlg_SchemaReq) != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18157)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18204)
 		j++
 	}
 	Xsqlite3_str_append(tls, bp+32, ts+4950, 1)
@@ -84423,13 +84457,13 @@ __2:
 __3:
 	;
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 120 + 1*4)))
-	Xsqlite3_str_appendall(tls, bp+32, ts+18172)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18219)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 16 + 1*4)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18180, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 16 + 1*4))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18227, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 16 + 1*4))))
 	}
 	Xsqlite3_str_appendall(tls, bp+32, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 16)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18184, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 16))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18231, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 16))))
 	}
 	zSql = Xsqlite3StrAccumFinish(tls, bp+32)
 	if zSql == uintptr(0) {
@@ -84506,12 +84540,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 	} else if *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) != uintptr(0) {
 	} else if (*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask) != 0 {
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db,
-			ts+18188, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*4)),
+			ts+18235, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*4)),
 				azAlterType[(*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask)-U32(1)],
 				zExtra))
 		(*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR
 	} else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137196)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137249)
 	} else {
 		var z uintptr
 		var zObj uintptr
@@ -84520,19 +84554,19 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 		} else {
 			zObj = ts + 5001
 		}
-		z = Xsqlite3MPrintf(tls, db, ts+18216, libc.VaList(bp+32, zObj))
+		z = Xsqlite3MPrintf(tls, db, ts+18263, libc.VaList(bp+32, zObj))
 		if zExtra != 0 && *(*uint8)(unsafe.Pointer(zExtra)) != 0 {
-			z = Xsqlite3MPrintf(tls, db, ts+18247, libc.VaList(bp+40, z, zExtra))
+			z = Xsqlite3MPrintf(tls, db, ts+18294, libc.VaList(bp+40, z, zExtra))
 		}
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137203)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137256)
 	}
 }
 
 var azAlterType = [3]uintptr{
-	ts + 18255,
-	ts + 18262,
-	ts + 18274,
+	ts + 18302,
+	ts + 18309,
+	ts + 18321,
 }
 
 // Check to see if any sibling index (another index on the same table)
@@ -84624,7 +84658,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr
 		var pIndex uintptr
 		pIndex = Xsqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*4)), (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName)
 		if pIndex == uintptr(0) {
-			corruptSchema(tls, pData, argv, ts+18285)
+			corruptSchema(tls, pData, argv, ts+18332)
 		} else if Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4)), pIndex+44) == 0 ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2) ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage ||
@@ -84672,7 +84706,7 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl
 	}())
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 2*4)) = *(*uintptr)(unsafe.Pointer(bp + 16 + 1*4))
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 3*4)) = ts + 7931
-	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*4)) = ts + 18298
+	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*4)) = ts + 18345
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 5*4)) = uintptr(0)
 	(*InitData)(unsafe.Pointer(bp + 40)).Fdb = db
 	(*InitData)(unsafe.Pointer(bp + 40)).FiDb = iDb
@@ -84801,7 +84835,7 @@ __18:
 	if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) {
 		goto __19
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+18370)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+18417)
 	rc = SQLITE_ERROR
 	goto initone_error_out
 __19:
@@ -84815,7 +84849,7 @@ __20:
 	(*InitData)(unsafe.Pointer(bp + 40)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt)
 
 	zSql = Xsqlite3MPrintf(tls, db,
-		ts+18394,
+		ts+18441,
 		libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zSchemaTabName))
 
 	xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth
@@ -85147,7 +85181,7 @@ __4:
 		goto __8
 	}
 	zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*16)).FzDbSName
-	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18428, libc.VaList(bp, zDb))
+	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18475, libc.VaList(bp, zDb))
 
 	goto end_prepare
 __8:
@@ -85177,7 +85211,7 @@ __9:
 	if !(nBytes > mxLen) {
 		goto __12
 	}
-	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18458, 0)
+	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18505, 0)
 	rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG)
 	goto end_prepare
 __12:
@@ -85273,7 +85307,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 137995)
+		return Xsqlite3MisuseError(tls, 138048)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	Xsqlite3BtreeEnterAll(tls, db)
@@ -85372,7 +85406,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 138143)
+		return Xsqlite3MisuseError(tls, 138196)
 	}
 	if nBytes >= 0 {
 		var sz int32
@@ -85699,13 +85733,13 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC
 			zSp2++
 		}
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+18477, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
+			ts+18524, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
 		jointype = JT_INNER
 	}
 	return jointype
 }
 
-var zKeyText = *(*[34]uint8)(unsafe.Pointer(ts + 18507))
+var zKeyText = *(*[34]uint8)(unsafe.Pointer(ts + 18554))
 var aKeyword = [7]struct {
 	Fi     U8
 	FnChar U8
@@ -85880,7 +85914,7 @@ __1:
 			var pUsing uintptr = uintptr(0)
 			if uint32(int32(*(*uint16)(unsafe.Pointer(pRight + 36 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 48)) != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+18541, libc.VaList(bp, 0))
+					ts+18588, libc.VaList(bp, 0))
 				return 1
 			}
 			for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ {
@@ -85925,7 +85959,7 @@ __1:
 					tableAndColumnIndex(tls, pSrc, 0, i, zName, bp+24, bp+28,
 						int32(*(*uint16)(unsafe.Pointer(pRight + 36 + 4))&0x1000>>12)) == 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+18591, libc.VaList(bp+8, zName))
+						ts+18638, libc.VaList(bp+8, zName))
 					return 1
 				}
 				pE1 = Xsqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 28)))
@@ -85936,7 +85970,7 @@ __1:
 						int32(*(*uint16)(unsafe.Pointer(pRight + 36 + 4))&0x1000>>12)) != 0 {
 						if int32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*72 + 36 + 4))&0x400>>10) == 0 ||
 							Xsqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*72 + 48)), zName) < 0 {
-							Xsqlite3ErrorMsg(tls, pParse, ts+18655,
+							Xsqlite3ErrorMsg(tls, pParse, ts+18702,
 								libc.VaList(bp+16, zName))
 							break
 						}
@@ -86564,16 +86598,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr {
 	var z uintptr
 	switch id {
 	case TK_ALL:
-		z = ts + 18692
+		z = ts + 18739
 		break
 	case TK_INTERSECT:
-		z = ts + 18702
+		z = ts + 18749
 		break
 	case TK_EXCEPT:
-		z = ts + 18712
+		z = ts + 18759
 		break
 	default:
-		z = ts + 18719
+		z = ts + 18766
 		break
 	}
 	return z
@@ -86583,7 +86617,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18725, libc.VaList(bp, zUsage))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18772, libc.VaList(bp, zUsage))
 }
 
 func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) {
@@ -86609,9 +86643,9 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n
 	var nRefKey int32 = 0
 	var aOutEx uintptr = (*Select)(unsafe.Pointer(p)).FpEList + 8
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18748, libc.VaList(bp, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18795, libc.VaList(bp, func() uintptr {
 		if (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 {
-			return ts + 18779
+			return ts + 18826
 		}
 		return ts + 1547
 	}()))
@@ -86955,7 +86989,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr)
 		} else {
 			var z uintptr = (*ExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*20)).FzEName
 			if z == uintptr(0) {
-				z = Xsqlite3MPrintf(tls, db, ts+18794, libc.VaList(bp+16, i+1))
+				z = Xsqlite3MPrintf(tls, db, ts+18841, libc.VaList(bp+16, i+1))
 			} else {
 				z = Xsqlite3DbStrDup(tls, db, z)
 			}
@@ -87055,7 +87089,7 @@ __1:
 		if zName != 0 && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) {
 			zName = Xsqlite3DbStrDup(tls, db, zName)
 		} else {
-			zName = Xsqlite3MPrintf(tls, db, ts+18794, libc.VaList(bp, i+1))
+			zName = Xsqlite3MPrintf(tls, db, ts+18841, libc.VaList(bp, i+1))
 		}
 
 		*(*U32)(unsafe.Pointer(bp + 48)) = U32(0)
@@ -87071,7 +87105,7 @@ __1:
 					nName = j
 				}
 			}
-			zName = Xsqlite3MPrintf(tls, db, ts+18803, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 48)), 1)))
+			zName = Xsqlite3MPrintf(tls, db, ts+18850, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 48)), 1)))
 			Xsqlite3ProgressCheck(tls, pParse)
 			if *(*U32)(unsafe.Pointer(bp + 48)) > U32(3) {
 				Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+48)
@@ -87154,8 +87188,6 @@ __1:
 		(*Column)(unsafe.Pointer(pCol)).Faffinity = Xsqlite3ExprAffinity(tls, p)
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) <= SQLITE_AFF_NONE {
 			(*Column)(unsafe.Pointer(pCol)).Faffinity = aff
-		} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
-			(*Column)(unsafe.Pointer(pCol)).Faffinity = uint8(SQLITE_AFF_FLEXNUM)
 		}
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_TEXT && (*Select)(unsafe.Pointer(pSelect)).FpNext != 0 {
 			var m int32 = 0
@@ -87170,12 +87202,15 @@ __1:
 			} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && m&0x02 != 0 {
 				(*Column)(unsafe.Pointer(pCol)).Faffinity = uint8(SQLITE_AFF_BLOB)
 			}
+			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
+				(*Column)(unsafe.Pointer(pCol)).Faffinity = uint8(SQLITE_AFF_FLEXNUM)
+			}
 		}
 		zType = columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0))
 		if zType == uintptr(0) || int32((*Column)(unsafe.Pointer(pCol)).Faffinity) != int32(Xsqlite3AffinityType(tls, zType, uintptr(0))) {
 			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_NUMERIC ||
 				int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_FLEXNUM {
-				zType = ts + 18811
+				zType = ts + 18858
 			} else {
 				zType = uintptr(0)
 				for j = 1; j < SQLITE_N_STDTYPE; j++ {
@@ -87391,7 +87426,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest
 	if !((*Select)(unsafe.Pointer(p)).FpWin != 0) {
 		goto __1
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18815, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18862, 0)
 	return
 __1:
 	;
@@ -87482,7 +87517,7 @@ __12:
 	if !((*Select)(unsafe.Pointer(pFirstRec)).FselFlags&U32(SF_Aggregate) != 0) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18864, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18911, 0)
 	goto end_of_recursive_query
 __15:
 	;
@@ -87502,7 +87537,7 @@ __14:
 	;
 	pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18906, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18953, 0)
 	rc = Xsqlite3Select(tls, pParse, pSetup, bp)
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = p
 	if !(rc != 0) {
@@ -87539,7 +87574,7 @@ __20:
 	Xsqlite3VdbeResolveLabel(tls, v, addrCont)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18912, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18959, 0)
 	Xsqlite3Select(tls, pParse, p, bp)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup
@@ -87573,11 +87608,11 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 		p = (*Select)(unsafe.Pointer(p)).FpPrior
 		nRow = nRow + bShowAll
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18927, libc.VaList(bp, nRow, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18974, libc.VaList(bp, nRow, func() uintptr {
 		if nRow == 1 {
 			return ts + 1547
 		}
-		return ts + 18950
+		return ts + 18997
 	}()))
 	for p != 0 {
 		selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1)
@@ -87678,8 +87713,8 @@ __6:
 	if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) {
 		goto __8
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18952, 0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18967, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18999, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19014, 0)
 __8:
 	;
 	switch int32((*Select)(unsafe.Pointer(p)).Fop) {
@@ -87726,7 +87761,7 @@ __16:
 	;
 __15:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18692, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18739, 0)
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+16)
 
@@ -87793,7 +87828,7 @@ __23:
 	pLimit = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 48)).FeDest = op
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18986, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19033, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+48)
 
@@ -87855,7 +87890,7 @@ __26:
 	pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 76)).FiSDParm = tab2
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18986, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19033, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+76)
 
@@ -88008,10 +88043,10 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr)
 	defer tls.Free(8)
 
 	if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Values) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19007, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+19054, 0)
 	} else {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+19053,
+			ts+19100,
 			libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 	}
 }
@@ -88265,8 +88300,8 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	(*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0)
 
 	(*Select)(unsafe.Pointer(pPrior)).FpOrderBy = Xsqlite3ExprListDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7227)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7227)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7216)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7216)
 
 	computeLimitRegisters(tls, pParse, p, labelEnd)
 	if (*Select)(unsafe.Pointer(p)).FiLimit != 0 && op == TK_ALL {
@@ -88293,13 +88328,13 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	Xsqlite3SelectDestInit(tls, bp+8, SRT_Coroutine, regAddrA)
 	Xsqlite3SelectDestInit(tls, bp+36, SRT_Coroutine, regAddrB)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19135, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19182, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	addrSelectA = Xsqlite3VdbeCurrentAddr(tls, v) + 1
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA)
 
 	(*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19146, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19193, 0)
 	Xsqlite3Select(tls, pParse, pPrior, bp+8)
 	Xsqlite3VdbeEndCoroutine(tls, v, regAddrA)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
@@ -88311,7 +88346,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset
 	(*Select)(unsafe.Pointer(p)).FiLimit = regLimitB
 	(*Select)(unsafe.Pointer(p)).FiOffset = 0
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19151, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19198, 0)
 	Xsqlite3Select(tls, pParse, p, bp+36)
 	(*Select)(unsafe.Pointer(p)).FiLimit = savedLimit
 	(*Select)(unsafe.Pointer(p)).FiOffset = savedOffset
@@ -88498,7 +88533,8 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr {
 				Xsqlite3VectorErrorMsg(tls, (*SubstContext)(unsafe.Pointer(pSubst)).FpParse, pCopy)
 			} else {
 				var db uintptr = (*Parse)(unsafe.Pointer((*SubstContext)(unsafe.Pointer(pSubst)).FpParse)).Fdb
-				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 && int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN {
+				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 &&
+					(int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN || (*Expr)(unsafe.Pointer(pCopy)).FiTable != (*SubstContext)(unsafe.Pointer(pSubst)).FiNewTable) {
 					libc.Xmemset(tls, bp, 0, uint32(unsafe.Sizeof(Expr{})))
 					(*Expr)(unsafe.Pointer(bp)).Fop = U8(TK_IF_NULL_ROW)
 					(*Expr)(unsafe.Pointer(bp)).FpLeft = pCopy
@@ -89397,7 +89433,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	for pIdx = (*Table)(unsafe.Pointer(pTab)).FpIndex; pIdx != 0 && Xsqlite3StrICmp(tls, (*Index)(unsafe.Pointer(pIdx)).FzName, zIndexedBy) != 0; pIdx = (*Index)(unsafe.Pointer(pIdx)).FpNext {
 	}
 	if !(pIdx != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19157, libc.VaList(bp, zIndexedBy, 0))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19204, libc.VaList(bp, zIndexedBy, 0))
 		(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 		return SQLITE_ERROR
 	}
@@ -89480,7 +89516,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 {
 	defer tls.Free(8)
 
 	if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 36 + 4))&0x4>>2)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19175, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19222, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
 		return 1
 	}
 	return 0
@@ -89609,7 +89645,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		*(*U32)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= U32(SF_CopyCte)
 
 		if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 36 + 4))&0x2>>1)) != 0 {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19198, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 64))))
+			Xsqlite3ErrorMsg(tls, pParse, ts+19245, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 64))))
 			return 2
 		}
 		libc.SetBitFieldPtr16Uint32(pFrom+36+4, uint32(1), 8, 0x100)
@@ -89632,7 +89668,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 					libc.SetBitFieldPtr16Uint32(pItem+36+4, uint32(1), 6, 0x40)
 					if (*Select)(unsafe.Pointer(pRecTerm)).FselFlags&U32(SF_Recursive) != 0 {
 						Xsqlite3ErrorMsg(tls, pParse,
-							ts+19218, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
+							ts+19265, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
 						return 2
 					}
 					*(*U32)(unsafe.Pointer(pRecTerm + 4)) |= U32(SF_Recursive)
@@ -89648,7 +89684,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 			pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior
 		}
 
-		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19261
+		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19308
 		pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith
 		(*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 48))
 		if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
@@ -89674,7 +89710,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		pEList = (*Select)(unsafe.Pointer(pLeft)).FpEList
 		if (*Cte)(unsafe.Pointer(pCte)).FpCols != 0 {
 			if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr != (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19284,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19331,
 					libc.VaList(bp+24, (*Cte)(unsafe.Pointer(pCte)).FzName, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr))
 				(*Parse)(unsafe.Pointer(pParse)).FpWith = pSavedWith
 				return 2
@@ -89685,9 +89721,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		Xsqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+34, pTab+4)
 		if bMayRecursive != 0 {
 			if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19322
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19369
 			} else {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19356
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19403
 			}
 			Xsqlite3WalkSelect(tls, pWalker, pSel)
 		}
@@ -89734,7 +89770,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	if (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 {
 		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3DbStrDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias)
 	} else {
-		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19394, libc.VaList(bp, pFrom))
+		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19441, libc.VaList(bp, pFrom))
 	}
 	for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 {
 		pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior
@@ -89846,7 +89882,7 @@ __1:
 				return WRC_Abort
 			}
 			if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19398,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19445,
 					libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 				(*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0)
 				return WRC_Abort
@@ -89865,7 +89901,7 @@ __1:
 				if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW {
 					if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) &&
 						(*Table)(unsafe.Pointer(pTab)).FpSchema != (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19437,
+						Xsqlite3ErrorMsg(tls, pParse, ts+19484,
 							libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName))
 					}
 					(*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, *(*uintptr)(unsafe.Pointer(pTab + 44)), 0)
@@ -89989,7 +90025,7 @@ __3:
 							if pNew != 0 {
 								var pX uintptr = pNew + 8 + uintptr((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1)*20
 
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19468, libc.VaList(bp+24, zUName))
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19515, libc.VaList(bp+24, zUName))
 								libc.SetBitFieldPtr16Uint32(pX+8+4, uint32(ENAME_TAB), 0, 0x3)
 								libc.SetBitFieldPtr16Uint32(pX+8+4, uint32(1), 7, 0x80)
 							}
@@ -90054,7 +90090,7 @@ __3:
 								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(pNestedFrom+8+uintptr(j)*20)).FzEName)
 
 							} else {
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19473,
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19520,
 									libc.VaList(bp+32, zSchemaName, zTabName, zName))
 
 							}
@@ -90085,9 +90121,9 @@ __3:
 				;
 				if !(tableSeen != 0) {
 					if zTName != 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19482, libc.VaList(bp+72, zTName))
+						Xsqlite3ErrorMsg(tls, pParse, ts+19529, libc.VaList(bp+72, zTName))
 					} else {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19500, 0)
+						Xsqlite3ErrorMsg(tls, pParse, ts+19547, 0)
 					}
 				}
 			}
@@ -90097,7 +90133,7 @@ __3:
 	}
 	if (*Select)(unsafe.Pointer(p)).FpEList != 0 {
 		if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 120 + 2*4)) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19520, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+19567, 0)
 			return WRC_Abort
 		}
 		if elistFlags&U32(EP_HasFunc|EP_Subquery) != U32(0) {
@@ -90235,7 +90271,7 @@ func optimizeAggregateUseOfIndexedExpr(tls *libc.TLS, pParse uintptr, pSelect ui
 	(*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn = (*AggInfo)(unsafe.Pointer(pAggInfo)).FnAccumulator
 	if int32((*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn) > 0 {
 		if (*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn == 0 {
-			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(0)
+			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpGroupBy)).FnExpr)
 		} else {
 			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(int32((*AggInfo_col)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaCol+uintptr((*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn-1)*16)).FiSorterColumn) + 1)
 		}
@@ -90319,13 +90355,13 @@ __1:
 
 			if *(*uintptr)(unsafe.Pointer(pE + 20)) == uintptr(0) || (*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 20)))).FnExpr != 1 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+19551, 0)
+					ts+19598, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1
 			} else {
 				var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 20)), 0, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral,
 					(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -8)
-				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19602, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
+				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19649, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
 			}
 		}
 
@@ -90514,11 +90550,11 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt
 
 	if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 {
 		var bCover int32 = libc.Bool32(pIdx != uintptr(0) && ((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0) || !(int32(*(*uint16)(unsafe.Pointer(pIdx + 56))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY)))
-		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19635,
+		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19682,
 			libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName,
 				func() uintptr {
 					if bCover != 0 {
-						return ts + 19647
+						return ts + 19694
 					}
 					return ts + 1547
 				}(),
@@ -90846,7 +90882,7 @@ __5:
 		goto __7
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+19670,
+		ts+19717,
 		libc.VaList(bp, func() uintptr {
 			if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 {
 				return (*SrcItem)(unsafe.Pointer(p0)).FzAlias
@@ -90907,7 +90943,7 @@ __14:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19724,
+	Xsqlite3ErrorMsg(tls, pParse, ts+19771,
 		libc.VaList(bp+8, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr))
 	goto select_end
 __15:
@@ -91049,7 +91085,7 @@ __33:
 
 	(*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop
 	Xsqlite3SelectDestInit(tls, bp+88, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19764, libc.VaList(bp+32, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19811, libc.VaList(bp+32, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+88)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	libc.SetBitFieldPtr16Uint32(pItem1+36+4, uint32(1), 5, 0x20)
@@ -91108,7 +91144,7 @@ __43:
 	;
 	Xsqlite3SelectDestInit(tls, bp+88, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19779, libc.VaList(bp+40, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19826, libc.VaList(bp+40, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+88)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	if !(onceAddr != 0) {
@@ -91579,9 +91615,9 @@ __101:
 	explainTempTable(tls, pParse,
 		func() uintptr {
 			if (*DistinctCtx)(unsafe.Pointer(bp+116)).FisTnct != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct) == U32(0) {
-				return ts + 19795
+				return ts + 19842
 			}
-			return ts + 19804
+			return ts + 19851
 		}())
 
 	groupBySort = 1
@@ -91932,7 +91968,7 @@ __65:
 	if !(int32((*DistinctCtx)(unsafe.Pointer(bp+116)).FeTnctType) == WHERE_DISTINCT_UNORDERED) {
 		goto __146
 	}
-	explainTempTable(tls, pParse, ts+19795)
+	explainTempTable(tls, pParse, ts+19842)
 __146:
 	;
 	if !((*SortCtx)(unsafe.Pointer(bp+48)).FpOrderBy != 0) {
@@ -92036,7 +92072,7 @@ __5:
 	}
 	Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg)
 	(*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+19813, 0)
+		ts+19860, 0)
 	(*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 	return 1
 __11:
@@ -92269,7 +92305,7 @@ func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2
 	if !((*Token)(unsafe.Pointer(pName2)).Fn > uint32(0)) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19878, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19925, 0)
 	goto trigger_cleanup
 __3:
 	;
@@ -92313,7 +92349,7 @@ __7:
 	goto trigger_cleanup
 __8:
 	;
-	Xsqlite3FixInit(tls, bp+36, pParse, iDb, ts+19924, *(*uintptr)(unsafe.Pointer(bp + 32)))
+	Xsqlite3FixInit(tls, bp+36, pParse, iDb, ts+19971, *(*uintptr)(unsafe.Pointer(bp + 32)))
 	if !(Xsqlite3FixSrcList(tls, bp+36, pTableName) != 0) {
 		goto __9
 	}
@@ -92331,7 +92367,7 @@ __10:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB) {
 		goto __11
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19932, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19979, 0)
 	goto trigger_orphan_error
 __11:
 	;
@@ -92343,7 +92379,7 @@ __11:
 	goto trigger_cleanup
 __12:
 	;
-	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19924, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
+	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19971, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
 		goto __13
 	}
 	goto trigger_cleanup
@@ -92358,11 +92394,12 @@ __13:
 	if !!(noErr != 0) {
 		goto __16
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19973, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20020, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
 	goto __17
 __16:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
+
 __17:
 	;
 	goto trigger_cleanup
@@ -92373,19 +92410,19 @@ __14:
 	if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+6374, 7) == 0) {
 		goto __18
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19999, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20046, 0)
 	goto trigger_cleanup
 __18:
 	;
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW && tr_tm != TK_INSTEAD) {
 		goto __19
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20037,
+	Xsqlite3ErrorMsg(tls, pParse, ts+20084,
 		libc.VaList(bp+8, func() uintptr {
 			if tr_tm == TK_BEFORE {
-				return ts + 20074
+				return ts + 20121
 			}
-			return ts + 20081
+			return ts + 20128
 		}(), pTableName+8))
 	goto trigger_orphan_error
 __19:
@@ -92394,7 +92431,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20087, libc.VaList(bp+24, pTableName+8))
+		ts+20134, libc.VaList(bp+24, pTableName+8))
 	goto trigger_orphan_error
 __20:
 	;
@@ -92543,7 +92580,7 @@ __2:
 __3:
 	;
 	Xsqlite3TokenInit(tls, bp+56, (*Trigger)(unsafe.Pointer(pTrig)).FzName)
-	Xsqlite3FixInit(tls, bp+64, pParse, iDb, ts+19924, bp+56)
+	Xsqlite3FixInit(tls, bp+64, pParse, iDb, ts+19971, bp+56)
 	if !(Xsqlite3FixTriggerStep(tls, bp+64, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 ||
 		Xsqlite3FixExpr(tls, bp+64, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0) {
 		goto __4
@@ -92576,7 +92613,7 @@ __9:
 		goto __12
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20133,
+		ts+20180,
 		libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrig)).FzName, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget))
 	goto triggerfinish_cleanup
 __12:
@@ -92601,13 +92638,13 @@ __13:
 	z = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pAll)).Fz, uint64((*Token)(unsafe.Pointer(pAll)).Fn))
 
 	Xsqlite3NestedParse(tls, pParse,
-		ts+20181,
+		ts+20228,
 		libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zName,
 			(*Trigger)(unsafe.Pointer(pTrig)).Ftable, z))
 	Xsqlite3DbFree(tls, db, z)
 	Xsqlite3ChangeCookie(tls, pParse, iDb)
 	Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb,
-		Xsqlite3MPrintf(tls, db, ts+20256, libc.VaList(bp+48, zName)), uint16(0))
+		Xsqlite3MPrintf(tls, db, ts+20303, libc.VaList(bp+48, zName)), uint16(0))
 __7:
 	;
 __6:
@@ -92863,7 +92900,7 @@ __5:
 	if !!(noErr != 0) {
 		goto __9
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20285, libc.VaList(bp, pName+8))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20332, libc.VaList(bp, pName+8))
 	goto __10
 __9:
 	Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb)
@@ -92916,7 +92953,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) {
 
 	if libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse)) != uintptr(0) {
 		Xsqlite3NestedParse(tls, pParse,
-			ts+20305,
+			ts+20352,
 			libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, (*Trigger)(unsafe.Pointer(pTrigger)).FzName))
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 		Xsqlite3VdbeAddOp4(tls, v, OP_DropTrigger, iDb, 0, 0, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, 0)
@@ -93030,12 +93067,12 @@ __9:
 		goto __15
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20367,
+		ts+20414,
 		libc.VaList(bp, func() uintptr {
 			if op == TK_DELETE {
-				return ts + 20415
+				return ts + 20462
 			}
-			return ts + 20422
+			return ts + 20469
 		}()))
 __15:
 	;
@@ -93149,7 +93186,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 {
 	if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK {
 		return 0
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20429, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20476, 0)
 	return 1
 }
 
@@ -93215,7 +93252,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab
 	}
 	Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(bp)).FpEList)
 	pNew = sqlite3ExpandReturning(tls, pParse, (*Returning)(unsafe.Pointer(pReturning)).FpReturnEL, pTab)
-	if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) {
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 {
 		libc.Xmemset(tls, bp+160, 0, uint32(unsafe.Sizeof(NameContext{})))
 		if (*Returning)(unsafe.Pointer(pReturning)).FnRetCol == 0 {
 			(*Returning)(unsafe.Pointer(pReturning)).FnRetCol = (*ExprList)(unsafe.Pointer(pNew)).FnExpr
@@ -93379,7 +93416,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt
 	if v != 0 {
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 {
 			Xsqlite3VdbeChangeP4(tls, v, -1,
-				Xsqlite3MPrintf(tls, db, ts+20471, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
+				Xsqlite3MPrintf(tls, db, ts+20518, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
 		}
 
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FpWhen != 0 {
@@ -93972,7 +94009,7 @@ __25:
 	}
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20485,
+		ts+20532,
 		libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*16)).FzCnName))
 	goto update_cleanup
 __27:
@@ -94004,7 +94041,7 @@ __21:
 	iRowidExpr = i
 	goto __30
 __29:
-	Xsqlite3ErrorMsg(tls, pParse, ts+20521, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*20)).FzEName))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20568, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*20)).FzEName))
 	(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 	goto update_cleanup
 __30:
@@ -94330,7 +94367,12 @@ __74:
 	goto __77
 __76:
 	flags = WHERE_ONEPASS_DESIRED
-	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) && !(pTrigger != 0) && !(hasFK != 0) && !(chngKey != 0) && !(*(*int32)(unsafe.Pointer(bp + 68)) != 0)) {
+	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) &&
+		!(pTrigger != 0) &&
+		!(hasFK != 0) &&
+		!(chngKey != 0) &&
+		!(*(*int32)(unsafe.Pointer(bp + 68)) != 0) &&
+		(*NameContext)(unsafe.Pointer(bp+28)).FncFlags&NC_Subquery == 0) {
 		goto __78
 	}
 	flags = flags | WHERE_ONEPASS_MULTIROW
@@ -94884,7 +94926,7 @@ __168:
 	if !(regRowCount != 0) {
 		goto __169
 	}
-	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20540)
+	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20587)
 __169:
 	;
 update_cleanup:
@@ -95190,10 +95232,10 @@ __1:
 			if nClause == 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) {
 				*(*uint8)(unsafe.Pointer(bp + 152)) = uint8(0)
 			} else {
-				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]uint8{})), bp+152, ts+20553, libc.VaList(bp, nClause+1))
+				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]uint8{})), bp+152, ts+20600, libc.VaList(bp, nClause+1))
 			}
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+20557, libc.VaList(bp+8, bp+152))
+				ts+20604, libc.VaList(bp+8, bp+152))
 			return SQLITE_ERROR
 		}
 
@@ -95316,7 +95358,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 {
 		var zSubSql uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
 
 		if zSubSql != 0 &&
-			(libc.Xstrncmp(tls, zSubSql, ts+20630, uint32(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20634, uint32(3)) == 0) {
+			(libc.Xstrncmp(tls, zSubSql, ts+20677, uint32(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20681, uint32(3)) == 0) {
 			rc = execSql(tls, db, pzErrMsg, zSubSql)
 			if rc != SQLITE_OK {
 				break
@@ -95464,14 +95506,14 @@ func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p
 	if !!(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) {
 		goto __1
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20638)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20685)
 	return SQLITE_ERROR
 __1:
 	;
 	if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) {
 		goto __2
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20678)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20725)
 	return SQLITE_ERROR
 __2:
 	;
@@ -95482,7 +95524,7 @@ __2:
 	if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) {
 		goto __5
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20721)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20768)
 	return SQLITE_ERROR
 __5:
 	;
@@ -95510,7 +95552,7 @@ __4:
 	isMemDb = Xsqlite3PagerIsMemdb(tls, Xsqlite3BtreePager(tls, pMain))
 
 	nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb
-	rc = execSqlF(tls, db, pzErrMsg, ts+20739, libc.VaList(bp, zOut))
+	rc = execSqlF(tls, db, pzErrMsg, ts+20786, libc.VaList(bp, zOut))
 	(*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags
 	if !(rc != SQLITE_OK) {
 		goto __6
@@ -95530,7 +95572,7 @@ __6:
 		goto __8
 	}
 	rc = SQLITE_ERROR
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20762)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20809)
 	goto end_of_vacuum
 __8:
 	;
@@ -95590,7 +95632,7 @@ __12:
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb)
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20789,
+		ts+20836,
 		libc.VaList(bp+8, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __13
@@ -95599,7 +95641,7 @@ __12:
 __13:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20897,
+		ts+20944,
 		libc.VaList(bp+16, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __14
@@ -95610,7 +95652,7 @@ __14:
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
 
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20951,
+		ts+20998,
 		libc.VaList(bp+24, zDbMain))
 
 	*(*U32)(unsafe.Pointer(db + 24)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))
@@ -95621,7 +95663,7 @@ __14:
 __15:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+21102,
+		ts+21149,
 		libc.VaList(bp+32, zDbMain))
 	if !(rc != 0) {
 		goto __16
@@ -96050,11 +96092,11 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		if pEnd != 0 {
 			(*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32((int32((*Token)(unsafe.Pointer(pEnd)).Fz)-int32((*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz))/1) + (*Token)(unsafe.Pointer(pEnd)).Fn
 		}
-		zStmt = Xsqlite3MPrintf(tls, db, ts+21232, libc.VaList(bp, pParse+196))
+		zStmt = Xsqlite3MPrintf(tls, db, ts+21279, libc.VaList(bp, pParse+196))
 
 		iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema)
 		Xsqlite3NestedParse(tls, pParse,
-			ts+21256,
+			ts+21303,
 			libc.VaList(bp+8, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
@@ -96064,7 +96106,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 
 		Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
-		zWhere = Xsqlite3MPrintf(tls, db, ts+21355, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
+		zWhere = Xsqlite3MPrintf(tls, db, ts+21402, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
 		Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0))
 		Xsqlite3DbFree(tls, db, zStmt)
 
@@ -96125,7 +96167,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	for pCtx = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx; pCtx != 0; pCtx = (*VtabCtx)(unsafe.Pointer(pCtx)).FpPrior {
 		if (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db,
-				ts+21374, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
+				ts+21421, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 			return SQLITE_LOCKED
 		}
 	}
@@ -96153,9 +96195,11 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FbDeclared = 0
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32
+	(*Table)(unsafe.Pointer(pTab)).FnTabRef++
 	rc = (*struct {
 		f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32
 	})(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+8, bp+48)
+	Xsqlite3DeleteTable(tls, db, pTab)
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior
 	if rc == SQLITE_NOMEM {
 		Xsqlite3OomFault(tls, db)
@@ -96163,7 +96207,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 
 	if SQLITE_OK != rc {
 		if *(*uintptr)(unsafe.Pointer(bp + 48)) == uintptr(0) {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21416, libc.VaList(bp+8, zModuleName))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21463, libc.VaList(bp+8, zModuleName))
 		} else {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+3656, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 48))))
 			Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 48)))
@@ -96175,7 +96219,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 		(*Module)(unsafe.Pointer(pMod)).FnRefModule++
 		(*VTable)(unsafe.Pointer(pVTable)).FnRef = 1
 		if (*VtabCtx)(unsafe.Pointer(bp+32)).FbDeclared == 0 {
-			var zFormat uintptr = ts + 21446
+			var zFormat uintptr = ts + 21493
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName))
 			Xsqlite3VtabUnlock(tls, pVTable)
 			rc = SQLITE_ERROR
@@ -96249,7 +96293,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32
 
 	if !(pMod != 0) {
 		var zModule uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pTab + 44 + 4))))
-		Xsqlite3ErrorMsg(tls, pParse, ts+21492, libc.VaList(bp, zModule))
+		Xsqlite3ErrorMsg(tls, pParse, ts+21539, libc.VaList(bp, zModule))
 		rc = SQLITE_ERROR
 	} else {
 		*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
@@ -96307,7 +96351,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr,
 	pMod = Xsqlite3HashFind(tls, db+404, zMod)
 
 	if pMod == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21492, libc.VaList(bp, zMod))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21539, libc.VaList(bp, zMod))
 		rc = SQLITE_ERROR
 	} else {
 		rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr)
@@ -96341,7 +96385,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3
 	if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
 		Xsqlite3Error(tls, db, SQLITE_MISUSE)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
-		return Xsqlite3MisuseError(tls, 151030)
+		return Xsqlite3MisuseError(tls, 151102)
 	}
 	pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab
 
@@ -96794,7 +96838,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	if !(p != 0) {
-		rc = Xsqlite3MisuseError(tls, 151521)
+		rc = Xsqlite3MisuseError(tls, 151593)
 	} else {
 		ap = va
 		switch op {
@@ -96821,7 +96865,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 			fallthrough
 		default:
 			{
-				rc = Xsqlite3MisuseError(tls, 151539)
+				rc = Xsqlite3MisuseError(tls, 151611)
 				break
 
 			}
@@ -97053,7 +97097,7 @@ type InLoop = struct {
 func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr {
 	i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2)))
 	if i == -2 {
-		return ts + 21511
+		return ts + 21558
 	}
 	if i == -1 {
 		return ts + 16260
@@ -97065,11 +97109,11 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	var i int32
 
 	if bAnd != 0 {
-		Xsqlite3_str_append(tls, pStr, ts+21518, 5)
+		Xsqlite3_str_append(tls, pStr, ts+21565, 5)
 	}
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21524, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21571, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97084,7 +97128,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	Xsqlite3_str_append(tls, pStr, zOp, 1)
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21524, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21571, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97110,27 +97154,27 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) {
 	if int32(nEq) == 0 && (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT|WHERE_TOP_LIMIT) == U32(0) {
 		return
 	}
-	Xsqlite3_str_append(tls, pStr, ts+21526, 2)
+	Xsqlite3_str_append(tls, pStr, ts+21573, 2)
 	for i = 0; i < int32(nEq); i++ {
 		var z uintptr = explainIndexColumnName(tls, pIndex, i)
 		if i != 0 {
-			Xsqlite3_str_append(tls, pStr, ts+21518, 5)
+			Xsqlite3_str_append(tls, pStr, ts+21565, 5)
 		}
 		Xsqlite3_str_appendf(tls, pStr, func() uintptr {
 			if i >= int32(nSkip) {
-				return ts + 21529
+				return ts + 21576
 			}
-			return ts + 21534
+			return ts + 21581
 		}(), libc.VaList(bp, z))
 	}
 
 	j = i
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21542)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21589)
 		i = 1
 	}
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_TOP_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21544)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21591)
 	}
 	Xsqlite3_str_append(tls, pStr, ts+4950, 1)
 }
@@ -97173,11 +97217,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 
 		Xsqlite3StrAccumInit(tls, bp+64, db, bp+88, int32(unsafe.Sizeof([100]uint8{})), SQLITE_MAX_LENGTH)
 		(*StrAccum)(unsafe.Pointer(bp + 64)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-		Xsqlite3_str_appendf(tls, bp+64, ts+21546, libc.VaList(bp, func() uintptr {
+		Xsqlite3_str_appendf(tls, bp+64, ts+21593, libc.VaList(bp, func() uintptr {
 			if isSearch != 0 {
-				return ts + 21552
+				return ts + 21599
 			}
-			return ts + 21559
+			return ts + 21606
 		}(), pItem))
 		if flags&U32(WHERE_IPK|WHERE_VIRTUALTABLE) == U32(0) {
 			var zFmt uintptr = uintptr(0)
@@ -97190,40 +97234,40 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 					zFmt = ts + 10969
 				}
 			} else if flags&U32(WHERE_PARTIALIDX) != 0 {
-				zFmt = ts + 21564
+				zFmt = ts + 21611
 			} else if flags&U32(WHERE_AUTO_INDEX) != 0 {
-				zFmt = ts + 21597
+				zFmt = ts + 21644
 			} else if flags&U32(WHERE_IDX_ONLY) != 0 {
-				zFmt = ts + 21622
+				zFmt = ts + 21669
 			} else {
-				zFmt = ts + 21640
+				zFmt = ts + 21687
 			}
 			if zFmt != 0 {
-				Xsqlite3_str_append(tls, bp+64, ts+21649, 7)
+				Xsqlite3_str_append(tls, bp+64, ts+21696, 7)
 				Xsqlite3_str_appendf(tls, bp+64, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName))
 				explainIndexRange(tls, bp+64, pLoop)
 			}
 		} else if flags&U32(WHERE_IPK) != U32(0) && flags&U32(WHERE_CONSTRAINT) != U32(0) {
 			var cRangeOp uint8
 			var zRowid uintptr = ts + 16260
-			Xsqlite3_str_appendf(tls, bp+64, ts+21657, libc.VaList(bp+24, zRowid))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21704, libc.VaList(bp+24, zRowid))
 			if flags&U32(WHERE_COLUMN_EQ|WHERE_COLUMN_IN) != 0 {
 				cRangeOp = uint8('=')
 			} else if flags&U32(WHERE_BOTH_LIMIT) == U32(WHERE_BOTH_LIMIT) {
-				Xsqlite3_str_appendf(tls, bp+64, ts+21688, libc.VaList(bp+32, zRowid))
+				Xsqlite3_str_appendf(tls, bp+64, ts+21735, libc.VaList(bp+32, zRowid))
 				cRangeOp = uint8('<')
 			} else if flags&U32(WHERE_BTM_LIMIT) != 0 {
 				cRangeOp = uint8('>')
 			} else {
 				cRangeOp = uint8('<')
 			}
-			Xsqlite3_str_appendf(tls, bp+64, ts+21698, libc.VaList(bp+40, int32(cRangeOp)))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21745, libc.VaList(bp+40, int32(cRangeOp)))
 		} else if flags&U32(WHERE_VIRTUALTABLE) != U32(0) {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21703,
+			Xsqlite3_str_appendf(tls, bp+64, ts+21750,
 				libc.VaList(bp+48, *(*int32)(unsafe.Pointer(pLoop + 24)), *(*uintptr)(unsafe.Pointer(pLoop + 24 + 12))))
 		}
 		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&JT_LEFT != 0 {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21730, 0)
+			Xsqlite3_str_appendf(tls, bp+64, ts+21777, 0)
 		}
 		zMsg = Xsqlite3StrAccumFinish(tls, bp+64)
 
@@ -97255,22 +97299,22 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp
 
 	Xsqlite3StrAccumInit(tls, bp+24, db, bp+48, int32(unsafe.Sizeof([100]uint8{})), SQLITE_MAX_LENGTH)
 	(*StrAccum)(unsafe.Pointer(bp + 24)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-	Xsqlite3_str_appendf(tls, bp+24, ts+21741, libc.VaList(bp, pItem))
+	Xsqlite3_str_appendf(tls, bp+24, ts+21788, libc.VaList(bp, pItem))
 	pLoop = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_IPK) != 0 {
 		var pTab uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FpTab
 		if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21529, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*16)).FzCnName))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21576, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*16)).FzCnName))
 		} else {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21762, 0)
+			Xsqlite3_str_appendf(tls, bp+24, ts+21809, 0)
 		}
 	} else {
 		for i = int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip); i < int32(*(*U16)(unsafe.Pointer(pLoop + 24))); i++ {
 			var z uintptr = explainIndexColumnName(tls, *(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)), i)
 			if i > int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip) {
-				Xsqlite3_str_append(tls, bp+24, ts+21518, 5)
+				Xsqlite3_str_append(tls, bp+24, ts+21565, 5)
 			}
-			Xsqlite3_str_appendf(tls, bp+24, ts+21529, libc.VaList(bp+16, z))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21576, libc.VaList(bp+16, z))
 		}
 	}
 	Xsqlite3_str_append(tls, bp+24, ts+4950, 1)
@@ -98867,7 +98911,7 @@ __134:
 	;
 __126:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21770, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21817, 0)
 	ii = 0
 __135:
 	if !(ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm) {
@@ -98895,7 +98939,7 @@ __139:
 	pOrExpr = pAndExpr
 __140:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21785, libc.VaList(bp, ii+1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21832, libc.VaList(bp, ii+1))
 
 	pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0),
 		uint16(WHERE_OR_SUBCLAUSE), iCovCur)
@@ -99413,7 +99457,7 @@ func Xsqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
 	var mAll Bitmask = uint64(0)
 	var k int32
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21794, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21841, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
 
 	for k = 0; k < iLevel; k++ {
 		var iIdxCur int32
@@ -99774,7 +99818,7 @@ var aOp = [4]Op2{
 	{FzOp: ts + 16109, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)},
 	{FzOp: ts + 15440, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)},
 	{FzOp: ts + 14960, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)},
-	{FzOp: ts + 21808, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
+	{FzOp: ts + 21855, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
 }
 
 func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) {
@@ -100264,12 +100308,12 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			extraRight = x - uint64(1)
 
 			if prereqAll>>1 >= x {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21815, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21862, 0)
 				return
 			}
 		} else if prereqAll>>1 >= x {
 			if (*SrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*SrcItem)(unsafe.Pointer(pSrc+8)).Ffg.Fjointype)&JT_LTORJ != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21815, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21862, 0)
 				return
 			}
 			*(*U32)(unsafe.Pointer(pExpr + 4)) &= libc.Uint32FromInt32(libc.CplInt32(EP_InnerON))
@@ -100348,7 +100392,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_OuterON) != U32(0)) &&
 			0 == Xsqlite3ExprCanBeNull(tls, pLeft) {
 			(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
-			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6762
+			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 7692
 			*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0)
@@ -100442,7 +100486,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 		}
 		zCollSeqName = func() uintptr {
 			if *(*int32)(unsafe.Pointer(bp + 16)) != 0 {
-				return ts + 21856
+				return ts + 21903
 			}
 			return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))
 		}()
@@ -100818,7 +100862,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 			k++
 		}
 		if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21863,
+			Xsqlite3ErrorMsg(tls, pParse, ts+21910,
 				libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j))
 			return
 		}
@@ -100834,7 +100878,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 		pRhs = Xsqlite3PExpr(tls, pParse, TK_UPLUS,
 			Xsqlite3ExprDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*ExprList_item)(unsafe.Pointer(pArgs+8+uintptr(j)*20)).FpExpr, 0), uintptr(0))
 		pTerm = Xsqlite3PExpr(tls, pParse, TK_EQ, pColRef, pRhs)
-		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ) != 0 {
+		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ|JT_RIGHT) != 0 {
 			joinType = U32(EP_OuterON)
 		} else {
 			joinType = U32(EP_InnerON)
@@ -101551,7 +101595,7 @@ __4:
 		goto __6
 	}
 	Xsqlite3_log(tls, SQLITE_WARNING|int32(1)<<8,
-		ts+21899, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
+		ts+21946, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
 			(*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*16)).FzCnName))
 	sentWarning = U8(1)
 __6:
@@ -101622,7 +101666,7 @@ __13:
 __14:
 	;
 	*(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)) = pIdx
-	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21925
+	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21972
 	(*Index)(unsafe.Pointer(pIdx)).FpTable = pTable
 	n = 0
 	idxCols = uint64(0)
@@ -101796,6 +101840,10 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 	var pLoop uintptr = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	var iCur int32
+	var saved_pIdxEpr uintptr
+
+	saved_pIdxEpr = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = uintptr(0)
 
 	addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once)
 	for __ccgo := true; __ccgo; __ccgo = iLevel < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel) {
@@ -101839,9 +101887,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 			var r1 int32 = Xsqlite3GetTempRange(tls, pParse, n)
 			var jj int32
 			for jj = 0; jj < n; jj++ {
-				var iCol int32 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(jj)*2)))
-
-				Xsqlite3ExprCodeGetColumnOfTable(tls, v, (*Index)(unsafe.Pointer(pIdx)).FpTable, iCur, iCol, r1+jj)
+				Xsqlite3ExprCodeLoadIndexColumn(tls, pParse, pIdx, iCur, jj, r1+jj)
 			}
 			Xsqlite3VdbeAddOp4Int(tls, v, OP_FilterAdd, (*WhereLevel)(unsafe.Pointer(pLevel)).FregFilter, 0, r1, n)
 			Xsqlite3ReleaseTempRange(tls, pParse, r1, n)
@@ -101875,6 +101921,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 		}
 	}
 	Xsqlite3VdbeJumpHere(tls, v, addrOnce)
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = saved_pIdxEpr
 }
 
 func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr {
@@ -102133,11 +102180,16 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro
 
 	_ = pParse
 
+	if !((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) && int32(*(*uint16)(unsafe.Pointer(pIdx + 56))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol)
+	} else {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnColumn)
+	}
 	nField = func() int32 {
-		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < (*Index)(unsafe.Pointer(pIdx)).FnSample {
+		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < nField {
 			return int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField)
 		}
-		return (*Index)(unsafe.Pointer(pIdx)).FnSample
+		return nField
 	}()
 	iCol = 0
 	iSample = (*Index)(unsafe.Pointer(pIdx)).FnSample * nField
@@ -103717,7 +103769,7 @@ __4:
 				j >= (*WhereClause)(unsafe.Pointer(pWC)).FnTerm ||
 				*(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*4)) != uintptr(0) ||
 				int32((*sqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21936, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+				Xsqlite3ErrorMsg(tls, pParse, ts+21983, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 				return SQLITE_ERROR
 			}
@@ -103775,7 +103827,7 @@ __6:
 	(*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm = U16(mxTerm + 1)
 	for i = 0; i <= mxTerm; i++ {
 		if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*4)) == uintptr(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21936, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+			Xsqlite3ErrorMsg(tls, pParse, ts+21983, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 			return SQLITE_ERROR
 		}
@@ -104173,7 +104225,7 @@ __1:
 		mPrior = mPrior | (*WhereLoop)(unsafe.Pointer(pNew)).FmaskSelf
 		if rc != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 			if rc == SQLITE_DONE {
-				Xsqlite3_log(tls, SQLITE_WARNING, ts+21962, 0)
+				Xsqlite3_log(tls, SQLITE_WARNING, ts+22009, 0)
 				rc = SQLITE_OK
 			} else {
 				goto __3
@@ -104780,7 +104832,7 @@ __3:
 	}
 
 	if nFrom == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+21997, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+22044, 0)
 		Xsqlite3DbFreeNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pSpace)
 		return SQLITE_ERROR
 	}
@@ -104815,6 +104867,10 @@ __3:
 			if int32((*WherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*ExprList)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr {
 				(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_ORDERED)
 			}
+			if (*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 &&
+				int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr {
+				(*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = I8((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr)
+			}
 		} else {
 			(*WhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*WherePath)(unsafe.Pointer(pFrom)).FrevLoop
 			if int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 {
@@ -105109,6 +105165,9 @@ func whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur in
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCur = iIdxCur
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCol = i
 		(*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow = U8(bMaybeNullRow)
+		if Xsqlite3IndexAffinityStr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pIdx) != 0 {
+			(*IndexedExpr)(unsafe.Pointer(p)).Faff = *(*uint8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(i)))
+		}
 		(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = p
 		if (*IndexedExpr)(unsafe.Pointer(p)).FpIENext == uintptr(0) {
 			Xsqlite3ParserAddCleanup(tls, pParse, *(*uintptr)(unsafe.Pointer(&struct {
@@ -105261,7 +105320,7 @@ __1:
 	if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(uint32(unsafe.Sizeof(Bitmask(0)))*uint32(8))) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22015, libc.VaList(bp, int32(uint32(unsafe.Sizeof(Bitmask(0)))*uint32(8))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+22062, libc.VaList(bp, int32(uint32(unsafe.Sizeof(Bitmask(0)))*uint32(8))))
 	return uintptr(0)
 __2:
 	;
@@ -105325,7 +105384,7 @@ __6:
 	(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE)
 __7:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22043, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22090, 0)
 	goto __5
 __4:
 	ii = 0
@@ -106208,7 +106267,7 @@ __1:
 
 error_out:
 	Xsqlite3_result_error(tls,
-		pCtx, ts+22061, -1)
+		pCtx, ts+22108, -1)
 }
 
 func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
@@ -106341,7 +106400,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 			(*NtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 			if (*NtileCtx)(unsafe.Pointer(p)).FnParam <= int64(0) {
 				Xsqlite3_result_error(tls,
-					pCtx, ts+22117, -1)
+					pCtx, ts+22164, -1)
 			}
 		}
 		(*NtileCtx)(unsafe.Pointer(p)).FnTotal++
@@ -106430,17 +106489,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
 	}
 }
 
-var row_numberName = *(*[11]uint8)(unsafe.Pointer(ts + 22162))
-var dense_rankName = *(*[11]uint8)(unsafe.Pointer(ts + 22173))
-var rankName = *(*[5]uint8)(unsafe.Pointer(ts + 22184))
-var percent_rankName = *(*[13]uint8)(unsafe.Pointer(ts + 22189))
-var cume_distName = *(*[10]uint8)(unsafe.Pointer(ts + 22202))
-var ntileName = *(*[6]uint8)(unsafe.Pointer(ts + 22212))
-var last_valueName = *(*[11]uint8)(unsafe.Pointer(ts + 22218))
-var nth_valueName = *(*[10]uint8)(unsafe.Pointer(ts + 22229))
-var first_valueName = *(*[12]uint8)(unsafe.Pointer(ts + 22239))
-var leadName = *(*[5]uint8)(unsafe.Pointer(ts + 22251))
-var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22256))
+var row_numberName = *(*[11]uint8)(unsafe.Pointer(ts + 22209))
+var dense_rankName = *(*[11]uint8)(unsafe.Pointer(ts + 22220))
+var rankName = *(*[5]uint8)(unsafe.Pointer(ts + 22231))
+var percent_rankName = *(*[13]uint8)(unsafe.Pointer(ts + 22236))
+var cume_distName = *(*[10]uint8)(unsafe.Pointer(ts + 22249))
+var ntileName = *(*[6]uint8)(unsafe.Pointer(ts + 22259))
+var last_valueName = *(*[11]uint8)(unsafe.Pointer(ts + 22265))
+var nth_valueName = *(*[10]uint8)(unsafe.Pointer(ts + 22276))
+var first_valueName = *(*[12]uint8)(unsafe.Pointer(ts + 22286))
+var leadName = *(*[5]uint8)(unsafe.Pointer(ts + 22298))
+var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22303))
 
 func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) {
 	_ = p
@@ -106486,7 +106545,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin
 		}
 	}
 	if p == uintptr(0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22260, libc.VaList(bp, zName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+22307, libc.VaList(bp, zName))
 	}
 	return p
 }
@@ -106530,12 +106589,12 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin
 		((*Window)(unsafe.Pointer(pWin)).FpStart != 0 || (*Window)(unsafe.Pointer(pWin)).FpEnd != 0) &&
 		((*Window)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*ExprList)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != 1) {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+22279, 0)
+			ts+22326, 0)
 	} else if (*FuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
 		if (*Window)(unsafe.Pointer(pWin)).FpFilter != 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22350, 0)
+				ts+22397, 0)
 		} else {
 			*(*[8]WindowUpdate)(unsafe.Pointer(bp)) = [8]WindowUpdate{
 				{FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT},
@@ -106761,7 +106820,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr
 
 	if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) {
 		Xsqlite3ErrorMsg(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse,
-			ts+22413, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
+			ts+22460, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
 	}
 	return WRC_Continue
 }
@@ -106877,7 +106936,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 {
 
 		if *(*uintptr)(unsafe.Pointer(bp + 28)) == uintptr(0) {
 			*(*uintptr)(unsafe.Pointer(bp + 28)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0),
-				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7523))
+				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7512))
 		}
 
 		pSub = Xsqlite3SelectNew(tls,
@@ -106992,7 +107051,7 @@ __1:
 		eStart == TK_FOLLOWING && (eEnd == TK_PRECEDING || eEnd == TK_CURRENT)) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22439, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22486, 0)
 	goto windowAllocErr
 __2:
 	;
@@ -107057,15 +107116,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint
 			var zErr uintptr = uintptr(0)
 
 			if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 {
-				zErr = ts + 22471
+				zErr = ts + 22518
 			} else if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0 {
-				zErr = ts + 22488
+				zErr = ts + 22535
 			} else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 {
-				zErr = ts + 22504
+				zErr = ts + 22551
 			}
 			if zErr != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+22524, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
+					ts+22571, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
 			} else {
 				(*Window)(unsafe.Pointer(pWin)).FpPartition = Xsqlite3ExprListDup(tls, db, (*Window)(unsafe.Pointer(pExist)).FpPartition, 0)
 				if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 {
@@ -107086,7 +107145,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr
 		(*Window)(unsafe.Pointer(pWin)).FpOwner = p
 		if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Distinct) != 0 && int32((*Window)(unsafe.Pointer(pWin)).FeFrmType) != TK_FILTER {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22557, 0)
+				ts+22604, 0)
 		}
 	} else {
 		Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin)
@@ -107242,11 +107301,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) {
 }
 
 var azErr = [5]uintptr{
-	ts + 22604,
-	ts + 22657,
-	ts + 22061,
-	ts + 22708,
-	ts + 22760,
+	ts + 22651,
+	ts + 22704,
+	ts + 22108,
+	ts + 22755,
+	ts + 22807,
 }
 var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge}
 
@@ -108638,19 +108697,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) {
 			}
 			cnt++
 			if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*Select)(unsafe.Pointer(pLoop)).FpLimit != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+22810,
+				Xsqlite3ErrorMsg(tls, pParse, ts+22857,
 					libc.VaList(bp, func() uintptr {
 						if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) {
-							return ts + 22852
+							return ts + 22899
 						}
-						return ts + 22861
+						return ts + 22908
 					}(),
 						Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(pNext)).Fop))))
 				break
 			}
 		}
 		if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_MultiValue) == U32(0) && libc.AssignInt32(&mxSelect, *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 120 + 4*4))) > 0 && cnt > mxSelect {
-			Xsqlite3ErrorMsg(tls, pParse, ts+22867, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+22914, 0)
 		}
 	}
 
@@ -108721,7 +108780,7 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT
 	var p uintptr = Xsqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0))
 	if (hasCollate != 0 || sortOrder != -1) &&
 		int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22901,
+		Xsqlite3ErrorMsg(tls, pParse, ts+22948,
 			libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz))
 	}
 	Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1)
@@ -109816,7 +109875,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) {
 		yy_pop_parser_stack(tls, yypParser)
 	}
 
-	Xsqlite3ErrorMsg(tls, pParse, ts+22939, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22986, 0)
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
 }
@@ -110795,7 +110854,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4)) = U32(TF_WithoutRowid | TF_NoVisibleRowid)
 				} else {
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22961, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+4)).Fn, (*Token)(unsafe.Pointer(yymsp+4)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23008, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+4)).Fn, (*Token)(unsafe.Pointer(yymsp+4)).Fz))
 				}
 			}
 			break
@@ -110805,7 +110864,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(TF_Strict)
 				} else {
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22961, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+4)).Fn, (*Token)(unsafe.Pointer(yymsp+4)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23008, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+4)).Fn, (*Token)(unsafe.Pointer(yymsp+4)).Fz))
 				}
 			}
 			*(*U32)(unsafe.Pointer(yymsp + 4)) = *(*U32)(unsafe.Pointer(bp + 40))
@@ -111548,7 +111607,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 		case uint32(157):
 			{
 				Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4)), yymsp+libc.UintptrFromInt32(-4)*12+4)
-				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4)), ts+22988)
+				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4)), ts+23035)
 				if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4)) != 0 {
 					var pFromClause uintptr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4))
 					if (*SrcList)(unsafe.Pointer(pFromClause)).FnSrc > 1 {
@@ -111712,7 +111771,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*Token)(unsafe.Pointer(bp + 92)) = *(*Token)(unsafe.Pointer(yymsp + 4))
 
 					if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+22997, libc.VaList(bp+32, bp+92))
+						Xsqlite3ErrorMsg(tls, pParse, ts+23044, libc.VaList(bp+32, bp+92))
 						*(*uintptr)(unsafe.Pointer(yymsp + 4)) = uintptr(0)
 					} else {
 						*(*uintptr)(unsafe.Pointer(yymsp + 4)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0))
@@ -111929,9 +111988,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					Xsqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*12 + 4)))
 					*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*12 + 4)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_STRING, func() uintptr {
 						if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*12 + 4)) != 0 {
-							return ts + 6757
+							return ts + 7687
 						}
-						return ts + 6762
+						return ts + 7692
 					}())
 					if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*12 + 4)) != 0 {
 						Xsqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*12 + 4)))
@@ -112215,19 +112274,19 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 			{
 				*(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4)) = *(*Token)(unsafe.Pointer(yymsp + 4))
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23021, 0)
+					ts+23068, 0)
 			}
 			break
 		case uint32(271):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23116, 0)
+					ts+23163, 0)
 			}
 			break
 		case uint32(272):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23200, 0)
+					ts+23247, 0)
 			}
 			break
 		case uint32(273):
@@ -112606,9 +112665,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To
 
 	_ = yymajor
 	if *(*uint8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8)).Fz)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22997, libc.VaList(bp, bp+8))
+		Xsqlite3ErrorMsg(tls, pParse, ts+23044, libc.VaList(bp, bp+8))
 	} else {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23285, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+23332, 0)
 	}
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
@@ -113376,7 +113435,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 			} else {
 				(*Token)(unsafe.Pointer(bp + 1248)).Fz = zSql
 				(*Token)(unsafe.Pointer(bp + 1248)).Fn = uint32(n)
-				Xsqlite3ErrorMsg(tls, pParse, ts+23302, libc.VaList(bp, bp+1248))
+				Xsqlite3ErrorMsg(tls, pParse, ts+23349, libc.VaList(bp, bp+1248))
 				break
 			}
 		}
@@ -113399,7 +113458,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 		if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) {
 			(*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+3656, libc.VaList(bp+8, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc)))
 		}
-		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23327, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
+		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23374, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
 		nErr++
 	}
 	(*Parse)(unsafe.Pointer(pParse)).FzTail = zSql
@@ -113572,7 +113631,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'C':
 						{
-							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23338, 6) == 0 {
+							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23385, 6) == 0 {
 								token = U8(TkCREATE)
 							} else {
 								token = U8(TkOTHER)
@@ -113585,11 +113644,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'T':
 						{
-							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19924, 7) == 0 {
+							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19971, 7) == 0 {
 								token = U8(TkTRIGGER)
-							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23345, 4) == 0 {
+							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23392, 4) == 0 {
 								token = U8(TkTEMP)
-							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23350, 9) == 0 {
+							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23397, 9) == 0 {
 								token = U8(TkTEMP)
 							} else {
 								token = U8(TkOTHER)
@@ -113602,9 +113661,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'E':
 						{
-							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23360, 3) == 0 {
+							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23407, 3) == 0 {
 								token = U8(TkEND)
-							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23364, 7) == 0 {
+							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23411, 7) == 0 {
 								token = U8(TkEXPLAIN)
 							} else {
 								token = U8(TkOTHER)
@@ -113838,7 +113897,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 {
 	var rc int32 = SQLITE_OK
 
 	if Xsqlite3Config.FisInit != 0 {
-		return Xsqlite3MisuseError(tls, 174337)
+		return Xsqlite3MisuseError(tls, 174426)
 	}
 
 	ap = va
@@ -114413,7 +114472,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 		return SQLITE_OK
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 175111)
+		return Xsqlite3MisuseError(tls, 175200)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 {
@@ -114428,7 +114487,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 
 	if !(forceZombie != 0) && connectionIsBusy(tls, db) != 0 {
 		Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-			ts+23372, 0)
+			ts+23419, 0)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		return SQLITE_BUSY
 	}
@@ -114619,23 +114678,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) {
 // Return a static string that describes the kind of error specified in the
 // argument.
 func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
-	var zErr uintptr = ts + 23440
+	var zErr uintptr = ts + 23487
 	switch rc {
 	case SQLITE_ABORT | int32(2)<<8:
 		{
-			zErr = ts + 23454
+			zErr = ts + 23501
 			break
 
 		}
 	case SQLITE_ROW:
 		{
-			zErr = ts + 23476
+			zErr = ts + 23523
 			break
 
 		}
 	case SQLITE_DONE:
 		{
-			zErr = ts + 23498
+			zErr = ts + 23545
 			break
 
 		}
@@ -114653,35 +114712,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
 }
 
 var aMsg = [29]uintptr{
-	ts + 23521,
-	ts + 23534,
+	ts + 23568,
+	ts + 23581,
 	uintptr(0),
-	ts + 23550,
-	ts + 23575,
-	ts + 23589,
-	ts + 23608,
+	ts + 23597,
+	ts + 23622,
+	ts + 23636,
+	ts + 23655,
 	ts + 1483,
-	ts + 23633,
-	ts + 23670,
-	ts + 23682,
-	ts + 23697,
-	ts + 23730,
-	ts + 23748,
-	ts + 23773,
-	ts + 23802,
+	ts + 23680,
+	ts + 23717,
+	ts + 23729,
+	ts + 23744,
+	ts + 23777,
+	ts + 23795,
+	ts + 23820,
+	ts + 23849,
 	uintptr(0),
 	ts + 5831,
 	ts + 5327,
-	ts + 23819,
-	ts + 23837,
-	ts + 23855,
+	ts + 23866,
+	ts + 23884,
+	ts + 23902,
 	uintptr(0),
-	ts + 23889,
-	uintptr(0),
-	ts + 23910,
 	ts + 23936,
-	ts + 23959,
-	ts + 23980,
+	uintptr(0),
+	ts + 23957,
+	ts + 23983,
+	ts + 24006,
+	ts + 24027,
 }
 
 func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 {
@@ -114802,7 +114861,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 		libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) ||
 		(nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) ||
 		255 < Xsqlite3Strlen30(tls, zFunctionName) {
-		return Xsqlite3MisuseError(tls, 175758)
+		return Xsqlite3MisuseError(tls, 175847)
 	}
 
 	extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS)
@@ -114847,7 +114906,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 	if p != 0 && (*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK) == U32(enc) && int32((*FuncDef)(unsafe.Pointer(p)).FnArg) == nArg {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+23996, 0)
+				ts+24043, 0)
 
 			return SQLITE_BUSY
 		} else {
@@ -114964,7 +115023,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs
 	_ = NotUsed
 	_ = NotUsed2
 	zErr = Xsqlite3_mprintf(tls,
-		ts+24059, libc.VaList(bp, zName))
+		ts+24106, libc.VaList(bp, zName))
 	Xsqlite3_result_error(tls, context, zErr, -1)
 	Xsqlite3_free(tls, zErr)
 }
@@ -115200,7 +115259,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
 	}
 	if iDb < 0 {
 		rc = SQLITE_ERROR
-		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24110, libc.VaList(bp, zDb))
+		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24157, libc.VaList(bp, zDb))
 	} else {
 		(*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0
 		rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt)
@@ -115293,7 +115352,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr {
 		return Xsqlite3ErrStr(tls, SQLITE_NOMEM)
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176503))
+		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176592))
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -115363,7 +115422,7 @@ var misuse = [34]U16{
 // passed to this function, we assume a malloc() failed during sqlite3_open().
 func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176582)
+		return Xsqlite3MisuseError(tls, 176671)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -115373,7 +115432,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 
 func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176591)
+		return Xsqlite3MisuseError(tls, 176680)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -115405,14 +115464,14 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint
 		enc2 = SQLITE_UTF16LE
 	}
 	if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE {
-		return Xsqlite3MisuseError(tls, 176639)
+		return Xsqlite3MisuseError(tls, 176728)
 	}
 
 	pColl = Xsqlite3FindCollSeq(tls, db, U8(enc2), zName, 0)
 	if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24131, 0)
+				ts+24178, 0)
 			return SQLITE_BUSY
 		}
 		Xsqlite3ExpirePreparedStatements(tls, db, 0)
@@ -115542,7 +115601,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u
 
 	if !((flags&uint32(SQLITE_OPEN_URI) != 0 ||
 		Xsqlite3Config.FbOpenUri != 0) &&
-		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24199, uint32(5)) == 0) {
+		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24246, uint32(5)) == 0) {
 		goto __1
 	}
 	iOut = 0
@@ -115587,10 +115646,10 @@ __8:
 	goto __8
 __9:
 	;
-	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24205, zUri+7, uint32(9)) != 0)) {
+	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24252, zUri+7, uint32(9)) != 0)) {
 		goto __10
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24215,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24262,
 		libc.VaList(bp, iIn-7, zUri+7))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
@@ -115695,7 +115754,7 @@ __27:
 	zVal = zOpt + uintptr(nOpt+1)
 	nVal = Xsqlite3Strlen30(tls, zVal)
 
-	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24243, zOpt, uint32(3)) == 0) {
+	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24290, zOpt, uint32(3)) == 0) {
 		goto __29
 	}
 	zVfs = zVal
@@ -115706,17 +115765,17 @@ __29:
 	mask = 0
 	limit = 0
 
-	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24247, zOpt, uint32(5)) == 0) {
+	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24294, zOpt, uint32(5)) == 0) {
 		goto __31
 	}
 
 	mask = SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE
 	aMode = uintptr(unsafe.Pointer(&aCacheMode))
 	limit = mask
-	zModeType = ts + 24247
+	zModeType = ts + 24294
 __31:
 	;
-	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24253, zOpt, uint32(4)) == 0) {
+	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24300, zOpt, uint32(4)) == 0) {
 		goto __32
 	}
 
@@ -115754,7 +115813,7 @@ __36:
 	if !(mode == 0) {
 		goto __38
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24258, libc.VaList(bp+16, zModeType, zVal))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24305, libc.VaList(bp+16, zModeType, zVal))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
 __38:
@@ -115762,7 +115821,7 @@ __38:
 	if !(mode&libc.CplInt32(SQLITE_OPEN_MEMORY) > limit) {
 		goto __39
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24278,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24325,
 		libc.VaList(bp+32, zModeType, zVal))
 	rc = SQLITE_PERM
 	goto parse_uri_out
@@ -115802,7 +115861,7 @@ __2:
 	if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) {
 		goto __42
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24302, libc.VaList(bp+48, zVfs))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24349, libc.VaList(bp+48, zVfs))
 	rc = SQLITE_ERROR
 __42:
 	;
@@ -115825,14 +115884,14 @@ type OpenMode = struct {
 }
 
 var aCacheMode = [3]OpenMode{
-	{Fz: ts + 24318, Fmode: SQLITE_OPEN_SHAREDCACHE},
-	{Fz: ts + 24325, Fmode: SQLITE_OPEN_PRIVATECACHE},
+	{Fz: ts + 24365, Fmode: SQLITE_OPEN_SHAREDCACHE},
+	{Fz: ts + 24372, Fmode: SQLITE_OPEN_PRIVATECACHE},
 	{},
 }
 var aOpenMode = [5]OpenMode{
-	{Fz: ts + 24333, Fmode: SQLITE_OPEN_READONLY},
-	{Fz: ts + 24336, Fmode: SQLITE_OPEN_READWRITE},
-	{Fz: ts + 24339, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
+	{Fz: ts + 24380, Fmode: SQLITE_OPEN_READONLY},
+	{Fz: ts + 24383, Fmode: SQLITE_OPEN_READWRITE},
+	{Fz: ts + 24386, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
 	{Fz: ts + 17355, Fmode: SQLITE_OPEN_MEMORY},
 	{},
 }
@@ -115979,10 +116038,10 @@ __12:
 	createCollation(tls, db, uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{binCollFunc})), uintptr(0))
-	createCollation(tls, db, ts+21856, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+21903, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{nocaseCollatingFunc})), uintptr(0))
-	createCollation(tls, db, ts+24343, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+24390, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{rtrimCollFunc})), uintptr(0))
 	if !((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) {
@@ -115996,7 +116055,7 @@ __15:
 	if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) {
 		goto __16
 	}
-	rc = Xsqlite3MisuseError(tls, 177308)
+	rc = Xsqlite3MisuseError(tls, 177397)
 	goto __17
 __16:
 	rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+12, bp+16)
@@ -116049,7 +116108,7 @@ __22:
 
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 6434
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).Fsafety_level = U8(SQLITE_DEFAULT_SYNCHRONOUS + 1)
-	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*16)).FzDbSName = ts + 23345
+	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*16)).FzDbSName = ts + 23392
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*16)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF)
 
 	(*Sqlite3)(unsafe.Pointer(db)).FeOpenState = U8(SQLITE_STATE_OPEN)
@@ -116154,7 +116213,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 {
 		return rc
 	}
 	if zFilename == uintptr(0) {
-		zFilename = ts + 24349
+		zFilename = ts + 24396
 	}
 	pVal = Xsqlite3ValueNew(tls, uintptr(0))
 	Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0))
@@ -116257,21 +116316,21 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr)
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	Xsqlite3_log(tls, iErr, ts+24352,
+	Xsqlite3_log(tls, iErr, ts+24399,
 		libc.VaList(bp, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls)))
 	return iErr
 }
 
 func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24377)
+	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24424)
 }
 
 func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24397)
+	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24444)
 }
 
 func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24404)
+	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24451)
 }
 
 // This is a convenience routine that makes sure that all thread-specific
@@ -116429,7 +116488,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24)))
-	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24421, libc.VaList(bp, zTableName,
+	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24468, libc.VaList(bp, zTableName,
 		zColumnName))
 	rc = SQLITE_ERROR
 __20:
@@ -117085,7 +117144,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 {
 
 	azCompileOpt = Xsqlite3CompileOptions(tls, bp)
 
-	if Xsqlite3_strnicmp(tls, zOptName, ts+24449, 7) == 0 {
+	if Xsqlite3_strnicmp(tls, zOptName, ts+24496, 7) == 0 {
 		zOptName += uintptr(7)
 	}
 	n = Xsqlite3Strlen30(tls, zOptName)
@@ -117203,7 +117262,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin
 
 	Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr {
 		if rc != 0 {
-			return ts + 24457
+			return ts + 24504
 		}
 		return uintptr(0)
 	}(), 0)
@@ -117380,7 +117439,7 @@ type JsonParse1 = struct {
 type JsonParse = JsonParse1
 
 var jsonType = [8]uintptr{
-	ts + 6174, ts + 6757, ts + 6762, ts + 6184, ts + 6179, ts + 7998, ts + 24480, ts + 24486,
+	ts + 6174, ts + 7687, ts + 7692, ts + 6184, ts + 6179, ts + 7998, ts + 24527, ts + 24533,
 }
 
 func jsonZero(tls *libc.TLS, p uintptr) {
@@ -117533,7 +117592,7 @@ __10:
 	*(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('0')
 	*(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('0')
 	*(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('0' + int32(c)>>4)
-	c = *(*uint8)(unsafe.Pointer(ts + 24493 + uintptr(int32(c)&0xf)))
+	c = *(*uint8)(unsafe.Pointer(ts + 24540 + uintptr(int32(c)&0xf)))
 __8:
 	;
 __6:
@@ -117588,7 +117647,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) {
 	default:
 		{
 			if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 {
-				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24510, -1)
+				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24557, -1)
 				(*JsonString)(unsafe.Pointer(p)).FbErr = U8(2)
 				jsonReset(tls, p)
 			}
@@ -117652,13 +117711,13 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr
 		}
 	case JSON_TRUE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6757, uint32(4))
+			jsonAppendRaw(tls, pOut, ts+7687, uint32(4))
 			break
 
 		}
 	case JSON_FALSE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6762, uint32(5))
+			jsonAppendRaw(tls, pOut, ts+7692, uint32(5))
 			break
 
 		}
@@ -118208,12 +118267,12 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 't' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6757, uint32(4)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7687, uint32(4)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+U32(4))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_TRUE), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 'f' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6762, uint32(5)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7692, uint32(5)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+U32(5))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_FALSE), uint32(0), uintptr(0))
 		return int32(i + U32(5))
@@ -118314,7 +118373,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32
 			if (*JsonParse)(unsafe.Pointer(pParse)).Foom != 0 {
 				Xsqlite3_result_error_nomem(tls, pCtx)
 			} else {
-				Xsqlite3_result_error(tls, pCtx, ts+24539, -1)
+				Xsqlite3_result_error(tls, pCtx, ts+24586, -1)
 			}
 		}
 		jsonParseReset(tls, pParse)
@@ -118620,7 +118679,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt
 	}
 	if int32(*(*uint8)(unsafe.Pointer(zPath))) == '.' {
 		jsonParseAddNode(tls, pParse, uint32(JSON_OBJECT), uint32(0), uintptr(0))
-	} else if libc.Xstrncmp(tls, zPath, ts+24554, uint32(3)) == 0 {
+	} else if libc.Xstrncmp(tls, zPath, ts+24601, uint32(3)) == 0 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0))
 	} else {
 		return uintptr(0)
@@ -118635,7 +118694,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	return Xsqlite3_mprintf(tls, ts+24558, libc.VaList(bp, zErr))
+	return Xsqlite3_mprintf(tls, ts+24605, libc.VaList(bp, zErr))
 }
 
 func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr {
@@ -118689,7 +118748,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24584,
+	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24631,
 		libc.VaList(bp, zFuncName))
 	Xsqlite3_result_error(tls, pCtx, zMsg, -1)
 	Xsqlite3_free(tls, zMsg)
@@ -118794,11 +118853,11 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 			if int32(*(*uint8)(unsafe.Pointer(zPath))) != '$' {
 				jsonInit(tls, bp, ctx)
 				if int32(Xsqlite3CtypeMap[*(*uint8)(unsafe.Pointer(zPath))])&0x04 != 0 {
-					jsonAppendRaw(tls, bp, ts+24627, uint32(2))
+					jsonAppendRaw(tls, bp, ts+24674, uint32(2))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendRaw(tls, bp, ts+4991, uint32(2))
 				} else {
-					jsonAppendRaw(tls, bp, ts+24630, uint32(1+libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zPath))) != '[')))
+					jsonAppendRaw(tls, bp, ts+24677, uint32(1+libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zPath))) != '[')))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendChar(tls, bp, uint8(0))
 				}
@@ -118955,14 +119014,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 
 	if argc&1 != 0 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+24633, -1)
+			ts+24680, -1)
 		return
 	}
 	jsonInit(tls, bp, ctx)
 	jsonAppendChar(tls, bp, uint8('{'))
 	for i = 0; i < argc; i = i + 2 {
 		if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) != SQLITE_TEXT {
-			Xsqlite3_result_error(tls, ctx, ts+24684, -1)
+			Xsqlite3_result_error(tls, ctx, ts+24731, -1)
 			jsonReset(tls, bp)
 			return
 		}
@@ -119132,9 +119191,9 @@ __1:
 	}
 	jsonWrongNumArgs(tls, ctx, func() uintptr {
 		if bIsSet != 0 {
-			return ts + 24718
+			return ts + 24765
 		}
-		return ts + 24722
+		return ts + 24769
 	}())
 	return
 __2:
@@ -119267,7 +119326,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24729, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24776, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -119364,7 +119423,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24732, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24779, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -119408,7 +119467,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u
 	_ = argc
 	_ = pAux
 	rc = Xsqlite3_declare_vtab(tls, db,
-		ts+24735)
+		ts+24782)
 	if rc == SQLITE_OK {
 		pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{}))))
 		if pNew == uintptr(0) {
@@ -119539,7 +119598,7 @@ func jsonAppendObjectPathElement(tls *libc.TLS, pStr uintptr, pNode uintptr) {
 			nn = nn - 2
 		}
 	}
-	jsonPrintf(tls, nn+2, pStr, ts+24818, libc.VaList(bp, nn, z))
+	jsonPrintf(tls, nn+2, pStr, ts+24865, libc.VaList(bp, nn, z))
 }
 
 func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
@@ -119558,7 +119617,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
 	pNode = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(i)*12
 	pUp = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(iUp)*12
 	if int32((*JsonNode)(unsafe.Pointer(pUp)).FeType) == JSON_ARRAY {
-		jsonPrintf(tls, 30, pStr, ts+24824, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
+		jsonPrintf(tls, 30, pStr, ts+24871, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
 	} else {
 		if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_LABEL == 0 {
 			pNode -= 12
@@ -119654,7 +119713,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 					jsonAppendChar(tls, bp+8, uint8('$'))
 				}
 				if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY {
-					jsonPrintf(tls, 30, bp+8, ts+24824, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
+					jsonPrintf(tls, 30, bp+8, ts+24871, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
 				} else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT {
 					jsonAppendObjectPathElement(tls, bp+8, pThis)
 				}
@@ -119678,7 +119737,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 		{
 			var zRoot uintptr = (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot
 			if zRoot == uintptr(0) {
-				zRoot = ts + 24829
+				zRoot = ts + 24876
 			}
 			Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0))
 			break
@@ -119800,7 +119859,7 @@ func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, ar
 		var rc int32 = SQLITE_NOMEM
 		if int32((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.Foom) == 0 {
 			Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg)
-			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24539, 0)
+			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24586, 0)
 			if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 {
 				rc = SQLITE_ERROR
 			}
@@ -119895,25 +119954,25 @@ func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) {
 }
 
 var aJsonFunc = [19]FuncDef{
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24831},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24836},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24847},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24847},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24865},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_JSON), FxSFunc: 0, FzName: ts + 24878},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_SQL), FxSFunc: 0, FzName: ts + 24881},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24885},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24897},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24909},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24920},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24931},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24943},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_ISSET), FxSFunc: 0, FzName: ts + 24956},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24965},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24965},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24975},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24986},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25003}}
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24878},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24883},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24894},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24894},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24912},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_JSON), FxSFunc: 0, FzName: ts + 24925},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_SQL), FxSFunc: 0, FzName: ts + 24928},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24932},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24944},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24956},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24967},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24978},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24990},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_ISSET), FxSFunc: 0, FzName: ts + 25003},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25012},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25012},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25022},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25033},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25050}}
 
 // Register the JSON table-valued functions
 func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 {
@@ -119932,8 +119991,8 @@ var aMod = [2]struct {
 	FzName   uintptr
 	FpModule uintptr
 }{
-	{FzName: ts + 25021, FpModule: 0},
-	{FzName: ts + 25031, FpModule: 0},
+	{FzName: ts + 25068, FpModule: 0},
+	{FzName: ts + 25078, FpModule: 0},
 }
 
 type Rtree1 = struct {
@@ -120190,11 +120249,11 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo
 		}
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) {
-		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25041, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25088, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		if zTab == uintptr(0) {
 			return SQLITE_NOMEM
 		}
-		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25049, iNode, 0,
+		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25096, iNode, 0,
 			pRtree+76)
 		Xsqlite3_free(tls, zTab)
 	}
@@ -120405,7 +120464,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32
 	var zCreate uintptr = Xsqlite3_mprintf(tls,
-		ts+25054,
+		ts+25101,
 		libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
@@ -121108,7 +121167,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 {
 	var pSrc uintptr
 	var pInfo uintptr
 
-	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25136)
+	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25183)
 	if pSrc == uintptr(0) {
 		return SQLITE_ERROR
 	}
@@ -122449,7 +122508,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+25150, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+	zSql = Xsqlite3_mprintf(tls, ts+25197, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 	if zSql != 0 {
 		rc = Xsqlite3_prepare_v2(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -1, bp+56, uintptr(0))
 	} else {
@@ -122461,12 +122520,12 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 		if iCol == 0 {
 			var zCol uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 0)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25170, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
+				ts+25217, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
 		} else {
 			var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol)
 			var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol+1)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25202, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
+				ts+25249, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
 		}
 	}
 
@@ -122692,7 +122751,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32 = SQLITE_NOMEM
 	var zSql uintptr = Xsqlite3_mprintf(tls,
-		ts+25239, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
+		ts+25286, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
 	if zSql != 0 {
 		nodeBlobReset(tls, pRtree)
 		rc = Xsqlite3_exec(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0))
@@ -122715,7 +122774,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 {
 	bp := tls.Alloc(20)
 	defer tls.Free(20)
 
-	var zFmt uintptr = ts + 25384
+	var zFmt uintptr = ts + 25431
 	var zSql uintptr
 
 	var rc int32
@@ -122763,7 +122822,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName1 = [3]uintptr{
-	ts + 25440, ts + 5053, ts + 16260,
+	ts + 25487, ts + 5053, ts + 16260,
 }
 
 var rtreeModule = Sqlite3_module{
@@ -122806,19 +122865,19 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		var p uintptr = Xsqlite3_str_new(tls, db)
 		var ii int32
 		Xsqlite3_str_appendf(tls, p,
-			ts+25445,
+			ts+25492,
 			libc.VaList(bp, zDb, zPrefix))
 		for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
-			Xsqlite3_str_appendf(tls, p, ts+25507, libc.VaList(bp+16, ii))
+			Xsqlite3_str_appendf(tls, p, ts+25554, libc.VaList(bp+16, ii))
 		}
 		Xsqlite3_str_appendf(tls, p,
-			ts+25512,
+			ts+25559,
 			libc.VaList(bp+24, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25576,
+			ts+25623,
 			libc.VaList(bp+40, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25646,
+			ts+25693,
 			libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))
 		zCreate = Xsqlite3_str_finish(tls, p)
 		if !(zCreate != 0) {
@@ -122847,7 +122906,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		if i != 3 || int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) == 0 {
 			zFormat = azSql[i]
 		} else {
-			zFormat = ts + 25695
+			zFormat = ts + 25742
 		}
 		zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix))
 		if zSql != 0 {
@@ -122859,7 +122918,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FnAux != 0 {
 		(*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls,
-			ts+25803,
+			ts+25850,
 			libc.VaList(bp+96, zDb, zPrefix))
 		if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -122867,18 +122926,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 			var p uintptr = Xsqlite3_str_new(tls, db)
 			var ii int32
 			var zSql uintptr
-			Xsqlite3_str_appendf(tls, p, ts+25848, libc.VaList(bp+112, zDb, zPrefix))
+			Xsqlite3_str_appendf(tls, p, ts+25895, libc.VaList(bp+112, zDb, zPrefix))
 			for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
 				if ii != 0 {
 					Xsqlite3_str_append(tls, p, ts+12760, 1)
 				}
 				if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) {
-					Xsqlite3_str_appendf(tls, p, ts+25875, libc.VaList(bp+128, ii, ii+2, ii))
+					Xsqlite3_str_appendf(tls, p, ts+25922, libc.VaList(bp+128, ii, ii+2, ii))
 				} else {
-					Xsqlite3_str_appendf(tls, p, ts+25897, libc.VaList(bp+152, ii, ii+2))
+					Xsqlite3_str_appendf(tls, p, ts+25944, libc.VaList(bp+152, ii, ii+2))
 				}
 			}
-			Xsqlite3_str_appendf(tls, p, ts+25905, 0)
+			Xsqlite3_str_appendf(tls, p, ts+25952, 0)
 			zSql = Xsqlite3_str_finish(tls, p)
 			if zSql == uintptr(0) {
 				rc = SQLITE_NOMEM
@@ -122893,14 +122952,14 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 }
 
 var azSql = [8]uintptr{
-	ts + 25921,
-	ts + 25974,
-	ts + 26019,
-	ts + 26071,
-	ts + 26125,
-	ts + 26170,
-	ts + 26228,
-	ts + 26283,
+	ts + 25968,
+	ts + 26021,
+	ts + 26066,
+	ts + 26118,
+	ts + 26172,
+	ts + 26217,
+	ts + 26275,
+	ts + 26330,
 }
 
 func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 {
@@ -122929,7 +122988,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 	var zSql uintptr
 	if isCreate != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = 0
-		zSql = Xsqlite3_mprintf(tls, ts+26330, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
+		zSql = Xsqlite3_mprintf(tls, ts+26377, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
 		rc = getIntFromStmt(tls, db, zSql, bp+48)
 		if rc == SQLITE_OK {
 			(*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp + 48)) - 64
@@ -122941,7 +123000,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		}
 	} else {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+26350,
+			ts+26397,
 			libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		rc = getIntFromStmt(tls, db, zSql, pRtree+16)
 		if rc != SQLITE_OK {
@@ -122949,7 +123008,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		} else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < 512-64 {
 			rc = SQLITE_CORRUPT | int32(1)<<8
 
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26407,
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26454,
 				libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		}
 	}
@@ -122991,10 +123050,10 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr
 	ii = 4
 	*(*[5]uintptr)(unsafe.Pointer(bp + 96)) = [5]uintptr{
 		uintptr(0),
-		ts + 26442,
-		ts + 26485,
-		ts + 26520,
-		ts + 26556,
+		ts + 26489,
+		ts + 26532,
+		ts + 26567,
+		ts + 26603,
 	}
 
 	if !(argc < 6 || argc > RTREE_MAX_AUX_COLUMN+3) {
@@ -123025,7 +123084,7 @@ __2:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*4)), uint32(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+26593,
+	Xsqlite3_str_appendf(tls, pSql, ts+26640,
 		libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4))), *(*uintptr)(unsafe.Pointer(argv + 3*4))))
 	ii = 4
 __3:
@@ -123037,7 +123096,7 @@ __3:
 		goto __6
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+26617, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
+	Xsqlite3_str_appendf(tls, pSql, ts+26664, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
 	goto __7
 __6:
 	if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) {
@@ -123060,7 +123119,7 @@ __4:
 	goto __5
 __5:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26623, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26670, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __10
@@ -123156,7 +123215,7 @@ __25:
 	return rc
 }
 
-var azFormat = [2]uintptr{ts + 26626, ts + 26637}
+var azFormat = [2]uintptr{ts + 26673, ts + 26684}
 
 func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	bp := tls.Alloc(600)
@@ -123196,11 +123255,11 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 		if ii > 0 {
 			Xsqlite3_str_append(tls, pOut, ts+10913, 1)
 		}
-		Xsqlite3_str_appendf(tls, pOut, ts+26647, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+552)).FiRowid))
+		Xsqlite3_str_appendf(tls, pOut, ts+26694, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+552)).FiRowid))
 		for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+48)).FnDim2); jj++ {
-			Xsqlite3_str_appendf(tls, pOut, ts+26653, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 552 + 8 + uintptr(jj)*4)))))
+			Xsqlite3_str_appendf(tls, pOut, ts+26700, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 552 + 8 + uintptr(jj)*4)))))
 		}
-		Xsqlite3_str_append(tls, pOut, ts+26657, 1)
+		Xsqlite3_str_append(tls, pOut, ts+26704, 1)
 	}
 	errCode = Xsqlite3_str_errcode(tls, pOut)
 	Xsqlite3_result_text(tls, ctx, Xsqlite3_str_finish(tls, pOut), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
@@ -123211,7 +123270,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	_ = nArg
 	if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB ||
 		Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 {
-		Xsqlite3_result_error(tls, ctx, ts+26659, -1)
+		Xsqlite3_result_error(tls, ctx, ts+26706, -1)
 	} else {
 		var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 		if zBlob != 0 {
@@ -123287,7 +123346,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr
 		if z == uintptr(0) {
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM
 		} else {
-			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26692,
+			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26739,
 				libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr {
 					if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 {
 						return ts + 4055
@@ -123311,7 +123370,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) {
 		(*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = rtreeCheckPrepare(tls, pCheck,
-			ts+26699,
+			ts+26746,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab))
 	}
 
@@ -123330,7 +123389,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 		}
 		rtreeCheckReset(tls, pCheck, (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode)
 		if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) {
-			rtreeCheckAppendMsg(tls, pCheck, ts+26744, libc.VaList(bp+16, iNode))
+			rtreeCheckAppendMsg(tls, pCheck, ts+26791, libc.VaList(bp+16, iNode))
 		}
 	}
 
@@ -123344,8 +123403,8 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	var rc int32
 	var pStmt uintptr
 	*(*[2]uintptr)(unsafe.Pointer(bp + 80)) = [2]uintptr{
-		ts + 26776,
-		ts + 26830,
+		ts + 26823,
+		ts + 26877,
 	}
 
 	if *(*uintptr)(unsafe.Pointer(pCheck + 24 + uintptr(bLeaf)*4)) == uintptr(0) {
@@ -123360,23 +123419,23 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	Xsqlite3_bind_int64(tls, pStmt, 1, iKey)
 	rc = Xsqlite3_step(tls, pStmt)
 	if rc == SQLITE_DONE {
-		rtreeCheckAppendMsg(tls, pCheck, ts+26878,
+		rtreeCheckAppendMsg(tls, pCheck, ts+26925,
 			libc.VaList(bp+16, iKey, iVal, func() uintptr {
 				if bLeaf != 0 {
-					return ts + 26923
+					return ts + 26970
 				}
-				return ts + 26931
+				return ts + 26978
 			}()))
 	} else if rc == SQLITE_ROW {
 		var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0)
 		if ii != iVal {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+26940,
+				ts+26987,
 				libc.VaList(bp+40, iKey, ii, func() uintptr {
 					if bLeaf != 0 {
-						return ts + 26923
+						return ts + 26970
 					}
-					return ts + 26931
+					return ts + 26978
 				}(), iKey, iVal))
 		}
 	}
@@ -123400,7 +123459,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 			return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48)) > *(*RtreeValue)(unsafe.Pointer(bp + 52)))
 		}() != 0 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+26998, libc.VaList(bp, i, iCell, iNode))
+				ts+27045, libc.VaList(bp, i, iCell, iNode))
 		}
 
 		if pParent != 0 {
@@ -123420,7 +123479,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 					return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52)) > *(*RtreeValue)(unsafe.Pointer(bp + 60)))
 				}() != 0 {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27046, libc.VaList(bp+24, i, iCell, iNode))
+					ts+27093, libc.VaList(bp+24, i, iCell, iNode))
 			}
 		}
 	}
@@ -123437,14 +123496,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 	if aNode != 0 {
 		if *(*int32)(unsafe.Pointer(bp + 48)) < 4 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27113, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
+				ts+27160, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
 		} else {
 			var nCell int32
 			var i int32
 			if aParent == uintptr(0) {
 				iDepth = readInt16(tls, aNode)
 				if iDepth > RTREE_MAX_DEPTH {
-					rtreeCheckAppendMsg(tls, pCheck, ts+27147, libc.VaList(bp+16, iDepth))
+					rtreeCheckAppendMsg(tls, pCheck, ts+27194, libc.VaList(bp+16, iDepth))
 					Xsqlite3_free(tls, aNode)
 					return
 				}
@@ -123452,7 +123511,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 			nCell = readInt16(tls, aNode+2)
 			if 4+nCell*(8+(*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim*2*4) > *(*int32)(unsafe.Pointer(bp + 48)) {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27177,
+					ts+27224,
 					libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48))))
 			} else {
 				for i = 0; i < nCell; i++ {
@@ -123481,14 +123540,14 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) {
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK {
 		var pCount uintptr
-		pCount = rtreeCheckPrepare(tls, pCheck, ts+27232,
+		pCount = rtreeCheckPrepare(tls, pCheck, ts+27279,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl))
 		if pCount != 0 {
 			if Xsqlite3_step(tls, pCount) == SQLITE_ROW {
 				var nActual I64 = Xsqlite3_column_int64(tls, pCount, 0)
 				if nActual != nExpect {
 					rtreeCheckAppendMsg(tls, pCheck,
-						ts+27263, libc.VaList(bp+24, zTbl, nExpect, nActual))
+						ts+27310, libc.VaList(bp+24, zTbl, nExpect, nActual))
 				}
 			}
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount)
@@ -123515,7 +123574,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	}
 
 	if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
-		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27330, libc.VaList(bp, zDb, zTab))
+		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27377, libc.VaList(bp, zDb, zTab))
 		if pStmt != 0 {
 			nAux = Xsqlite3_column_count(tls, pStmt) - 2
 			Xsqlite3_finalize(tls, pStmt)
@@ -123524,12 +123583,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		}
 	}
 
-	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25150, libc.VaList(bp+16, zDb, zTab))
+	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25197, libc.VaList(bp+16, zDb, zTab))
 	if pStmt != 0 {
 		var rc int32
 		(*RtreeCheck)(unsafe.Pointer(bp + 32)).FnDim = (Xsqlite3_column_count(tls, pStmt) - 1 - nAux) / 2
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).FnDim < 1 {
-			rtreeCheckAppendMsg(tls, bp+32, ts+27358, 0)
+			rtreeCheckAppendMsg(tls, bp+32, ts+27405, 0)
 		} else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).FbInt = libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)
 		}
@@ -123543,8 +123602,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			rtreeCheckNode(tls, bp+32, 0, uintptr(0), int64(1))
 		}
-		rtreeCheckCount(tls, bp+32, ts+27389, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
-		rtreeCheckCount(tls, bp+32, ts+27396, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27436, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27443, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
 	}
 
 	Xsqlite3_finalize(tls, (*RtreeCheck)(unsafe.Pointer(bp+32)).FpGetNode)
@@ -123552,7 +123611,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 + 24 + 1*4)))
 
 	if bEnd != 0 {
-		var rc int32 = Xsqlite3_exec(tls, db, ts+27404, uintptr(0), uintptr(0), uintptr(0))
+		var rc int32 = Xsqlite3_exec(tls, db, ts+27451, uintptr(0), uintptr(0), uintptr(0))
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).Frc = rc
 		}
@@ -123567,7 +123626,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 
 	if nArg != 1 && nArg != 2 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+27408, -1)
+			ts+27455, -1)
 	} else {
 		var rc int32
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
@@ -123585,7 +123644,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 				if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
 					return *(*uintptr)(unsafe.Pointer(bp))
 				}
-				return ts + 18005
+				return ts + 18052
 			}(), -1, libc.UintptrFromInt32(-1))
 		} else {
 			Xsqlite3_result_error_code(tls, ctx, rc)
@@ -123955,11 +124014,11 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var db uintptr = Xsqlite3_context_db_handle(tls, context)
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
-		Xsqlite3_str_append(tls, x, ts+27459, 1)
+		Xsqlite3_str_append(tls, x, ts+27506, 1)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27461, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27508, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27472, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27519, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -123979,19 +124038,19 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
 		var cSep uint8 = uint8('\'')
-		Xsqlite3_str_appendf(tls, x, ts+27483, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27530, 0)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27501, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27548, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 			cSep = uint8(' ')
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27509, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27556, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		for i = 1; i < argc; i++ {
 			var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))
 			if z != 0 && *(*uint8)(unsafe.Pointer(z)) != 0 {
-				Xsqlite3_str_appendf(tls, x, ts+27517, libc.VaList(bp+40, z))
+				Xsqlite3_str_appendf(tls, x, ts+27564, libc.VaList(bp+40, z))
 			}
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27521, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27568, 0)
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -124910,7 +124969,7 @@ __1:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*4)), uint32(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+27534, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+27581, 0)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1)
 	ii = 3
@@ -124919,7 +124978,7 @@ __2:
 		goto __4
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+27556, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4))))
+	Xsqlite3_str_appendf(tls, pSql, ts+27603, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4))))
 	goto __3
 __3:
 	ii++
@@ -124927,7 +124986,7 @@ __3:
 	goto __4
 __4:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26623, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26670, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __5
@@ -125164,7 +125223,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 	}
 	if iFuncTerm >= 0 {
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum
-		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27560
+		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27607
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).FargvIndex = 1
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).Fomit = uint8(0)
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 300.0
@@ -125172,7 +125231,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 		return SQLITE_OK
 	}
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4
-	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27566
+	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27613
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000)
 	return SQLITE_OK
@@ -125284,7 +125343,7 @@ __1:
 	if !(*(*int32)(unsafe.Pointer(bp + 48)) == SQLITE_ERROR) {
 		goto __4
 	}
-	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27575, 0)
+	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27622, 0)
 __4:
 	;
 	goto geopoly_update_end
@@ -125416,14 +125475,14 @@ geopoly_update_end:
 func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 {
 	_ = pVtab
 	_ = nArg
-	if Xsqlite3_stricmp(tls, zName, ts+27615) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27662) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyOverlapFunc}))
 		*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
 		return SQLITE_INDEX_CONSTRAINT_FUNCTION
 	}
-	if Xsqlite3_stricmp(tls, zName, ts+27631) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27678) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyWithinFunc}))
@@ -125488,7 +125547,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 {
 			uintptr(0), aAgg[i].FxStep, aAgg[i].FxFinal)
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27646, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27693, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
 	}
 	return rc
 }
@@ -125500,25 +125559,25 @@ var aFunc = [12]struct {
 	F__ccgo_pad1 [2]byte
 	FzName       uintptr
 }{
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27654},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27667},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27680},
-	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27693},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27631},
-	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27705},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27615},
-	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27728},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27742},
-	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27755},
-	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27769},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27785},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27701},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27714},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27727},
+	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27740},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27678},
+	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27752},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27662},
+	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27775},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27789},
+	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27802},
+	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27816},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27832},
 }
 var aAgg = [1]struct {
 	FxStep  uintptr
 	FxFinal uintptr
 	FzName  uintptr
 }{
-	{FxStep: 0, FxFinal: 0, FzName: ts + 27797},
+	{FxStep: 0, FxFinal: 0, FzName: ts + 27844},
 }
 
 // Register the r-tree module with database handle db. This creates the
@@ -125528,26 +125587,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 {
 	var utf8 int32 = SQLITE_UTF8
 	var rc int32
 
-	rc = Xsqlite3_create_function(tls, db, ts+27816, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	rc = Xsqlite3_create_function(tls, db, ts+27863, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr)
 	}{rtreenode})), uintptr(0), uintptr(0))
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27826, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27873, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreedepth})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27837, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27884, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreecheck})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_REAL32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27560, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27607, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_INT32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27848, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27895, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		rc = sqlite3_geopoly_init(tls, db)
@@ -125601,7 +125660,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
 			Xsqlite3_result_error_nomem(tls, ctx)
 			rtreeMatchArgFree(tls, pBlob)
 		} else {
-			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25136, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
+			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25183, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
 		}
 	}
 }
@@ -125919,7 +125978,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 
 	nOut = rbuDeltaOutputSize(tls, aDelta, nDelta)
 	if nOut < 0 {
-		Xsqlite3_result_error(tls, context, ts+27858, -1)
+		Xsqlite3_result_error(tls, context, ts+27905, -1)
 		return
 	}
 
@@ -125930,7 +125989,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 		nOut2 = rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut)
 		if nOut2 != nOut {
 			Xsqlite3_free(tls, aOut)
-			Xsqlite3_result_error(tls, context, ts+27858, -1)
+			Xsqlite3_result_error(tls, context, ts+27905, -1)
 		} else {
 			Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		}
@@ -126031,7 +126090,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuObjIterClearStatements(tls, pIter)
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) {
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+27879, uintptr(0), uintptr(0), p+36)
+				ts+27926, uintptr(0), uintptr(0), p+36)
 		}
 
 		if rc == SQLITE_OK {
@@ -126095,7 +126154,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) {
 				Xsqlite3_result_text(tls, pCtx, zIn, -1, uintptr(0))
 			}
 		} else {
-			if libc.Xstrlen(tls, zIn) > Size_t(4) && libc.Xmemcmp(tls, ts+25049, zIn, uint32(4)) == 0 {
+			if libc.Xstrlen(tls, zIn) > Size_t(4) && libc.Xmemcmp(tls, ts+25096, zIn, uint32(4)) == 0 {
 				var i int32
 				for i = 4; int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) >= '0' && int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) <= '9'; i++ {
 				}
@@ -126116,16 +126175,16 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 
 	rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+36,
 		Xsqlite3_mprintf(tls,
-			ts+28050, libc.VaList(bp, func() uintptr {
+			ts+28097, libc.VaList(bp, func() uintptr {
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					return ts + 28200
+					return ts + 28247
 				}
 				return ts + 1547
 			}())))
 
 	if rc == SQLITE_OK {
 		rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+4, p+36,
-			ts+28241)
+			ts+28288)
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1
@@ -126241,7 +126300,7 @@ func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32, p+36,
 		Xsqlite3_mprintf(tls,
-			ts+28366, libc.VaList(bp, zTab)))
+			ts+28413, libc.VaList(bp, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) != SQLITE_ROW) {
 		goto __1
 	}
@@ -126259,7 +126318,7 @@ __2:
 	*(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), 1)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+1*4, p+36,
-		Xsqlite3_mprintf(tls, ts+28485, libc.VaList(bp+8, zTab)))
+		Xsqlite3_mprintf(tls, ts+28532, libc.VaList(bp+8, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) {
 		goto __3
 	}
@@ -126277,7 +126336,7 @@ __4:
 	}
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+2*4, p+36,
 		Xsqlite3_mprintf(tls,
-			ts+28506, libc.VaList(bp+16, zIdx)))
+			ts+28553, libc.VaList(bp+16, zIdx)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __7
 	}
@@ -126300,7 +126359,7 @@ __6:
 __5:
 	;
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+3*4, p+36,
-		Xsqlite3_mprintf(tls, ts+28557, libc.VaList(bp+24, zTab)))
+		Xsqlite3_mprintf(tls, ts+28604, libc.VaList(bp+24, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __10
 	}
@@ -126346,7 +126405,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		libc.Xmemcpy(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint32(unsafe.Sizeof(U8(0)))*uint32((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+16, p+36,
-			Xsqlite3_mprintf(tls, ts+28578, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28625, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0
@@ -126361,7 +126420,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 			libc.Xmemset(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0x01, uint32(unsafe.Sizeof(U8(0)))*uint32((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		}
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+20, p+36,
-			Xsqlite3_mprintf(tls, ts+28606, libc.VaList(bp+8, zIdx)))
+			Xsqlite3_mprintf(tls, ts+28653, libc.VaList(bp+8, zIdx)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 20))) {
 			var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 20)), 1)
 			if iCid >= 0 {
@@ -126401,7 +126460,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+36, bp+56, pIter+60)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19482, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19529, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
 			return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc
@@ -126411,18 +126470,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		}
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+60, p+36,
-			Xsqlite3_mprintf(tls, ts+28635, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
+			Xsqlite3_mprintf(tls, ts+28682, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 60)))
 			rbuAllocateIterArrays(tls, p, pIter, nCol)
 		}
 		for i = 0; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && i < nCol; i++ {
 			var zName uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 60)), i)
-			if Xsqlite3_strnicmp(tls, ts+28654, zName, 4) != 0 {
+			if Xsqlite3_strnicmp(tls, ts+28701, zName, 4) != 0 {
 				var zCopy uintptr = rbuStrndup(tls, zName, p+32)
 				*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol
 				*(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(libc.PostIncInt32(&(*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol, 1))*4)) = zCopy
-			} else if 0 == Xsqlite3_stricmp(tls, ts+28659, zName) {
+			} else if 0 == Xsqlite3_stricmp(tls, ts+28706, zName) {
 				bRbuRowid = 1
 			}
 		}
@@ -126434,18 +126493,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			bRbuRowid != libc.Bool32((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls,
-				ts+28669, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
+				ts+28716, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 					func() uintptr {
 						if bRbuRowid != 0 {
-							return ts + 28698
+							return ts + 28745
 						}
-						return ts + 28711
+						return ts + 28758
 					}()))
 		}
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+60, p+36,
-				Xsqlite3_mprintf(tls, ts+28720, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				Xsqlite3_mprintf(tls, ts+28767, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		}
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 60))) {
 			var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 60)), 1)
@@ -126459,7 +126518,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			}
 			if i == (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28742,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28789,
 					libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName))
 			} else {
 				var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 60)), 5)
@@ -126506,7 +126565,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var i int32
 	for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 		var z uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
-		zList = rbuMPrintf(tls, p, ts+28769, libc.VaList(bp, zList, zSep, z))
+		zList = rbuMPrintf(tls, p, ts+28816, libc.VaList(bp, zList, zSep, z))
 		zSep = ts + 14607
 	}
 	return zList
@@ -126524,7 +126583,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr,
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if int32(*(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
-				zRet = rbuMPrintf(tls, p, ts+28778, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
+				zRet = rbuMPrintf(tls, p, ts+28825, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
 				zSep = zSeparator
 				break
 			}
@@ -126546,25 +126605,25 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32,
 	if bRowid != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+36,
 			Xsqlite3_mprintf(tls,
-				ts+28791, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				ts+28838, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 			var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-			zRet = rbuMPrintf(tls, p, ts+28823, libc.VaList(bp+16, iMax))
+			zRet = rbuMPrintf(tls, p, ts+28870, libc.VaList(bp+16, iMax))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 	} else {
-		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+14607, ts+28846)
-		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28852, ts+28859, ts+4950)
+		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+14607, ts+28893)
+		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28899, ts+28906, ts+4950)
 		var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+14607, ts+1547)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+36,
 				Xsqlite3_mprintf(tls,
-					ts+28867,
+					ts+28914,
 					libc.VaList(bp+24, zSelect, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 				var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-				zRet = rbuMPrintf(tls, p, ts+28909, libc.VaList(bp+56, zList, zVal))
+				zRet = rbuMPrintf(tls, p, ts+28956, libc.VaList(bp+56, zList, zVal))
 			}
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 		}
@@ -126606,7 +126665,7 @@ func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	*(*uintptr)(unsafe.Pointer(bp + 176)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+36,
-		Xsqlite3_mprintf(tls, ts+28606, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+		Xsqlite3_mprintf(tls, ts+28653, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 __1:
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176)))) {
 		goto __2
@@ -126641,7 +126700,7 @@ __10:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
 	goto __7
 __6:
-	zCol = ts + 28929
+	zCol = ts + 28976
 __7:
 	;
 	goto __5
@@ -126649,11 +126708,11 @@ __4:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*4))
 __5:
 	;
-	zLhs = rbuMPrintf(tls, p, ts+28937,
+	zLhs = rbuMPrintf(tls, p, ts+28984,
 		libc.VaList(bp+8, zLhs, zSep, zCol, zCollate))
-	zOrder = rbuMPrintf(tls, p, ts+28958,
+	zOrder = rbuMPrintf(tls, p, ts+29005,
 		libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate))
-	zSelect = rbuMPrintf(tls, p, ts+28994,
+	zSelect = rbuMPrintf(tls, p, ts+29041,
 		libc.VaList(bp+80, zSelect, zSep, iCol, zCol))
 	zSep = ts + 14607
 	iCol++
@@ -126673,7 +126732,7 @@ __11:
 	*(*uintptr)(unsafe.Pointer(bp + 180)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+180, p+36,
-		Xsqlite3_mprintf(tls, ts+29021,
+		Xsqlite3_mprintf(tls, ts+29068,
 			libc.VaList(bp+112, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 180)))) {
 		goto __13
@@ -126700,7 +126759,7 @@ __19:
 	;
 __18:
 	;
-	zVector = rbuMPrintf(tls, p, ts+29069, libc.VaList(bp+136, zVector, zSep, zQuoted))
+	zVector = rbuMPrintf(tls, p, ts+29116, libc.VaList(bp+136, zVector, zSep, zQuoted))
 	zSep = ts + 14607
 	goto __15
 __15:
@@ -126712,7 +126771,7 @@ __16:
 	if !!(bFailed != 0) {
 		goto __20
 	}
-	zRet = rbuMPrintf(tls, p, ts+29076, libc.VaList(bp+160, zLhs, zVector))
+	zRet = rbuMPrintf(tls, p, ts+29123, libc.VaList(bp+160, zLhs, zVector))
 __20:
 	;
 __13:
@@ -126745,7 +126804,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 	if rc == SQLITE_OK {
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200, p+36,
-			Xsqlite3_mprintf(tls, ts+28606, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+			Xsqlite3_mprintf(tls, ts+28653, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 	}
 
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200))) {
@@ -126757,7 +126816,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 		if iCid == -2 {
 			var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 0)
-			zRet = Xsqlite3_mprintf(tls, ts+29088, libc.VaList(bp+8, zRet, zCom,
+			zRet = Xsqlite3_mprintf(tls, ts+29135, libc.VaList(bp+8, zRet, zCom,
 				(*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*8)).FnSpan, (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*8)).FzSpan, zCollate))
 			zType = ts + 1547
 		} else {
@@ -126769,37 +126828,37 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 					zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
 				} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					zCol = ts + 28929
+					zCol = ts + 28976
 				} else {
-					zCol = ts + 28659
+					zCol = ts + 28706
 				}
 				zType = ts + 1112
 			} else {
 				zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*4))
 				zType = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*4))
 			}
-			zRet = Xsqlite3_mprintf(tls, ts+29110, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
+			zRet = Xsqlite3_mprintf(tls, ts+29157, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 5) != 0 {
 			var zOrder uintptr = func() uintptr {
 				if bDesc != 0 {
-					return ts + 28846
+					return ts + 28893
 				}
 				return ts + 1547
 			}()
-			zImpPK = Xsqlite3_mprintf(tls, ts+29130,
+			zImpPK = Xsqlite3_mprintf(tls, ts+29177,
 				libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder))
 		}
-		zImpCols = Xsqlite3_mprintf(tls, ts+29151,
+		zImpCols = Xsqlite3_mprintf(tls, ts+29198,
 			libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate))
 		zWhere = Xsqlite3_mprintf(tls,
-			ts+29184, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
+			ts+29231, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
 		if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) {
 			rc = SQLITE_NOMEM
 		}
 		zCom = ts + 14607
-		zAnd = ts + 21518
+		zAnd = ts + 21565
 		nBind++
 	}
 
@@ -126838,9 +126897,9 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
-				zList = Xsqlite3_mprintf(tls, ts+29208, libc.VaList(bp, zList, zS, zObj, zCol))
+				zList = Xsqlite3_mprintf(tls, ts+29255, libc.VaList(bp, zList, zS, zObj, zCol))
 			} else {
-				zList = Xsqlite3_mprintf(tls, ts+29220, libc.VaList(bp+32, zList, zS))
+				zList = Xsqlite3_mprintf(tls, ts+29267, libc.VaList(bp+32, zList, zS))
 			}
 			zS = ts + 14607
 			if zList == uintptr(0) {
@@ -126850,7 +126909,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-			zList = rbuMPrintf(tls, p, ts+29229, libc.VaList(bp+48, zList, zObj))
+			zList = rbuMPrintf(tls, p, ts+29276, libc.VaList(bp+48, zList, zObj))
 		}
 	}
 	return zList
@@ -126862,18 +126921,18 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	var zList uintptr = uintptr(0)
 	if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-		zList = rbuMPrintf(tls, p, ts+29244, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
+		zList = rbuMPrintf(tls, p, ts+29291, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
 	} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
 		var zSep uintptr = ts + 1547
 		var i int32
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
-				zList = rbuMPrintf(tls, p, ts+29258, libc.VaList(bp+8, zList, zSep, i, i+1))
-				zSep = ts + 21518
+				zList = rbuMPrintf(tls, p, ts+29305, libc.VaList(bp+8, zList, zSep, i, i+1))
+				zSep = ts + 21565
 			}
 		}
 		zList = rbuMPrintf(tls, p,
-			ts+29270, libc.VaList(bp+40, zList))
+			ts+29317, libc.VaList(bp+40, zList))
 
 	} else {
 		var zSep uintptr = ts + 1547
@@ -126881,8 +126940,8 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
-				zList = rbuMPrintf(tls, p, ts+29320, libc.VaList(bp+48, zList, zSep, zCol, i+1))
-				zSep = ts + 21518
+				zList = rbuMPrintf(tls, p, ts+29367, libc.VaList(bp+48, zList, zSep, zCol, i+1))
+				zSep = ts + 21565
 			}
 		}
 	}
@@ -126891,7 +126950,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 func rbuBadControlError(tls *libc.TLS, p uintptr) {
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29333, 0)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29380, 0)
 }
 
 func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr {
@@ -126909,15 +126968,15 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr
 			for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 				var c uint8 = *(*uint8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4)))))
 				if int32(c) == 'x' {
-					zList = rbuMPrintf(tls, p, ts+29320,
+					zList = rbuMPrintf(tls, p, ts+29367,
 						libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+1))
 					zSep = ts + 14607
 				} else if int32(c) == 'd' {
-					zList = rbuMPrintf(tls, p, ts+29359,
+					zList = rbuMPrintf(tls, p, ts+29406,
 						libc.VaList(bp+32, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+1))
 					zSep = ts + 14607
 				} else if int32(c) == 'f' {
-					zList = rbuMPrintf(tls, p, ts+29389,
+					zList = rbuMPrintf(tls, p, ts+29436,
 						libc.VaList(bp+72, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+1))
 					zSep = ts + 14607
 				}
@@ -126954,19 +127013,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var z uintptr = uintptr(0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		var zSep uintptr = ts + 29426
+		var zSep uintptr = ts + 29473
 		*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 		*(*uintptr)(unsafe.Pointer(bp + 60)) = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56, p+36,
-			Xsqlite3_mprintf(tls, ts+28578, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28625, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) {
 			var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 3)
 			if zOrig != 0 && libc.Xstrcmp(tls, zOrig, ts+16148) == 0 {
 				var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 1)
 				if zIdx != 0 {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+60, p+36,
-						Xsqlite3_mprintf(tls, ts+28606, libc.VaList(bp+8, zIdx)))
+						Xsqlite3_mprintf(tls, ts+28653, libc.VaList(bp+8, zIdx)))
 				}
 				break
 			}
@@ -126978,15 +127037,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 				var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 60)), 2)
 				var zDesc uintptr
 				if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 60)), 3) != 0 {
-					zDesc = ts + 28846
+					zDesc = ts + 28893
 				} else {
 					zDesc = ts + 1547
 				}
-				z = rbuMPrintf(tls, p, ts+29439, libc.VaList(bp+16, z, zSep, zCol, zDesc))
+				z = rbuMPrintf(tls, p, ts+29486, libc.VaList(bp+16, z, zSep, zCol, zDesc))
 				zSep = ts + 14607
 			}
 		}
-		z = rbuMPrintf(tls, p, ts+29450, libc.VaList(bp+48, z))
+		z = rbuMPrintf(tls, p, ts+29497, libc.VaList(bp+48, z))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 60)))
 	}
 	return z
@@ -127006,7 +127065,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		var zPk uintptr = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168, p+36,
-			ts+29454)
+			ts+29501)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168)), 1, tnum)
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168))) {
@@ -127015,7 +127074,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		}
 		if zIdx != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+172, p+36,
-				Xsqlite3_mprintf(tls, ts+28606, libc.VaList(bp, zIdx)))
+				Xsqlite3_mprintf(tls, ts+28653, libc.VaList(bp, zIdx)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168)))
 
@@ -127025,23 +127084,23 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 				var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 172)), 1)
 				var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 172)), 3)
 				var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 172)), 4)
-				zCols = rbuMPrintf(tls, p, ts+29504, libc.VaList(bp+8, zCols, zComma,
+				zCols = rbuMPrintf(tls, p, ts+29551, libc.VaList(bp+8, zCols, zComma,
 					iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*4)), zCollate))
-				zPk = rbuMPrintf(tls, p, ts+29526, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
+				zPk = rbuMPrintf(tls, p, ts+29573, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
 					if bDesc != 0 {
-						return ts + 28846
+						return ts + 28893
 					}
 					return ts + 1547
 				}()))
 				zComma = ts + 14607
 			}
 		}
-		zCols = rbuMPrintf(tls, p, ts+29536, libc.VaList(bp+80, zCols))
+		zCols = rbuMPrintf(tls, p, ts+29583, libc.VaList(bp+80, zCols))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 172)))
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 1, tnum))
 		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+29551,
+			ts+29598,
 			libc.VaList(bp+120, zCols, zPk))
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 0, 0))
 	}
@@ -127067,13 +127126,13 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192, uintptr(0), uintptr(0), uintptr(0))
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 {
-				zPk = ts + 29613
+				zPk = ts + 29660
 			}
-			zSql = rbuMPrintf(tls, p, ts+29626,
+			zSql = rbuMPrintf(tls, p, ts+29673,
 				libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*4)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192)),
 					func() uintptr {
 						if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 {
-							return ts + 29653
+							return ts + 29700
 						}
 						return ts + 1547
 					}()))
@@ -127083,16 +127142,16 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
 			var zPk uintptr = rbuWithoutRowidPK(tls, p, pIter)
 			if zPk != 0 {
-				zSql = rbuMPrintf(tls, p, ts+29663, libc.VaList(bp+88, zSql, zPk))
+				zSql = rbuMPrintf(tls, p, ts+29710, libc.VaList(bp+88, zSql, zPk))
 			}
 		}
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 1, tnum))
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29670,
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29717,
 			libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql,
 				func() uintptr {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
-						return ts + 29702
+						return ts + 29749
 					}
 					return ts + 1547
 				}()))
@@ -127109,7 +127168,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis
 	if zBind != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+88, p+36, Xsqlite3_mprintf(tls,
-				ts+29717,
+				ts+29764,
 				libc.VaList(bp, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind)))
 	}
 }
@@ -127146,7 +127205,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	if *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(bp + 4)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36,
-			ts+29774)
+			ts+29821)
 	}
 	if *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK {
 		var rc2 int32
@@ -127251,7 +127310,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 		var zLimit uintptr = uintptr(0)
 
 		if nOffset != 0 {
-			zLimit = Xsqlite3_mprintf(tls, ts+29840, libc.VaList(bp, nOffset))
+			zLimit = Xsqlite3_mprintf(tls, ts+29887, libc.VaList(bp, nOffset))
 			if !(zLimit != 0) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
 			}
@@ -127274,7 +127333,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 0, 1))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 1, tnum))
 			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+29860,
+				ts+29907,
 				libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600)), *(*uintptr)(unsafe.Pointer(bp + 604))))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 0, 0))
 
@@ -127282,13 +127341,13 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+80, p+36,
-					Xsqlite3_mprintf(tls, ts+29925, libc.VaList(bp+128, zTbl, zBind)))
+					Xsqlite3_mprintf(tls, ts+29972, libc.VaList(bp+128, zTbl, zBind)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+84, p+36,
-					Xsqlite3_mprintf(tls, ts+29961, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 608)))))
+					Xsqlite3_mprintf(tls, ts+30008, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 608)))))
 			}
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -127304,7 +127363,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					}
 
 					zSql = Xsqlite3_mprintf(tls,
-						ts+29995,
+						ts+30042,
 						libc.VaList(bp+160, zCollist,
 							(*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
@@ -127312,9 +127371,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								if zStart != 0 {
 									return func() uintptr {
 										if zPart != 0 {
-											return ts + 30056
+											return ts + 30103
 										}
-										return ts + 30060
+										return ts + 30107
 									}()
 								}
 								return ts + 1547
@@ -127323,20 +127382,20 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					Xsqlite3_free(tls, zStart)
 				} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30066,
+						ts+30113,
 						libc.VaList(bp+216, zCollist, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart, zCollist, zLimit))
 				} else {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30127,
+						ts+30174,
 						libc.VaList(bp+264, zCollist, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart,
 							zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
 							func() uintptr {
 								if zPart != 0 {
-									return ts + 30056
+									return ts + 30103
 								}
-								return ts + 30060
+								return ts + 30107
 							}(),
 							zCollist, zLimit))
 				}
@@ -127373,16 +127432,16 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB {
 					return ts + 1547
 				}
-				return ts + 30286
+				return ts + 30333
 			}()
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+80, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30295,
+						ts+30342,
 						libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr {
 							if bRbuRowid != 0 {
-								return ts + 30331
+								return ts + 30378
 							}
 							return ts + 1547
 						}(), zBindings)))
@@ -127391,32 +127450,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+84, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30341, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
+						ts+30388, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 				var zRbuRowid uintptr = ts + 1547
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-					zRbuRowid = ts + 30369
+					zRbuRowid = ts + 30416
 				}
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-					ts+30381, libc.VaList(bp+408, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
+					ts+30428, libc.VaList(bp+408, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
 						if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
-							return ts + 30457
+							return ts + 30504
 						}
 						return ts + 1547
 					}(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-					ts+30474,
+					ts+30521,
 					libc.VaList(bp+440, zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zNewlist))
 
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-						ts+30773,
+						ts+30820,
 						libc.VaList(bp+512, zWrite, zTbl, zNewlist))
 				}
 
@@ -127429,9 +127488,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				var zOrder uintptr = uintptr(0)
 				if bRbuRowid != 0 {
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-						zRbuRowid = ts + 30872
+						zRbuRowid = ts + 30919
 					} else {
-						zRbuRowid = ts + 30882
+						zRbuRowid = ts + 30929
 					}
 				}
 
@@ -127444,7 +127503,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 						}
 					}
 					if bRbuRowid != 0 {
-						zOrder = rbuMPrintf(tls, p, ts+28929, 0)
+						zOrder = rbuMPrintf(tls, p, ts+28976, 0)
 					} else {
 						zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+14607, ts+1547)
 					}
@@ -127453,11 +127512,11 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+76, pz,
 						Xsqlite3_mprintf(tls,
-							ts+30893,
+							ts+30940,
 							libc.VaList(bp+536, zCollist,
 								func() uintptr {
 									if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-										return ts + 30941
+										return ts + 30988
 									}
 									return ts + 1547
 								}(),
@@ -127470,7 +127529,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								}(),
 								func() uintptr {
 									if zOrder != 0 {
-										return ts + 22852
+										return ts + 22899
 									}
 									return ts + 1547
 								}(), zOrder,
@@ -127538,9 +127597,9 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp
 			var zPrefix uintptr = ts + 1547
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB {
-				zPrefix = ts + 30286
+				zPrefix = ts + 30333
 			}
-			zUpdate = Xsqlite3_mprintf(tls, ts+30947,
+			zUpdate = Xsqlite3_mprintf(tls, ts+30994,
 				libc.VaList(bp, zPrefix, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere))
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+4, p+36, zUpdate)
@@ -127599,7 +127658,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr {
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 12)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8, p+36,
-		Xsqlite3_mprintf(tls, ts+30977, libc.VaList(bp, p+24)))
+		Xsqlite3_mprintf(tls, ts+31024, libc.VaList(bp, p+24)))
 	for *(*int32)(unsafe.Pointer(bp + 12)) == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 		switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0) {
 		case RBU_STATE_STAGE:
@@ -127672,18 +127731,18 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6434, SQLITE_FCNTL_RBUCNT, p)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) {
 			var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6434)
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31007, libc.VaList(bp, zFile, zFile))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31054, libc.VaList(bp, zFile, zFile))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 {
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31035, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31082, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
 		libc.Xmemcpy(tls, p+24, ts+3279, uint32(4))
 	} else {
 		libc.Xmemcpy(tls, p+24, ts+6434, uint32(4))
 	}
 
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31053, libc.VaList(bp+24, p+24))
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31100, libc.VaList(bp+24, p+24))
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		var bOpen int32 = 0
@@ -127723,11 +127782,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				return
 			}
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31119, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31166, 0)
 		} else {
 			var zTarget uintptr
 			var zExtra uintptr = uintptr(0)
-			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= Size_t(5) && 0 == libc.Xmemcmp(tls, ts+24199, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint32(5)) {
+			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= Size_t(5) && 0 == libc.Xmemcmp(tls, ts+24246, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint32(5)) {
 				zExtra = (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5
 				for *(*uint8)(unsafe.Pointer(zExtra)) != 0 {
 					if int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zExtra, 1)))) == '?' {
@@ -127739,13 +127798,13 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				}
 			}
 
-			zTarget = Xsqlite3_mprintf(tls, ts+31151,
+			zTarget = Xsqlite3_mprintf(tls, ts+31198,
 				libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6434),
 					func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1547
 						}
-						return ts + 31183
+						return ts + 31230
 					}(), func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1547
@@ -127764,21 +127823,21 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31185, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31232, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTmpInsertFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31200, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31247, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuFossilDeltaFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+31217, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31264, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTargetNameFunc})), uintptr(0), uintptr(0))
 	}
@@ -127786,7 +127845,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, SQLITE_FCNTL_RBU, p)
 	}
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31233, 0)
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31280, 0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, SQLITE_FCNTL_RBU, p)
@@ -127794,7 +127853,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31261, 0)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31308, 0)
 	}
 }
 
@@ -127823,14 +127882,14 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
 	if pState == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = 0
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31233, uintptr(0), uintptr(0), uintptr(0))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31280, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var rc2 int32
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CAPTURE
-		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31279, uintptr(0), uintptr(0), uintptr(0))
+		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31326, uintptr(0), uintptr(0), uintptr(0))
 		if rc2 != SQLITE_NOTICE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 		}
@@ -127956,7 +128015,7 @@ func rbuLockDatabase(tls *libc.TLS, db uintptr) int32 {
 
 func rbuExclusiveCheckpoint(tls *libc.TLS, db uintptr) int32 {
 	var zUri uintptr = Xsqlite3_db_filename(tls, db, uintptr(0))
-	return Xsqlite3_uri_boolean(tls, zUri, ts+31314, 0)
+	return Xsqlite3_uri_boolean(tls, zUri, ts+31361, 0)
 }
 
 func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
@@ -127971,8 +128030,8 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6434)
 	}
-	zOal = Xsqlite3_mprintf(tls, ts+31339, libc.VaList(bp, zMove))
-	zWal = Xsqlite3_mprintf(tls, ts+31346, libc.VaList(bp+8, zMove))
+	zOal = Xsqlite3_mprintf(tls, ts+31386, libc.VaList(bp, zMove))
+	zWal = Xsqlite3_mprintf(tls, ts+31393, libc.VaList(bp+8, zMove))
 
 	if zWal == uintptr(0) || zOal == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
@@ -128089,7 +128148,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) {
 			(*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 &&
 			Xsqlite3_column_type(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect, i) == SQLITE_NULL {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_MISMATCH
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23837, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23884, 0)
 			return
 		}
 
@@ -128182,7 +128241,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 		var iCookie int32 = 1000000
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8, p+36,
-			ts+31353)
+			ts+31400)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 				iCookie = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0)
@@ -128190,7 +128249,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8)))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31375, libc.VaList(bp, iCookie+1))
+			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31422, libc.VaList(bp, iCookie+1))
 		}
 	}
 }
@@ -128211,7 +128270,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) {
 
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168, p+36,
 			Xsqlite3_mprintf(tls,
-				ts+31402,
+				ts+31449,
 				libc.VaList(bp, p+24,
 					RBU_STATE_STAGE, eStage,
 					RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl,
@@ -128241,9 +128300,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24, p+36,
-			Xsqlite3_mprintf(tls, ts+31560, libc.VaList(bp, zPragma)))
+			Xsqlite3_mprintf(tls, ts+31607, libc.VaList(bp, zPragma)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31575,
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31622,
 				libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 0)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -128257,10 +128316,10 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 	*(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(0)
 
-	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31595, uintptr(0), uintptr(0), p+36)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31642, uintptr(0), uintptr(0), p+36)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36,
-			ts+31620)
+			ts+31667)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -128274,12 +128333,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36,
-			ts+31728)
+			ts+31775)
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4, p+36,
-			ts+31793)
+			ts+31840)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -128291,7 +128350,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
 	}
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31837, uintptr(0), uintptr(0), p+36)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31884, uintptr(0), uintptr(0), p+36)
 	}
 
 	rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp)))
@@ -128319,7 +128378,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 {
 						if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 							rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-								ts+31862, libc.VaList(bp, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
+								ts+31909, libc.VaList(bp, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 						}
 					} else {
 						rbuObjIterPrepareAll(tls, p, pIter, 0)
@@ -128441,7 +128500,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) {
 
 		if rc == SQLITE_OK && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) {
 			rc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31890, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31937, 0)
 		}
 
 		if rc == SQLITE_OK {
@@ -128457,7 +128516,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) {
 	bp := tls.Alloc(12)
 	defer tls.Free(12)
 
-	var zOal uintptr = rbuMPrintf(tls, p, ts+31339, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
+	var zOal uintptr = rbuMPrintf(tls, p, ts+31386, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
 	if zOal != 0 {
 		*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, SQLITE_FCNTL_VFS_POINTER, bp+8)
@@ -128474,7 +128533,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) {
 	defer tls.Free(76)
 
 	Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8)
-	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]uint8{})), bp+12, ts+31915, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
+	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]uint8{})), bp+12, ts+31962, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12, uintptr(0))
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12)
@@ -128508,7 +128567,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) {
 
 	rc = prepareFreeAndCollectError(tls, db, bp+8, bp+12,
 		Xsqlite3_mprintf(tls,
-			ts+31926, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
+			ts+31973, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
 	if rc != SQLITE_OK {
 		Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 12)), -1)
 	} else {
@@ -128538,13 +128597,13 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+31998, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+32045, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuIndexCntFunc})), uintptr(0), uintptr(0))
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36,
-				ts+32012)
+				ts+32059)
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
@@ -128555,7 +128614,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && bExists != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36,
-				ts+32069)
+				ts+32116)
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
@@ -128629,7 +128688,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd != 0 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32143, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32190, 0)
 			} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_MOVE {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CKPT
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FnStep = 0
@@ -128647,12 +128706,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 			}()
 			if (*Rbu_file)(unsafe.Pointer(pFd)).FiCookie != (*RbuState)(unsafe.Pointer(pState)).FiCookie {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32175,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32222,
 					libc.VaList(bp+8, func() uintptr {
 						if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-							return ts + 32207
+							return ts + 32254
 						}
-						return ts + 32214
+						return ts + 32261
 					}()))
 			}
 		}
@@ -128676,14 +128735,14 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32221, uintptr(0), uintptr(0), p+36)
+						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32268, uintptr(0), uintptr(0), p+36)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 						var frc int32 = Xsqlite3_file_control(tls, db, ts+6434, SQLITE_FCNTL_ZIPVFS, uintptr(0))
 						if frc == SQLITE_OK {
 							(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls,
-								db, ts+32237, uintptr(0), uintptr(0), p+36)
+								db, ts+32284, uintptr(0), uintptr(0), p+36)
 						}
 					}
 
@@ -128737,7 +128796,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr
 	}
 	if zState != 0 {
 		var n int32 = int32(libc.Xstrlen(tls, zState))
-		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32261, zState+uintptr(n-7), uint32(7)) {
+		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32308, zState+uintptr(n-7), uint32(7)) {
 			return rbuMisuseError(tls)
 		}
 	}
@@ -128764,7 +128823,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) {
 		var i uint32
 		var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg)
 		for i = uint32(0); i < nErrmsg-Size_t(8); i++ {
-			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30286, uint32(8)) == 0 {
+			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30333, uint32(8)) == 0 {
 				var nDel int32 = 8
 				for int32(*(*uint8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= '0' && int32(*(*uint8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= '9' {
 					nDel++
@@ -128800,7 +128859,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 {
 		rbuObjIterFinalize(tls, p+48)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 {
-			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32269, uintptr(0), uintptr(0), uintptr(0))
+			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32316, uintptr(0), uintptr(0), uintptr(0))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE && rc2 != SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 			}
@@ -128919,12 +128978,12 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 				zBegin = ts + 14496
 			} else {
-				zBegin = ts + 32221
+				zBegin = ts + 32268
 			}
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32221, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32268, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -129270,7 +129329,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 			})(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16)
 			if rc == SQLITE_OK {
 				rc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32296, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32343, 0)
 			} else if rc == SQLITE_NOTFOUND {
 				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p
 				(*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu
@@ -129295,7 +129354,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 	if rc == SQLITE_OK && op == SQLITE_FCNTL_VFSNAME {
 		var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs
 		var zIn uintptr = *(*uintptr)(unsafe.Pointer(pArg))
-		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32319, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
+		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32366, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
 		*(*uintptr)(unsafe.Pointer(pArg)) = zOut
 		if zOut == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -129455,7 +129514,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags
 	}
 
 	if oflags&SQLITE_OPEN_MAIN_DB != 0 &&
-		Xsqlite3_uri_boolean(tls, zName, ts+32330, 0) != 0 {
+		Xsqlite3_uri_boolean(tls, zName, ts+32377, 0) != 0 {
 		oflags = SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE
 		zOpen = uintptr(0)
 	}
@@ -130280,7 +130339,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 		rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0))
 		if rc == SQLITE_OK {
 			zPragma = Xsqlite3_mprintf(tls,
-				ts+32341, 0)
+				ts+32388, 0)
 		} else if rc == SQLITE_ERROR {
 			zPragma = Xsqlite3_mprintf(tls, ts+1547, 0)
 		} else {
@@ -130293,7 +130352,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 			return rc
 		}
 	} else {
-		zPragma = Xsqlite3_mprintf(tls, ts+32462, libc.VaList(bp, zDb, zThis))
+		zPragma = Xsqlite3_mprintf(tls, ts+32509, libc.VaList(bp, zDb, zThis))
 	}
 	if !(zPragma != 0) {
 		*(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0)
@@ -130972,9 +131031,9 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr,
 
 	for i = 0; i < nCol; i++ {
 		if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
-			zRet = Xsqlite3_mprintf(tls, ts+32491,
+			zRet = Xsqlite3_mprintf(tls, ts+32538,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4))))
-			zSep = ts + 21518
+			zSep = ts + 21565
 			if zRet == uintptr(0) {
 				break
 			}
@@ -130997,9 +131056,9 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 		if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 {
 			bHave = 1
 			zRet = Xsqlite3_mprintf(tls,
-				ts+32525,
+				ts+32572,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4))))
-			zSep = ts + 32566
+			zSep = ts + 32613
 			if zRet == uintptr(0) {
 				break
 			}
@@ -131007,7 +131066,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 	}
 
 	if bHave == 0 {
-		zRet = Xsqlite3_mprintf(tls, ts+7523, 0)
+		zRet = Xsqlite3_mprintf(tls, ts+7512, 0)
 	}
 
 	return zRet
@@ -131018,7 +131077,7 @@ func sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, zTbl uintpt
 	defer tls.Free(40)
 
 	var zRet uintptr = Xsqlite3_mprintf(tls,
-		ts+32571,
+		ts+32618,
 		libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr))
 	return zRet
 }
@@ -131061,7 +131120,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro
 		rc = SQLITE_NOMEM
 	} else {
 		var zStmt uintptr = Xsqlite3_mprintf(tls,
-			ts+32649,
+			ts+32696,
 			libc.VaList(bp, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2))
 		if zStmt == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -131188,7 +131247,7 @@ __6:
 	if !(pzErrMsg != 0) {
 		goto __16
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32702, 0)
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32749, 0)
 __16:
 	;
 	rc = SQLITE_SCHEMA
@@ -131664,7 +131723,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 
 	if 0 == Xsqlite3_stricmp(tls, ts+11341, zTab) {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+32729, libc.VaList(bp, zDb))
+			ts+32776, libc.VaList(bp, zDb))
 		if zSql == uintptr(0) {
 			*(*int32)(unsafe.Pointer(bp + 20)) = SQLITE_NOMEM
 		}
@@ -131673,18 +131732,18 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 		var zSep uintptr = ts + 1547
 		*(*SessionBuffer)(unsafe.Pointer(bp + 8)) = SessionBuffer{}
 
-		sessionAppendStr(tls, bp+8, ts+32839, bp+20)
+		sessionAppendStr(tls, bp+8, ts+32886, bp+20)
 		sessionAppendIdent(tls, bp+8, zDb, bp+20)
 		sessionAppendStr(tls, bp+8, ts+1560, bp+20)
 		sessionAppendIdent(tls, bp+8, zTab, bp+20)
-		sessionAppendStr(tls, bp+8, ts+32854, bp+20)
+		sessionAppendStr(tls, bp+8, ts+32901, bp+20)
 		for i = 0; i < nCol; i++ {
 			if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
 				sessionAppendStr(tls, bp+8, zSep, bp+20)
 				sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), bp+20)
-				sessionAppendStr(tls, bp+8, ts+32862, bp+20)
+				sessionAppendStr(tls, bp+8, ts+32909, bp+20)
 				sessionAppendInteger(tls, bp+8, i+1, bp+20)
-				zSep = ts + 21518
+				zSep = ts + 21565
 			}
 		}
 		zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8)).FaBuf
@@ -131793,7 +131852,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 {
 		return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc
 	}
-	*(*int32)(unsafe.Pointer(bp + 24)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32868, uintptr(0), uintptr(0), uintptr(0))
+	*(*int32)(unsafe.Pointer(bp + 24)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32915, uintptr(0), uintptr(0), uintptr(0))
 	if *(*int32)(unsafe.Pointer(bp + 24)) != SQLITE_OK {
 		return *(*int32)(unsafe.Pointer(bp + 24))
 	}
@@ -131885,7 +131944,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	}
 
 	Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+12)).FaBuf)
-	Xsqlite3_exec(tls, db, ts+32888, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+32935, uintptr(0), uintptr(0), uintptr(0))
 	Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db))
 	return *(*int32)(unsafe.Pointer(bp + 24))
 }
@@ -132148,7 +132207,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 		rc = sessionInputBuffer(tls, pIn, 9)
 		if rc == SQLITE_OK {
 			if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData {
-				rc = Xsqlite3CorruptError(tls, 219078)
+				rc = Xsqlite3CorruptError(tls, 219169)
 			} else {
 				eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1)))))
 
@@ -132171,7 +132230,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 				rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
 				if rc == SQLITE_OK {
 					if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext {
-						rc = Xsqlite3CorruptError(tls, 219098)
+						rc = Xsqlite3CorruptError(tls, 219189)
 					} else {
 						var enc U8 = func() uint8 {
 							if eType == SQLITE_TEXT {
@@ -132213,7 +132272,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in
 		nRead = nRead + sessionVarintGet(tls, (*SessionInput)(unsafe.Pointer(pIn)).FaData+uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext+nRead), bp)
 
 		if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > 65536 {
-			rc = Xsqlite3CorruptError(tls, 219152)
+			rc = Xsqlite3CorruptError(tls, 219243)
 		} else {
 			rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100)
 			nRead = nRead + *(*int32)(unsafe.Pointer(bp))
@@ -132274,7 +132333,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 {
 			(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
 			sessionBufferGrow(tls, p+44, int64(nByte), bp+4)
 		} else {
-			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219240)
+			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219331)
 		}
 	}
 
@@ -132348,13 +132407,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 	}
 
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
-		return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219326))
+		return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219417))
 	}
 
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op)
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))))
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT {
-		return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219332))
+		return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219423))
 	}
 
 	if paRec != 0 {
@@ -132416,7 +132475,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 				if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4))
 					if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4)) == uintptr(0) {
-						return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219376))
+						return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219467))
 					}
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4)) = uintptr(0)
 				}
@@ -132789,7 +132848,7 @@ __27:
 	goto __6
 
 __11:
-	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 219741)
+	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 219832)
 	goto finished_invert
 __6:
 	;
@@ -132966,34 +133025,34 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32,
 				(*SessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*12
 				libc.Xmemcpy(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint32(nU32)*uint32(unsafe.Sizeof(U32(0))))
 
-				sessionAppendStr(tls, bp, ts+32906, bp+12)
+				sessionAppendStr(tls, bp, ts+32953, bp+12)
 				sessionAppendIdent(tls, bp, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+12)
-				sessionAppendStr(tls, bp, ts+32919, bp+12)
+				sessionAppendStr(tls, bp, ts+32966, bp+12)
 
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*4)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+12)
 						sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*4)), bp+12)
-						sessionAppendStr(tls, bp, ts+32925, bp+12)
+						sessionAppendStr(tls, bp, ts+32972, bp+12)
 						sessionAppendInteger(tls, bp, ii*2+1, bp+12)
 						zSep = ts + 14607
 					}
 				}
 
 				zSep = ts + 1547
-				sessionAppendStr(tls, bp, ts+32854, bp+12)
+				sessionAppendStr(tls, bp, ts+32901, bp+12)
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*4)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+12)
 						if bStat1 != 0 && ii == 1 {
 							sessionAppendStr(tls, bp,
-								ts+32930, bp+12)
+								ts+32977, bp+12)
 						} else {
 							sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*4)), bp+12)
-							sessionAppendStr(tls, bp, ts+32862, bp+12)
+							sessionAppendStr(tls, bp, ts+32909, bp+12)
 							sessionAppendInteger(tls, bp, ii*2+2, bp+12)
 						}
-						zSep = ts + 21518
+						zSep = ts + 21565
 					}
 				}
 
@@ -133045,34 +133104,34 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 	var nPk int32 = 0
 
-	sessionAppendStr(tls, bp, ts+33005, bp+12)
+	sessionAppendStr(tls, bp, ts+33052, bp+12)
 	sessionAppendIdent(tls, bp, zTab, bp+12)
-	sessionAppendStr(tls, bp, ts+32854, bp+12)
+	sessionAppendStr(tls, bp, ts+32901, bp+12)
 
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 			nPk++
 			sessionAppendStr(tls, bp, zSep, bp+12)
 			sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12)
-			sessionAppendStr(tls, bp, ts+32925, bp+12)
+			sessionAppendStr(tls, bp, ts+32972, bp+12)
 			sessionAppendInteger(tls, bp, i+1, bp+12)
-			zSep = ts + 21518
+			zSep = ts + 21565
 		}
 	}
 
 	if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol {
-		sessionAppendStr(tls, bp, ts+33023, bp+12)
+		sessionAppendStr(tls, bp, ts+33070, bp+12)
 		sessionAppendInteger(tls, bp, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol+1, bp+12)
-		sessionAppendStr(tls, bp, ts+32566, bp+12)
+		sessionAppendStr(tls, bp, ts+32613, bp+12)
 
 		zSep = ts + 1547
 		for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 			if !(int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i)))) != 0) {
 				sessionAppendStr(tls, bp, zSep, bp+12)
 				sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12)
-				sessionAppendStr(tls, bp, ts+32862, bp+12)
+				sessionAppendStr(tls, bp, ts+32909, bp+12)
 				sessionAppendInteger(tls, bp, i+1, bp+12)
-				zSep = ts + 33031
+				zSep = ts + 33078
 			}
 		}
 		sessionAppendStr(tls, bp, ts+4950, bp+12)
@@ -133099,9 +133158,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	var i int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 
-	sessionAppendStr(tls, bp, ts+33036, bp+12)
+	sessionAppendStr(tls, bp, ts+33083, bp+12)
 	sessionAppendIdent(tls, bp, zTab, bp+12)
-	sessionAppendStr(tls, bp, ts+21524, bp+12)
+	sessionAppendStr(tls, bp, ts+21571, bp+12)
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if i != 0 {
 			sessionAppendStr(tls, bp, ts+14607, bp+12)
@@ -133109,9 +133168,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 		sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12)
 	}
 
-	sessionAppendStr(tls, bp, ts+33054, bp+12)
+	sessionAppendStr(tls, bp, ts+33101, bp+12)
 	for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
-		sessionAppendStr(tls, bp, ts+33065, bp+12)
+		sessionAppendStr(tls, bp, ts+33112, bp+12)
 	}
 	sessionAppendStr(tls, bp, ts+4950, bp+12)
 
@@ -133130,11 +133189,11 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 {
 	var rc int32 = sessionSelectRow(tls, db, ts+11341, p)
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+8,
-			ts+33069)
+			ts+33116)
 	}
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+4,
-			ts+33182)
+			ts+33229)
 	}
 	return rc
 }
@@ -133162,7 +133221,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab
 				f func(*libc.TLS, uintptr, int32, uintptr) int32
 			})(unsafe.Pointer(&struct{ uintptr }{xValue})).f(tls, pIter, i, bp)
 			if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
-				rc = Xsqlite3CorruptError(tls, 220219)
+				rc = Xsqlite3CorruptError(tls, 220310)
 			} else {
 				rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp)))
 			}
@@ -133415,7 +133474,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 		if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
 			rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 		} else if *(*int32)(unsafe.Pointer(bp)) != 0 {
-			rc = Xsqlite3_exec(tls, db, ts+33326, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33373, uintptr(0), uintptr(0), uintptr(0))
 			if rc == SQLITE_OK {
 				rc = sessionBindRow(tls, pIter,
 					*(*uintptr)(unsafe.Pointer(&struct {
@@ -133431,7 +133490,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 				rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 			}
 			if rc == SQLITE_OK {
-				rc = Xsqlite3_exec(tls, db, ts+33347, uintptr(0), uintptr(0), uintptr(0))
+				rc = Xsqlite3_exec(tls, db, ts+33394, uintptr(0), uintptr(0), uintptr(0))
 			}
 		}
 	}
@@ -133504,10 +133563,10 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 	(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FbInvertConstraints = libc.BoolInt32(!!(flags&SQLITE_CHANGESETAPPLY_INVERT != 0))
 	Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db))
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
-		rc = Xsqlite3_exec(tls, db, ts+33366, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33413, uintptr(0), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_exec(tls, db, ts+33392, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33439, uintptr(0), uintptr(0), uintptr(0))
 	}
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3changeset_next(tls, pIter) {
 		Xsqlite3changeset_op(tls, pIter, bp+124, bp+128, bp+132, uintptr(0))
@@ -133566,16 +133625,16 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 				if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol == 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33422, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 140))))
+						ts+33469, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 140))))
 				} else if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol < *(*int32)(unsafe.Pointer(bp + 128)) {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33466,
+						ts+33513,
 						libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 140)), (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol, *(*int32)(unsafe.Pointer(bp + 128))))
 				} else if *(*int32)(unsafe.Pointer(bp + 128)) < nMinCol || libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 136)), uint32(*(*int32)(unsafe.Pointer(bp + 128)))) != 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33537, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 140))))
+						ts+33584, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 140))))
 				} else {
 					(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FnCol = *(*int32)(unsafe.Pointer(bp + 128))
 					if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 140)), ts+11341) {
@@ -133629,14 +133688,14 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 			}
 		}
 	}
-	Xsqlite3_exec(tls, db, ts+33597, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+33644, uintptr(0), uintptr(0), uintptr(0))
 
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, db, ts+33627, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33674, uintptr(0), uintptr(0), uintptr(0))
 		} else {
-			Xsqlite3_exec(tls, db, ts+33651, uintptr(0), uintptr(0), uintptr(0))
-			Xsqlite3_exec(tls, db, ts+33627, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33698, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33674, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -134873,7 +134932,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) {
 		fts5yy_pop_parser_stack(tls, fts5yypParser)
 	}
 
-	sqlite3Fts5ParseError(tls, pParse, ts+33679, 0)
+	sqlite3Fts5ParseError(tls, pParse, ts+33726, 0)
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -135161,7 +135220,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32
 
 	_ = fts5yymajor
 	sqlite3Fts5ParseError(tls,
-		pParse, ts+33707, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
+		pParse, ts+33754, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -135346,7 +135405,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int
 		if n < 0 {
 			n = int32(libc.Xstrlen(tls, z))
 		}
-		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33738, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
+		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33785, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
 		if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) {
 			*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 		}
@@ -135414,7 +135473,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp
 	var iCol int32
 
 	if nVal != 3 {
-		var zErr uintptr = ts + 33745
+		var zErr uintptr = ts + 33792
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -135595,7 +135654,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
 	var nCol int32
 
 	if nVal != 5 {
-		var zErr uintptr = ts + 33795
+		var zErr uintptr = ts + 33842
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -135919,13 +135978,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(48)
 
 	*(*[3]Builtin)(unsafe.Pointer(bp)) = [3]Builtin{
-		{FzFunc: ts + 33843, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33890, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5SnippetFunction}))},
-		{FzFunc: ts + 33851, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33898, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5HighlightFunction}))},
-		{FzFunc: ts + 33861, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33908, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5Bm25Function}))},
 	}
@@ -136475,7 +136534,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 	var nCmd int32 = int32(libc.Xstrlen(tls, zCmd))
-	if Xsqlite3_strnicmp(tls, ts+33866, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+33913, zCmd, nCmd) == 0 {
 		var nByte int32 = int32(uint32(unsafe.Sizeof(int32(0))) * uint32(FTS5_MAX_PREFIX_INDEXES))
 		var p uintptr
 		var bFirst int32 = 1
@@ -136502,14 +136561,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 				break
 			}
 			if int32(*(*uint8)(unsafe.Pointer(p))) < '0' || int32(*(*uint8)(unsafe.Pointer(p))) > '9' {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33873, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33920, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
 
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES {
 				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-					ts+33904, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
+					ts+33951, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -136520,7 +136579,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 			}
 
 			if nPre <= 0 || nPre >= 1000 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33937, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33984, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -136533,7 +136592,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+33974, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34021, zCmd, nCmd) == 0 {
 		var p uintptr = zArg
 		var nArg Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zArg) + Size_t(1))
 		var azArg uintptr = sqlite3Fts5MallocZero(tls, bp+40, Sqlite3_int64(unsafe.Sizeof(uintptr(0)))*nArg)
@@ -136542,7 +136601,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 		if azArg != 0 && pSpace != 0 {
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33983, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34030, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				for nArg = int64(0); p != 0 && *(*uint8)(unsafe.Pointer(p)) != 0; nArg++ {
@@ -136561,7 +136620,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 					}
 				}
 				if p == uintptr(0) {
-					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34016, 0)
+					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34063, 0)
 					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				} else {
 					*(*int32)(unsafe.Pointer(bp + 40)) = sqlite3Fts5GetTokenizer(tls, pGlobal,
@@ -136576,14 +136635,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34050, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34097, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34058, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34105, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			if *(*uint8)(unsafe.Pointer(zArg)) != 0 {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_EXTERNAL
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34090, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34137, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
 			} else {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE
 			}
@@ -136591,9 +136650,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34096, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34143, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34110, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34157, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40, zArg, -1)
@@ -136601,9 +136660,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34148, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34195, zCmd, nCmd) == 0 {
 		if int32(*(*uint8)(unsafe.Pointer(zArg))) != '0' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '1' || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34159, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34206, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zArg))) == '1')
@@ -136615,17 +136674,17 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		*(*[4]Fts5Enum)(unsafe.Pointer(bp + 44)) = [4]Fts5Enum{
 			{FzName: ts + 8019, FeVal: FTS5_DETAIL_NONE},
 			{FzName: ts + 17338},
-			{FzName: ts + 34194, FeVal: FTS5_DETAIL_COLUMNS},
+			{FzName: ts + 34241, FeVal: FTS5_DETAIL_COLUMNS},
 			{},
 		}
 
 		if libc.AssignPtrInt32(bp+40, fts5ConfigSetEnum(tls, bp+44, zArg, pConfig+48)) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34202, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34249, 0)
 		}
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34233, libc.VaList(bp+24, nCmd, zCmd))
+	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34280, libc.VaList(bp+24, nCmd, zCmd))
 	return SQLITE_ERROR
 }
 
@@ -136672,15 +136731,15 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr,
 	defer tls.Free(16)
 
 	var rc int32 = SQLITE_OK
-	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22184) ||
+	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22231) ||
 		0 == Xsqlite3_stricmp(tls, zCol, ts+16260) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34261, libc.VaList(bp, zCol))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34308, libc.VaList(bp, zCol))
 		rc = SQLITE_ERROR
 	} else if zArg != 0 {
-		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34291) {
+		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34338) {
 			*(*U8)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*Fts5Config)(unsafe.Pointer(p)).FnCol))) = U8(1)
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34301, libc.VaList(bp+8, zArg))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34348, libc.VaList(bp+8, zArg))
 			rc = SQLITE_ERROR
 		}
 	}
@@ -136697,13 +136756,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_OK
 	*(*Fts5Buffer)(unsafe.Pointer(bp + 28)) = Fts5Buffer{}
 
-	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34332, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
+	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34379, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
 	if (*Fts5Config)(unsafe.Pointer(p)).FeContent != FTS5_CONTENT_NONE {
 		for i = 0; i < (*Fts5Config)(unsafe.Pointer(p)).FnCol; i++ {
 			if (*Fts5Config)(unsafe.Pointer(p)).FeContent == FTS5_CONTENT_EXTERNAL {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34337, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*4))))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34384, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*4))))
 			} else {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34344, libc.VaList(bp+16, i))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34391, libc.VaList(bp+16, i))
 			}
 		}
 	}
@@ -136741,8 +136800,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 	(*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40, *(*uintptr)(unsafe.Pointer(azArg + 2*4)), -1)
 	(*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize = 1
 	(*Fts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL
-	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22184) == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34352, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
+	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22231) == 0 {
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34399, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
 		*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 	}
 
@@ -136774,7 +136833,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 
 		if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK {
 			if z == uintptr(0) {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34381, libc.VaList(bp+8, zOrig))
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34428, libc.VaList(bp+8, zOrig))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				if bOption != 0 {
@@ -136811,14 +136870,14 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 		var zTail uintptr = uintptr(0)
 
 		if (*Fts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL {
-			zTail = ts + 34050
+			zTail = ts + 34097
 		} else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 {
-			zTail = ts + 34401
+			zTail = ts + 34448
 		}
 
 		if zTail != 0 {
 			(*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls,
-				bp+40, ts+34409, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
+				bp+40, ts+34456, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
 		}
 	}
 
@@ -136867,7 +136926,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_OK
 	var zSql uintptr
 
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34420, 0)
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34467, 0)
 	for i = 0; zSql != 0 && i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
 		var zSep uintptr = func() uintptr {
 			if i == 0 {
@@ -136875,10 +136934,10 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 			}
 			return ts + 14607
 		}()
-		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34436, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*4))))
+		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34483, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*4))))
 	}
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34443,
-		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22184))
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34490,
+		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22231))
 
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql)
@@ -136988,7 +137047,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 
 	var rc int32 = SQLITE_OK
 
-	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34469) {
+	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34516) {
 		var pgsz int32 = 0
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			pgsz = Xsqlite3_value_int(tls, pVal)
@@ -136998,7 +137057,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34474) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34521) {
 		var nHashSize int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nHashSize = Xsqlite3_value_int(tls, pVal)
@@ -137008,7 +137067,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34483) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34530) {
 		var nAutomerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nAutomerge = Xsqlite3_value_int(tls, pVal)
@@ -137021,7 +137080,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34493) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34540) {
 		var nUsermerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nUsermerge = Xsqlite3_value_int(tls, pVal)
@@ -137031,7 +137090,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34503) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34550) {
 		var nCrisisMerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nCrisisMerge = Xsqlite3_value_int(tls, pVal)
@@ -137047,7 +137106,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22184) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22231) {
 		var zIn uintptr = Xsqlite3_value_text(tls, pVal)
 
 		rc = sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+4)
@@ -137070,7 +137129,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 	bp := tls.Alloc(44)
 	defer tls.Free(44)
 
-	var zSelect uintptr = ts + 34515
+	var zSelect uintptr = ts + 34562
 	var zSql uintptr
 	*(*uintptr)(unsafe.Pointer(bp + 36)) = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
@@ -137092,7 +137151,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 36))) {
 			var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 36)), 0)
 			var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 36)), 1)
-			if 0 == Xsqlite3_stricmp(tls, zK, ts+34547) {
+			if 0 == Xsqlite3_stricmp(tls, zK, ts+34594) {
 				iVersion = Xsqlite3_value_int(tls, pVal)
 			} else {
 				*(*int32)(unsafe.Pointer(bp + 40)) = 0
@@ -137106,7 +137165,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 {
 			*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-				ts+34555,
+				ts+34602,
 				libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION))
 		}
 	}
@@ -137204,7 +137263,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 					}
 				}
 				if int32(*(*uint8)(unsafe.Pointer(z2))) == 0 {
-					sqlite3Fts5ParseError(tls, pParse, ts+34620, 0)
+					sqlite3Fts5ParseError(tls, pParse, ts+34667, 0)
 					return FTS5_EOF
 				}
 			}
@@ -137217,20 +137276,20 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 		{
 			var z2 uintptr
 			if sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(z))) == 0 {
-				sqlite3Fts5ParseError(tls, pParse, ts+34640, libc.VaList(bp, z))
+				sqlite3Fts5ParseError(tls, pParse, ts+34687, libc.VaList(bp, z))
 				return FTS5_EOF
 			}
 			tok = FTS5_STRING
 			for z2 = z + 1; sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(z2))) != 0; z2++ {
 			}
 			(*Fts5Token)(unsafe.Pointer(pToken)).Fn = (int32(z2) - int32(z)) / 1
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34671, uint32(2)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34718, uint32(2)) == 0 {
 				tok = FTS5_OR
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34674, uint32(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34721, uint32(3)) == 0 {
 				tok = FTS5_NOT
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30056, uint32(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30103, uint32(3)) == 0 {
 				tok = FTS5_AND
 			}
 			break
@@ -139009,9 +139068,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34678, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint32(4)) != 0 {
+	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34725, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint32(4)) != 0 {
 		sqlite3Fts5ParseError(tls,
-			pParse, ts+33707, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
+			pParse, ts+33754, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
 	}
 }
 
@@ -139027,7 +139086,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p
 				var c uint8 = *(*uint8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))
 				if int32(c) < '0' || int32(c) > '9' {
 					sqlite3Fts5ParseError(tls,
-						pParse, ts+34683, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
+						pParse, ts+34730, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
 					return
 				}
 				nNear = nNear*10 + (int32(*(*uint8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - '0')
@@ -139114,7 +139173,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui
 			}
 		}
 		if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol {
-			sqlite3Fts5ParseError(tls, pParse, ts+20521, libc.VaList(bp, z))
+			sqlite3Fts5ParseError(tls, pParse, ts+20568, libc.VaList(bp, z))
 		} else {
 			pRet = fts5ParseColset(tls, pParse, pColset, iCol)
 		}
@@ -139195,7 +139254,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo
 	*(*uintptr)(unsafe.Pointer(bp)) = pColset
 	if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE {
 		sqlite3Fts5ParseError(tls, pParse,
-			ts+34712, 0)
+			ts+34759, 0)
 	} else {
 		fts5ParseSetColset(tls, pParse, pExpr, pColset, bp)
 	}
@@ -139365,12 +139424,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 1 ||
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*Fts5ExprTerm)(unsafe.Pointer(pPhrase+20)).FbFirst != 0 {
 							sqlite3Fts5ParseError(tls, pParse,
-								ts+34765,
+								ts+34812,
 								libc.VaList(bp, func() uintptr {
 									if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 {
-										return ts + 34815
+										return ts + 34862
 									}
-									return ts + 34678
+									return ts + 34725
 								}()))
 							Xsqlite3_free(tls, pRet)
 							pRet = uintptr(0)
@@ -140319,7 +140378,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK {
 			var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 			rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb,
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34822, iRowid, 0, p+40)
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34869, iRowid, 0, p+40)
 		}
 
 		if rc == SQLITE_ERROR {
@@ -140398,7 +140457,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in
 	if (*Fts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+44, Xsqlite3_mprintf(tls,
-			ts+34828,
+			ts+34875,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 		if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 			return
@@ -140423,7 +140482,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = Xsqlite3_mprintf(tls,
-			ts+34879,
+			ts+34926,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if fts5IndexPrepareStmt(tls, p, p+48, zSql) != 0 {
 			return
@@ -140446,7 +140505,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+56, Xsqlite3_mprintf(tls,
-			ts+34928,
+			ts+34975,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -140685,7 +140744,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 {
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) {
 			(*Fts5Index)(unsafe.Pointer(p)).Frc = fts5IndexPrepareStmt(tls, p, p+68,
-				Xsqlite3_mprintf(tls, ts+34968, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
+				Xsqlite3_mprintf(tls, ts+35015, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
 			if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 				return int64(0)
 			}
@@ -141884,7 +141943,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+60, Xsqlite3_mprintf(tls,
-			ts+34991,
+			ts+35038,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect
@@ -143349,7 +143408,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+52, Xsqlite3_mprintf(tls,
-			ts+35075,
+			ts+35122,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 
@@ -144432,13 +144491,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		(*Fts5Index)(unsafe.Pointer(p)).FpConfig = pConfig
 		(*Fts5Index)(unsafe.Pointer(p)).FnWorkUnit = FTS5_WORK_UNIT
-		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35132, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35179, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 {
 			*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+25049, ts+35140, 0, pzErr)
+				pConfig, ts+25096, ts+35187, 0, pzErr)
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 				*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls, pConfig, ts+11481,
-					ts+35175,
+					ts+35222,
 					1, pzErr)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
@@ -144691,7 +144750,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 {
 	sqlite3Fts5Put32(tls, bp, iNew)
 
 	rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl,
-		ts+34822, int64(FTS5_STRUCTURE_ROWID), 1, bp+4)
+		ts+34869, int64(FTS5_STRUCTURE_ROWID), 1, bp+4)
 	if rc == SQLITE_OK {
 		Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), bp, 4, 0)
 		rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
@@ -144805,7 +144864,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) {
 	}
 
 	fts5IndexPrepareStmt(tls, p, bp+24, Xsqlite3_mprintf(tls,
-		ts+35219,
+		ts+35266,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid)))
 
 	for (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
@@ -144975,7 +145034,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks
 		} else {
 			(*Fts5Buffer)(unsafe.Pointer(bp + 8)).Fn = 0
 			fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp))+80+uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaFirst+1*4)).FiFirst)*96, uintptr(0), bp+8)
-			sqlite3Fts5BufferAppendBlob(tls, p+36, bp+8, uint32(4), ts+35305)
+			sqlite3Fts5BufferAppendBlob(tls, p+36, bp+8, uint32(4), ts+35352)
 			for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+8)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+8)).Fn, bp+20, bp+24) {
 				var iCol int32 = int32(*(*I64)(unsafe.Pointer(bp + 24)) >> 32)
 				var iTokOff int32 = int32(*(*I64)(unsafe.Pointer(bp + 24)) & int64(0x7FFFFFFF))
@@ -145246,7 +145305,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 {
 
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 {
 		(*Fts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+35310, 0)
+			ts+35357, 0)
 		return SQLITE_ERROR
 	}
 
@@ -145670,7 +145729,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 	(*Fts5Sorter)(unsafe.Pointer(pSorter)).FnIdx = nPhrase
 
 	rc = fts5PrepareStatement(tls, pSorter, pConfig,
-		ts+35349,
+		ts+35396,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			func() uintptr {
 				if zRankArgs != 0 {
@@ -145686,9 +145745,9 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 			}(),
 			func() uintptr {
 				if bDesc != 0 {
-					return ts + 35404
+					return ts + 35451
 				}
-				return ts + 35409
+				return ts + 35456
 			}()))
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter
@@ -145734,12 +145793,12 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr)
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan = FTS5_PLAN_SPECIAL
 
-	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35413, z, n) {
+	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35460, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = I64(sqlite3Fts5IndexReads(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex))
 	} else if n == 2 && 0 == Xsqlite3_strnicmp(tls, ts+5050, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId
 	} else {
-		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35419, libc.VaList(bp, n, z))
+		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35466, libc.VaList(bp, n, z))
 		rc = SQLITE_ERROR
 	}
 
@@ -145770,7 +145829,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs
 
 	if zRankArgs != 0 {
-		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35447, libc.VaList(bp, zRankArgs))
+		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35494, libc.VaList(bp, zRankArgs))
 		if zSql != 0 {
 			*(*uintptr)(unsafe.Pointer(bp + 20)) = uintptr(0)
 			*(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1,
@@ -145801,7 +145860,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 		pAux = fts5FindAuxiliary(tls, pTab, zRank)
 		if pAux == uintptr(0) {
-			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35457, libc.VaList(bp+8, zRank))
+			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35504, libc.VaList(bp+8, zRank))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		}
 	}
@@ -145833,14 +145892,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin
 			*(*int32)(unsafe.Pointer(pCsr + 60)) |= FTS5CSR_FREE_ZRANK
 		} else if rc == SQLITE_ERROR {
 			(*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35478, libc.VaList(bp, z))
+				ts+35525, libc.VaList(bp, z))
 		}
 	} else {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank != 0 {
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRankArgs
 		} else {
-			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33861
+			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33908
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0)
 		}
 	}
@@ -145896,7 +145955,7 @@ func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintp
 		goto __1
 	}
 	(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+35310, 0)
+		ts+35357, 0)
 	return SQLITE_ERROR
 __1:
 	;
@@ -146113,7 +146172,7 @@ __35:
 		goto __40
 	}
 	*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-		ts+35511, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		ts+35558, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	rc = SQLITE_ERROR
 	goto __41
 __40:
@@ -146258,28 +146317,28 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr)
 	var rc int32 = SQLITE_OK
 	*(*int32)(unsafe.Pointer(bp)) = 0
 
-	if 0 == Xsqlite3_stricmp(tls, ts+35547, zCmd) {
+	if 0 == Xsqlite3_stricmp(tls, ts+35594, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			fts5SetVtabError(tls, pTab,
-				ts+35558, 0)
+				ts+35605, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35638, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35685, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE {
 			fts5SetVtabError(tls, pTab,
-				ts+35646, 0)
+				ts+35693, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
 	} else if 0 == Xsqlite3_stricmp(tls, ts+16927, zCmd) {
 		rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35702, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35749, zCmd) {
 		var nMerge int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageMerge(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, nMerge)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35708, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35755, zCmd) {
 		var iArg int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg)
 	} else {
@@ -146350,12 +146409,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p
 
 		if eType0 == SQLITE_INTEGER && fts5IsContentless(tls, pTab) != 0 {
 			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35724,
+				ts+35771,
 				libc.VaList(bp, func() uintptr {
 					if nArg > 1 {
-						return ts + 20422
+						return ts + 20469
 					}
-					return ts + 35761
+					return ts + 35808
 				}(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		} else if nArg == 1 {
@@ -146985,7 +147044,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 
 	pCsr = fts5CursorFromCsrid(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId)
 	if pCsr == uintptr(0) || (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 {
-		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35773, libc.VaList(bp, iCsrId))
+		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35820, libc.VaList(bp, iCsrId))
 		Xsqlite3_result_error(tls, context, zErr, -1)
 		Xsqlite3_free(tls, zErr)
 	} else {
@@ -147229,7 +147288,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 	}())
 	if pMod == uintptr(0) {
 		rc = SQLITE_ERROR
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35794, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35841, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
 	} else {
 		rc = (*struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
@@ -147248,7 +147307,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 		(*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 8
 		if rc != SQLITE_OK {
 			if pzErr != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35816, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35863, 0)
 			}
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls,
@@ -147295,7 +147354,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 	var ppApi uintptr
 	_ = nArg
 
-	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35847)
+	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35894)
 	if ppApi != 0 {
 		*(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal
 	}
@@ -147304,7 +147363,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) {
 	_ = nArg
 	_ = apUnused
-	Xsqlite3_result_text(tls, pCtx, ts+35860, -1, libc.UintptrFromInt32(-1))
+	Xsqlite3_result_text(tls, pCtx, ts+35907, -1, libc.UintptrFromInt32(-1))
 }
 
 func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
@@ -147318,7 +147377,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName2 = [5]uintptr{
-	ts + 35951, ts + 34050, ts + 25049, ts + 34401, ts + 11481,
+	ts + 35998, ts + 34097, ts + 25096, ts + 34448, ts + 11481,
 }
 
 func fts5Init(tls *libc.TLS, db uintptr) int32 {
@@ -147342,7 +147401,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		(*Fts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32
 		}{fts5FindTokenizer}))
-		rc = Xsqlite3_create_module_v2(tls, db, ts+35958, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+36005, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5IndexInit(tls, db)
 		}
@@ -147360,13 +147419,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35958, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+				db, ts+36005, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
 				}{fts5Fts5Func})), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35963, 0,
+				db, ts+36010, 0,
 				SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
 				p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
@@ -147423,17 +147482,17 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p
 
 	if *(*uintptr)(unsafe.Pointer(p + 28 + uintptr(eStmt)*4)) == uintptr(0) {
 		*(*[11]uintptr)(unsafe.Pointer(bp + 128)) = [11]uintptr{
-			ts + 35978,
-			ts + 36046,
-			ts + 36115,
-			ts + 36148,
-			ts + 36187,
-			ts + 36227,
-			ts + 36266,
-			ts + 36307,
-			ts + 36346,
-			ts + 36388,
-			ts + 36428,
+			ts + 36025,
+			ts + 36093,
+			ts + 36162,
+			ts + 36195,
+			ts + 36234,
+			ts + 36274,
+			ts + 36313,
+			ts + 36354,
+			ts + 36393,
+			ts + 36435,
+			ts + 36475,
 		}
 		var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = uintptr(0)
@@ -147535,18 +147594,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 {
 	defer tls.Free(80)
 
 	var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36451,
+		ts+36498,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36555,
+			ts+36602,
 			libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36593,
+			ts+36640,
 			libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	return rc
@@ -147558,7 +147617,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin
 
 	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(pRc)) = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36631,
+			ts+36678,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail))
 	}
 }
@@ -147570,14 +147629,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in
 	var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig
 	*(*int32)(unsafe.Pointer(bp)) = sqlite3Fts5StorageSync(tls, pStorage)
 
-	fts5StorageRenameOne(tls, pConfig, bp, ts+25049, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+25096, zName)
 	fts5StorageRenameOne(tls, pConfig, bp, ts+11481, zName)
-	fts5StorageRenameOne(tls, pConfig, bp, ts+35951, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+35998, zName)
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34401, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34448, zName)
 	}
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34050, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34097, zName)
 	}
 	return *(*int32)(unsafe.Pointer(bp))
 }
@@ -147589,17 +147648,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn
 	var rc int32
 	*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
-	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36673,
+	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36720,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn,
 			func() uintptr {
 				if bWithout != 0 {
-					return ts + 29702
+					return ts + 29749
 				}
 				return ts + 1547
 			}()))
 	if *(*uintptr)(unsafe.Pointer(bp + 64)) != 0 {
 		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-			ts+36703,
+			ts+36750,
 			libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64))))
 		Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
@@ -147636,27 +147695,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre
 			} else {
 				var i int32
 				var iOff int32
-				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36747, 0)
+				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36794, 0)
 				iOff = int32(libc.Xstrlen(tls, zDefn))
 				for i = 0; i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
-					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36770, libc.VaList(bp, i))
+					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36817, libc.VaList(bp, i))
 					iOff = iOff + int32(libc.Xstrlen(tls, zDefn+uintptr(iOff)))
 				}
-				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34050, zDefn, 0, pzErr)
+				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34097, zDefn, 0, pzErr)
 			}
 			Xsqlite3_free(tls, zDefn)
 		}
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+34401, ts+36776, 0, pzErr)
+				pConfig, ts+34448, ts+36823, 0, pzErr)
 		}
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+35951, ts+36808, 1, pzErr)
+				pConfig, ts+35998, ts+36855, 1, pzErr)
 		}
 		if rc == SQLITE_OK {
-			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34547, uintptr(0), FTS5_CURRENT_VERSION)
+			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34594, uintptr(0), FTS5_CURRENT_VERSION)
 		}
 	}
 
@@ -147862,12 +147921,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 	(*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0
 
 	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36825,
+		ts+36872,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36875,
+			ts+36922,
 			libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 
@@ -147875,7 +147934,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 		rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex)
 	}
 	if rc == SQLITE_OK {
-		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34547, uintptr(0), FTS5_CURRENT_VERSION)
+		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34594, uintptr(0), FTS5_CURRENT_VERSION)
 	}
 	return rc
 }
@@ -148051,7 +148110,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr)
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+36904,
+	zSql = Xsqlite3_mprintf(tls, ts+36951,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix))
 	if zSql == uintptr(0) {
 		rc = SQLITE_NOMEM
@@ -148233,14 +148292,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 {
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			*(*I64)(unsafe.Pointer(bp + 40)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34050, bp+40)
+			rc = fts5StorageCount(tls, p, ts+34097, bp+40)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 40)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
 		}
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			*(*I64)(unsafe.Pointer(bp + 48)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34401, bp+48)
+			rc = fts5StorageCount(tls, p, ts+34448, bp+48)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 48)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
@@ -148435,9 +148494,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32,
 			libc.Xmemcpy(tls, p, uintptr(unsafe.Pointer(&aAsciiTokenChar)), uint32(unsafe.Sizeof(aAsciiTokenChar)))
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*4))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36936) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36983) {
 					fts5AsciiAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36947) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36994) {
 					fts5AsciiAddExceptions(tls, p, zArg, 0)
 				} else {
 					rc = SQLITE_ERROR
@@ -148651,7 +148710,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 	} else {
 		p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Unicode61Tokenizer{})))
 		if p != 0 {
-			var zCat uintptr = ts + 36958
+			var zCat uintptr = ts + 37005
 			var i int32
 			libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(Unicode61Tokenizer{})))
 
@@ -148663,7 +148722,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 			}
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36967) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37014) {
 					zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*4))
 				}
 			}
@@ -148674,18 +148733,18 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*4))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36978) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37025) {
 					if int32(*(*uint8)(unsafe.Pointer(zArg))) != '0' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '1' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '2' || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 {
 						rc = SQLITE_ERROR
 					} else {
 						(*Unicode61Tokenizer)(unsafe.Pointer(p)).FeRemoveDiacritic = int32(*(*uint8)(unsafe.Pointer(zArg))) - '0'
 
 					}
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36936) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36983) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36947) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36994) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 0)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36967) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37014) {
 				} else {
 					rc = SQLITE_ERROR
 				}
@@ -148961,7 +149020,7 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp
 	var rc int32 = SQLITE_OK
 	var pRet uintptr
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
-	var zBase uintptr = ts + 36996
+	var zBase uintptr = ts + 37043
 
 	if nArg > 0 {
 		zBase = *(*uintptr)(unsafe.Pointer(azArg))
@@ -149101,7 +149160,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37006, aBuf+uintptr(nBuf-2), uint32(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37053, aBuf+uintptr(nBuf-2), uint32(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149109,11 +149168,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37009, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37056, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37014, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37061, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -149121,7 +149180,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'e':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37019, aBuf+uintptr(nBuf-2), uint32(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37066, aBuf+uintptr(nBuf-2), uint32(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149129,7 +149188,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37022, aBuf+uintptr(nBuf-2), uint32(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37069, aBuf+uintptr(nBuf-2), uint32(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149137,11 +149196,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37025, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37072, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37030, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37077, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -149149,19 +149208,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37035, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37082, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37039, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37086, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37045, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37092, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37050, aBuf+uintptr(nBuf-3), uint32(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37097, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149169,11 +149228,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'o':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37054, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37101, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37058, aBuf+uintptr(nBuf-2), uint32(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37105, aBuf+uintptr(nBuf-2), uint32(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149181,7 +149240,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 's':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37061, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37108, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149189,11 +149248,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37065, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37112, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37069, aBuf+uintptr(nBuf-3), uint32(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37116, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149201,7 +149260,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37073, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37120, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149209,7 +149268,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37077, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37124, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149217,7 +149276,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37081, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37128, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149233,24 +149292,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37085, aBuf+uintptr(nBuf-2), uint32(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37065, uint32(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37132, aBuf+uintptr(nBuf-2), uint32(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37112, uint32(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'b':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37088, aBuf+uintptr(nBuf-2), uint32(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37091, uint32(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37135, aBuf+uintptr(nBuf-2), uint32(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37138, uint32(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37095, aBuf+uintptr(nBuf-2), uint32(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37081, uint32(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37142, aBuf+uintptr(nBuf-2), uint32(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37128, uint32(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
@@ -149265,44 +149324,44 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37098, aBuf+uintptr(nBuf-7), uint32(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37145, aBuf+uintptr(nBuf-7), uint32(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37065, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37112, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37106, aBuf+uintptr(nBuf-6), uint32(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37153, aBuf+uintptr(nBuf-6), uint32(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37113, uint32(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37160, uint32(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 4
 			}
 		}
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37118, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37165, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37014, uint32(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37061, uint32(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37123, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37170, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37009, uint32(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37056, uint32(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
 		}
 		break
 
 	case 'e':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37128, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37175, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37081, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37128, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 'g':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37133, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37180, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+15473, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
@@ -149311,91 +149370,91 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37138, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37185, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37091, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37138, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37142, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37189, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37006, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37053, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37147, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37194, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37050, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37097, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37153, aBuf+uintptr(nBuf-3), uint32(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37200, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37157, uint32(1))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37204, uint32(1))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 1
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37159, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37206, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37073, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37120, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
 		}
 		break
 
 	case 'o':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37165, aBuf+uintptr(nBuf-7), uint32(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37212, aBuf+uintptr(nBuf-7), uint32(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37081, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37128, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37173, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37220, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37065, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37112, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37179, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37226, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37065, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37112, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37184, aBuf+uintptr(nBuf-5), uint32(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37231, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37006, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37053, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37190, aBuf+uintptr(nBuf-7), uint32(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37237, aBuf+uintptr(nBuf-7), uint32(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37077, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37124, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37198, aBuf+uintptr(nBuf-7), uint32(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37245, aBuf+uintptr(nBuf-7), uint32(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37206, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37253, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37210, aBuf+uintptr(nBuf-7), uint32(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37257, aBuf+uintptr(nBuf-7), uint32(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37073, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37120, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
 		}
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37218, aBuf+uintptr(nBuf-5), uint32(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37265, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37006, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37053, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37224, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37271, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37077, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37124, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37230, aBuf+uintptr(nBuf-6), uint32(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37277, aBuf+uintptr(nBuf-6), uint32(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37091, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37138, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 3
 			}
 		}
@@ -149410,16 +149469,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37237, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37284, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37022, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37069, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37242, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37289, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -149427,21 +149486,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37247, aBuf+uintptr(nBuf-5), uint32(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37294, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37022, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37069, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37253, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37300, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37022, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37069, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37206, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37253, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149449,7 +149508,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37259, aBuf+uintptr(nBuf-5), uint32(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37306, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
@@ -149457,9 +149516,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37265, aBuf+uintptr(nBuf-5), uint32(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37312, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37006, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37053, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
@@ -149474,12 +149533,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'e':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37271, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37318, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37275, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37322, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 2
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37278, aBuf+uintptr(nBuf-2), uint32(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37325, aBuf+uintptr(nBuf-2), uint32(2)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 				ret = 1
@@ -149488,7 +149547,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37281, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37328, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 				ret = 1
@@ -149644,7 +149703,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp
 		(*TrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = 1
 		for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 			var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*4))
-			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37285) {
+			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37332) {
 				if int32(*(*uint8)(unsafe.Pointer(zArg))) != '0' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '1' || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 {
 					rc = SQLITE_ERROR
 				} else {
@@ -149824,22 +149883,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(64)
 
 	*(*[4]BuiltinTokenizer)(unsafe.Pointer(bp)) = [4]BuiltinTokenizer{
-		{FzName: ts + 36996, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37043, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5UnicodeCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5UnicodeDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5UnicodeTokenize}))}},
-		{FzName: ts + 37300, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37347, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5AsciiCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5AsciiDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5AsciiTokenize}))}},
-		{FzName: ts + 37306, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37353, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5PorterCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5PorterDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5PorterTokenize}))}},
-		{FzName: ts + 37313, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37360, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5TriCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5TriDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
@@ -150981,14 +151040,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint
 	var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8, zType, -1)
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		sqlite3Fts5Dequote(tls, zCopy)
-		if Xsqlite3_stricmp(tls, zCopy, ts+37321) == 0 {
+		if Xsqlite3_stricmp(tls, zCopy, ts+37368) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37325) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37372) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37329) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37376) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37338, libc.VaList(bp, zCopy))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37385, libc.VaList(bp, zCopy))
 			*(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_ERROR
 		}
 		Xsqlite3_free(tls, zCopy)
@@ -151014,19 +151073,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	defer tls.Free(20)
 
 	*(*[3]uintptr)(unsafe.Pointer(bp + 4)) = [3]uintptr{
-		ts + 37372,
-		ts + 37412,
-		ts + 37447,
+		ts + 37419,
+		ts + 37459,
+		ts + 37494,
 	}
 
 	var pRet uintptr = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_OK
 	var bDb int32
 
-	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) == Size_t(4) && libc.Xmemcmp(tls, ts+23345, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uint32(4)) == 0)
+	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) == Size_t(4) && libc.Xmemcmp(tls, ts+23392, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uint32(4)) == 0)
 
 	if argc != 5 && bDb == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37490, 0)
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37537, 0)
 		*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 	} else {
 		var nByte int32
@@ -151159,11 +151218,11 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 
 	if (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 {
 		(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+37523, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+			ts+37570, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 		return SQLITE_ERROR
 	}
 	zSql = sqlite3Fts5Mprintf(tls, bp+64,
-		ts+37554,
+		ts+37601,
 		libc.VaList(bp+16, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 64)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+68, uintptr(0))
@@ -151187,7 +151246,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 			*(*uintptr)(unsafe.Pointer(bp + 68)) = uintptr(0)
 			if *(*int32)(unsafe.Pointer(bp + 64)) == SQLITE_OK {
 				(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-					ts+37605, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+					ts+37652, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 				*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 			}
 		} else {
@@ -151582,7 +151641,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32
 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 {
 	var p uintptr = pGlobal
 
-	return Xsqlite3_create_module_v2(tls, db, ts+37631, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
+	return Xsqlite3_create_module_v2(tls, db, ts+37678, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
 }
 
 var fts5Vocab = Sqlite3_module{
@@ -151604,7 +151663,7 @@ var fts5Vocab = Sqlite3_module{
 // ************* End of stmt.c ***********************************************
 // Return the source-id for this library
 func Xsqlite3_sourceid(tls *libc.TLS) uintptr {
-	return ts + 37641
+	return ts + 37688
 }
 
 func init() {
@@ -152578,5 +152637,5 @@ func init() {
 	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 68)) = rbuVfsGetLastError
 }
 
-var ts1 = "3.41.0\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-13.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00"
+var ts1 = "3.41.2\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-13.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00"
 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_arm64.go b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_arm64.go
index 7f59008b..2577d425 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_arm64.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_freebsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_freebsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
@@ -748,11 +748,11 @@ const (
 	NC_OrderAgg                           = 0x8000000
 	NC_PartIdx                            = 0x000002
 	NC_SelfRef                            = 0x00002e
+	NC_Subquery                           = 0x000040
 	NC_UAggInfo                           = 0x000100
 	NC_UBaseReg                           = 0x000400
 	NC_UEList                             = 0x000080
 	NC_UUpsert                            = 0x000200
-	NC_VarSelect                          = 0x000040
 	NDEBUG                                = 1
 	NETGRAPHDISC                          = 6
 	NN                                    = 1
@@ -1958,7 +1958,7 @@ const (
 	SQLITE_SHM_UNLOCK                     = 1
 	SQLITE_SORTER_PMASZ                   = 250
 	SQLITE_SOUNDEX                        = 1
-	SQLITE_SOURCE_ID                      = "2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d"
+	SQLITE_SOURCE_ID                      = "2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da"
 	SQLITE_SO_ASC                         = 0
 	SQLITE_SO_DESC                        = 1
 	SQLITE_SO_UNDEFINED                   = -1
@@ -2066,8 +2066,8 @@ const (
 	SQLITE_UTF8                           = 1
 	SQLITE_VDBEINT_H                      = 0
 	SQLITE_VDBE_H                         = 0
-	SQLITE_VERSION                        = "3.41.0"
-	SQLITE_VERSION_NUMBER                 = 3041000
+	SQLITE_VERSION                        = "3.41.2"
+	SQLITE_VERSION_NUMBER                 = 3041002
 	SQLITE_VTABRISK_High                  = 2
 	SQLITE_VTABRISK_Low                   = 0
 	SQLITE_VTABRISK_Normal                = 1
@@ -5299,7 +5299,8 @@ type IndexedExpr1 = struct {
 	FiIdxCur       int32
 	FiIdxCol       int32
 	FbMaybeNullRow U8
-	F__ccgo_pad1   [3]byte
+	Faff           U8
+	F__ccgo_pad1   [2]byte
 	FpIENext       uintptr
 }
 
@@ -5941,17 +5942,18 @@ type Pager = Pager1
 
 // Handle type for pages.
 type PgHdr2 = struct {
-	FpPage      uintptr
-	FpData      uintptr
-	FpExtra     uintptr
-	FpCache     uintptr
-	FpDirty     uintptr
-	FpPager     uintptr
-	Fpgno       Pgno
-	Fflags      U16
-	FnRef       I16
-	FpDirtyNext uintptr
-	FpDirtyPrev uintptr
+	FpPage       uintptr
+	FpData       uintptr
+	FpExtra      uintptr
+	FpCache      uintptr
+	FpDirty      uintptr
+	FpPager      uintptr
+	Fpgno        Pgno
+	Fflags       U16
+	F__ccgo_pad1 [2]byte
+	FnRef        I64
+	FpDirtyNext  uintptr
+	FpDirtyPrev  uintptr
 }
 
 // Handle type for pages.
@@ -6172,14 +6174,14 @@ type PCache2 = struct {
 	FpDirty      uintptr
 	FpDirtyTail  uintptr
 	FpSynced     uintptr
-	FnRefSum     int32
+	FnRefSum     I64
 	FszCache     int32
 	FszSpill     int32
 	FszPage      int32
 	FszExtra     int32
 	FbPurgeable  U8
 	FeCreate     U8
-	F__ccgo_pad1 [2]byte
+	F__ccgo_pad1 [6]byte
 	FxStress     uintptr
 	FpStress     uintptr
 	FpCache      uintptr
@@ -6986,7 +6988,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
 	_ = pMutex
 
 	if op < 0 || op >= int32(uint64(unsafe.Sizeof([10]Sqlite3StatValueType{}))/uint64(unsafe.Sizeof(Sqlite3StatValueType(0)))) {
-		return Xsqlite3MisuseError(tls, 23229)
+		return Xsqlite3MisuseError(tls, 23233)
 	}
 	if statMutex[op] != 0 {
 		pMutex = Xsqlite3Pcache1Mutex(tls)
@@ -15156,7 +15158,7 @@ func closePendingFds(tls *libc.TLS, pFile uintptr) {
 
 	for p = (*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused; p != 0; p = pNext {
 		pNext = (*UnixUnusedFd)(unsafe.Pointer(p)).FpNext
-		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38271)
+		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38275)
 		Xsqlite3_free(tls, p)
 	}
 	(*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused = uintptr(0)
@@ -15633,7 +15635,7 @@ func closeUnixFile(tls *libc.TLS, id uintptr) int32 {
 	var pFile uintptr = id
 	unixUnmapfile(tls, pFile)
 	if (*UnixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
-		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39055)
+		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39059)
 		(*UnixFile)(unsafe.Pointer(pFile)).Fh = -1
 	}
 
@@ -15924,7 +15926,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 {
 	if fd >= 0 {
 		return SQLITE_OK
 	}
-	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40676), ts+3371, bp+8, 40676)
+	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40680), ts+3371, bp+8, 40680)
 }
 
 func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
@@ -15941,14 +15943,14 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
 
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3659, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40717)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3659, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40721)
 	}
 
 	if int32((*UnixFile)(unsafe.Pointer(pFile)).FctrlFlags)&UNIXFILE_DIRSYNC != 0 {
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, bp)
 		if rc == SQLITE_OK {
 			full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0)
-			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40731)
+			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40735)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -15968,7 +15970,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 {
 	rc = robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte)
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40762)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40766)
 	} else {
 		if nByte < (*UnixFile)(unsafe.Pointer(pFile)).FmmapSize {
 			(*UnixFile)(unsafe.Pointer(pFile)).FmmapSize = nByte
@@ -16036,7 +16038,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 {
 		if (*UnixFile)(unsafe.Pointer(pFile)).FszChunk <= 0 {
 			if robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte) != 0 {
 				storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
-				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40883)
+				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3290, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40887)
 			}
 		}
 
@@ -16263,7 +16265,7 @@ func unixShmPurge(tls *libc.TLS, pFd uintptr) {
 		}
 		Xsqlite3_free(tls, (*UnixShmNode)(unsafe.Pointer(p)).FapRegion)
 		if (*UnixShmNode)(unsafe.Pointer(p)).FhShm >= 0 {
-			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41442)
+			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41446)
 			(*UnixShmNode)(unsafe.Pointer(p)).FhShm = -1
 		}
 		(*UnixInodeInfo)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0)
@@ -16291,7 +16293,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32
 			rc = unixShmSystemLock(tls, pDbFd, F_WRLCK, (22+SQLITE_SHM_NLOCK)*4+SQLITE_SHM_NLOCK, 1)
 
 			if rc == SQLITE_OK && robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3290, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41499)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3290, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41503)
 			}
 		}
 	} else if int32((*flock)(unsafe.Pointer(bp+8)).Fl_type) == F_WRLCK {
@@ -16390,7 +16392,7 @@ __8:
 	if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) {
 		goto __10
 	}
-	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41624), ts+3254, zShm, 41624)
+	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41628), ts+3254, zShm, 41628)
 	goto shm_open_err
 __10:
 	;
@@ -16520,7 +16522,7 @@ __11:
 		goto __14
 	}
 	zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3325, zFile, 41768)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3325, zFile, 41772)
 	goto shmpage_out
 __14:
 	;
@@ -16566,7 +16568,7 @@ __16:
 	if !(pMem == libc.UintptrFromInt32(-1)) {
 		goto __20
 	}
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3412, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41795)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3412, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41799)
 	goto shmpage_out
 __20:
 	;
@@ -16805,7 +16807,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) {
 	if pNew == libc.UintptrFromInt32(-1) {
 		pNew = uintptr(0)
 		nNew = int64(0)
-		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42169)
+		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42173)
 
 		(*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeMax = int64(0)
 	}
@@ -16939,7 +16941,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 		unixEnterMutex(tls)
 		rc = findInodeInfo(tls, pNew, pNew+16)
 		if rc != SQLITE_OK {
-			robust_close(tls, pNew, h, 42672)
+			robust_close(tls, pNew, h, 42676)
 			h = -1
 		}
 		unixLeaveMutex(tls)
@@ -16960,7 +16962,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 	storeLastErrno(tls, pNew, 0)
 	if rc != SQLITE_OK {
 		if h >= 0 {
-			robust_close(tls, pNew, h, 42757)
+			robust_close(tls, pNew, h, 42761)
 		}
 	} else {
 		(*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle
@@ -17276,7 +17278,7 @@ __15:
 	if !(fd < 0) {
 		goto __19
 	}
-	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43198), ts+3254, zName, 43198)
+	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43202), ts+3254, zName, 43202)
 	if !(rc == SQLITE_OK) {
 		goto __20
 	}
@@ -17367,7 +17369,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		if *(*int32)(unsafe.Pointer(libc.X__error(tls))) == ENOENT {
 			rc = SQLITE_IOERR | int32(23)<<8
 		} else {
-			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3364, zPath, 43337)
+			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3364, zPath, 43341)
 		}
 		return rc
 	}
@@ -17375,9 +17377,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, zPath, bp)
 		if rc == SQLITE_OK {
 			if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3781, zPath, 43347)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3781, zPath, 43351)
 			}
-			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43349)
+			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43353)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -17441,18 +17443,18 @@ func appendOnePathElement(tls *libc.TLS, pPath uintptr, zName uintptr, nName int
 		zIn = (*DbPath)(unsafe.Pointer(pPath)).FzOut
 		if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8)))(tls, zIn, bp) != 0 {
 			if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != ENOENT {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43443), ts+3452, zIn, 43443)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43447), ts+3452, zIn, 43447)
 			}
 		} else if int32((*stat)(unsafe.Pointer(bp)).Fst_mode)&0170000 == 0120000 {
 			var got Ssize_t
 
 			if libc.PostIncInt32(&(*DbPath)(unsafe.Pointer(pPath)).FnSymlink, 1) > SQLITE_MAX_SYMLINK {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43449)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43453)
 				return
 			}
 			got = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls, zIn, bp+224, uint64(unsafe.Sizeof([1026]int8{}))-uint64(2))
 			if got <= int64(0) || got >= Ssize_t(unsafe.Sizeof([1026]int8{}))-int64(2) {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43454), ts+3443, zIn, 43454)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43458), ts+3443, zIn, 43458)
 				return
 			}
 			*(*int8)(unsafe.Pointer(bp + 224 + uintptr(got))) = int8(0)
@@ -17492,14 +17494,14 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO
 	(*DbPath)(unsafe.Pointer(bp + 1032)).FzOut = zOut
 	if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' {
 		if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, bp, uint64(unsafe.Sizeof([1026]int8{}))-uint64(2)) == uintptr(0) {
-			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43512), ts+3272, zPath, 43512)
+			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43516), ts+3272, zPath, 43516)
 		}
 		appendAllPathElements(tls, bp+1032, bp)
 	}
 	appendAllPathElements(tls, bp+1032, zPath)
 	*(*int8)(unsafe.Pointer(zOut + uintptr((*DbPath)(unsafe.Pointer(bp+1032)).FnUsed))) = int8(0)
 	if (*DbPath)(unsafe.Pointer(bp+1032)).Frc != 0 || (*DbPath)(unsafe.Pointer(bp+1032)).FnUsed < 2 {
-		return Xsqlite3CantopenError(tls, 43518)
+		return Xsqlite3CantopenError(tls, 43522)
 	}
 	if (*DbPath)(unsafe.Pointer(bp+1032)).FnSymlink != 0 {
 		return SQLITE_OK | int32(2)<<8
@@ -17596,7 +17598,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in
 			for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__error(tls))) == EINTR {
 				got = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*24 + 8)))(tls, fd, zBuf, uint64(nBuf)))
 			}
-			robust_close(tls, uintptr(0), fd, 43619)
+			robust_close(tls, uintptr(0), fd, 43623)
 		}
 
 	}
@@ -19029,7 +19031,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 	libc.Xmemset(tls, pPgHdr+32, 0, uint64(unsafe.Sizeof(PgHdr{}))-uint64(uintptr(0)+32))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpPage = pPage
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpData = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpBuf
-	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*72
+	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*80
 	libc.Xmemset(tls, (*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra, 0, uint64(8))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpCache = pCache
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).Fpgno = pgno
@@ -19059,7 +19061,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 // reference count drops to 0, then it is made eligible for recycling.
 func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) {
 	(*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum--
-	if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 {
+	if libc.PreDecInt64(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1) == int64(0) {
 		if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_CLEAN != 0 {
 			pcacheUnpin(tls, p)
 		} else {
@@ -19110,7 +19112,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) {
 	*(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE))
 	*(*U16)(unsafe.Pointer(p + 52)) |= U16(PGHDR_CLEAN)
 
-	if int32((*PgHdr)(unsafe.Pointer(p)).FnRef) == 0 {
+	if (*PgHdr)(unsafe.Pointer(p)).FnRef == int64(0) {
 		pcacheUnpin(tls, p)
 	}
 }
@@ -19214,8 +19216,8 @@ func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) {
 }
 
 func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr {
-	bp := tls.Alloc(72)
-	defer tls.Free(72)
+	bp := tls.Alloc(80)
+	defer tls.Free(80)
 
 	var pTail uintptr
 	pTail = bp
@@ -19293,13 +19295,13 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr {
 //
 // This is not the total number of pages referenced, but the sum of the
 // reference count for all pages.
-func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 {
+func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) I64 {
 	return (*PCache)(unsafe.Pointer(pCache)).FnRefSum
 }
 
 // Return the number of references to the page supplied as an argument.
-func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 {
-	return int32((*PgHdr)(unsafe.Pointer(p)).FnRef)
+func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) I64 {
+	return (*PgHdr)(unsafe.Pointer(p)).FnRef
 }
 
 // Return the total number of pages in the cache.
@@ -21593,7 +21595,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 {
 
 	pPg = Xsqlite3PagerLookup(tls, pPager, iPg)
 	if pPg != 0 {
-		if Xsqlite3PcachePageRefcount(tls, pPg) == 1 {
+		if Xsqlite3PcachePageRefcount(tls, pPg) == int64(1) {
 			Xsqlite3PcacheDrop(tls, pPg)
 		} else {
 			rc = readDbPage(tls, pPg)
@@ -22026,7 +22028,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr,
 	var pageSize U32 = *(*U32)(unsafe.Pointer(pPageSize))
 
 	if (int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) == 0 || (*Pager)(unsafe.Pointer(pPager)).FdbSize == Pgno(0)) &&
-		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 &&
+		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) &&
 		pageSize != 0 && pageSize != U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) {
 		var pNew uintptr = uintptr(0)
 		*(*I64)(unsafe.Pointer(bp)) = int64(0)
@@ -22178,9 +22180,9 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr
 			Xsqlite3OsUnfetch(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, I64(pgno-Pgno(1))*(*Pager)(unsafe.Pointer(pPager)).FpageSize, pData)
 			return SQLITE_NOMEM
 		}
-		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*72
+		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*80
 		(*PgHdr)(unsafe.Pointer(p)).Fflags = U16(PGHDR_MMAP)
-		(*PgHdr)(unsafe.Pointer(p)).FnRef = int16(1)
+		(*PgHdr)(unsafe.Pointer(p)).FnRef = int64(1)
 		(*PgHdr)(unsafe.Pointer(p)).FpPager = pPager
 	}
 
@@ -22512,7 +22514,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 {
 
 		for rc == SQLITE_OK && pList != 0 {
 			var pNext uintptr = (*PgHdr)(unsafe.Pointer(pList)).FpDirty
-			if int32((*PgHdr)(unsafe.Pointer(pList)).FnRef) == 0 {
+			if (*PgHdr)(unsafe.Pointer(pList)).FnRef == int64(0) {
 				rc = pagerStress(tls, pPager, pList)
 			}
 			pList = pNext
@@ -22662,7 +22664,7 @@ __11:
 		goto __12
 	}
 
-	rc = Xsqlite3CantopenError(tls, 60235)
+	rc = Xsqlite3CantopenError(tls, 60239)
 __12:
 	;
 	if !(rc != SQLITE_OK) {
@@ -23043,7 +23045,7 @@ __7:
 	if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) {
 		goto __10
 	}
-	rc = Xsqlite3CantopenError(tls, 60754)
+	rc = Xsqlite3CantopenError(tls, 60758)
 	Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd)
 __10:
 	;
@@ -23149,7 +23151,7 @@ __24:
 }
 
 func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) {
-	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 {
+	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) {
 		pagerUnlockAndRollback(tls, pPager)
 	}
 }
@@ -23167,7 +23169,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla
 	if !(pgno == Pgno(0)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 60967)
+	return Xsqlite3CorruptError(tls, 60971)
 __1:
 	;
 	*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3)
@@ -23206,7 +23208,7 @@ __5:
 	if !(pgno == (*Pager)(unsafe.Pointer(pPager)).FlckPgno) {
 		goto __7
 	}
-	rc = Xsqlite3CorruptError(tls, 60999)
+	rc = Xsqlite3CorruptError(tls, 61003)
 	goto pager_acquire_err
 __7:
 	;
@@ -23283,7 +23285,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags
 		(int32((*Pager)(unsafe.Pointer(pPager)).FeState) == PAGER_READER || flags&PAGER_GET_READONLY != 0))
 
 	if pgno <= Pgno(1) && pgno == Pgno(0) {
-		return Xsqlite3CorruptError(tls, 61078)
+		return Xsqlite3CorruptError(tls, 61082)
 	}
 
 	if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
@@ -24041,7 +24043,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 {
 
 // Return the number of references to the specified page.
 func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 {
-	return Xsqlite3PcachePageRefcount(tls, pPage)
+	return int32(Xsqlite3PcachePageRefcount(tls, pPage))
 }
 
 // Parameter eStat must be one of SQLITE_DBSTATUS_CACHE_HIT, _MISS, _WRITE,
@@ -24284,9 +24286,9 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno
 	pPgOld = Xsqlite3PagerLookup(tls, pPager, pgno)
 
 	if pPgOld != 0 {
-		if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 {
+		if (*PgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
 			Xsqlite3PagerUnrefNotNull(tls, pPgOld)
-			return Xsqlite3CorruptError(tls, 62623)
+			return Xsqlite3CorruptError(tls, 62627)
 		}
 		*(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC)
 		if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 {
@@ -25043,7 +25045,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 {
 		nCollide = idx
 		for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) {
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 64387)
+				return Xsqlite3CorruptError(tls, 64391)
 			}
 		}
 		*(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaPgno + uintptr(idx-1)*4)) = iPage
@@ -25142,7 +25144,7 @@ __6:
 	if !(version != U32(WAL_MAX_VERSION)) {
 		goto __7
 	}
-	rc = Xsqlite3CantopenError(tls, 64519)
+	rc = Xsqlite3CantopenError(tls, 64523)
 	goto finished
 __7:
 	;
@@ -25728,7 +25730,7 @@ __10:
 		goto __14
 	}
 
-	rc = Xsqlite3CorruptError(tls, 65333)
+	rc = Xsqlite3CorruptError(tls, 65337)
 	goto __15
 __14:
 	Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16)
@@ -26003,7 +26005,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 {
 	}
 
 	if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) {
-		rc = Xsqlite3CantopenError(tls, 65682)
+		rc = Xsqlite3CantopenError(tls, 65686)
 	}
 	if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
 		if rc != SQLITE_OK {
@@ -26476,7 +26478,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr
 				iRead = iFrame
 			}
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 66419)
+				return Xsqlite3CorruptError(tls, 66423)
 			}
 			iKey = walNextHash(tls, iKey)
 		}
@@ -26981,7 +26983,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
 
 	if rc == SQLITE_OK {
 		if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf {
-			rc = Xsqlite3CorruptError(tls, 67138)
+			rc = Xsqlite3CorruptError(tls, 67142)
 		} else {
 			rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
 		}
@@ -27639,7 +27641,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32
 		}
 		Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
 		if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
-			rc = Xsqlite3CorruptError(tls, 69249)
+			rc = Xsqlite3CorruptError(tls, 69253)
 		} else {
 			rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
 		}
@@ -27776,7 +27778,7 @@ __1:
 	if !(key == Pgno(0)) {
 		goto __2
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69430)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69434)
 	return
 __2:
 	;
@@ -27793,7 +27795,7 @@ __3:
 		goto __4
 	}
 
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69443)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69447)
 	goto ptrmap_exit
 __4:
 	;
@@ -27801,7 +27803,7 @@ __4:
 	if !(offset < 0) {
 		goto __5
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69448)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69452)
 	goto ptrmap_exit
 __5:
 	;
@@ -27844,7 +27846,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 	offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1)))
 	if offset < 0 {
 		Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
-		return Xsqlite3CorruptError(tls, 69493)
+		return Xsqlite3CorruptError(tls, 69497)
 	}
 
 	*(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
@@ -27854,7 +27856,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 
 	Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
 	if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 {
-		return Xsqlite3CorruptError(tls, 69501)
+		return Xsqlite3CorruptError(tls, 69505)
 	}
 	return SQLITE_OK
 }
@@ -28104,7 +28106,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr,
 	if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 		var ovfl Pgno
 		if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) {
-			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69893)
+			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69897)
 			return
 		}
 		ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4))
@@ -28151,7 +28153,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 {
 	if !(iFree > usableSize-4) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 69951)
+	return Xsqlite3CorruptError(tls, 69955)
 __2:
 	;
 	if !(iFree != 0) {
@@ -28161,7 +28163,7 @@ __2:
 	if !(iFree2 > usableSize-4) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 69954)
+	return Xsqlite3CorruptError(tls, 69958)
 __4:
 	;
 	if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) {
@@ -28174,7 +28176,7 @@ __4:
 	if !(top >= iFree) {
 		goto __6
 	}
-	return Xsqlite3CorruptError(tls, 69962)
+	return Xsqlite3CorruptError(tls, 69966)
 __6:
 	;
 	if !(iFree2 != 0) {
@@ -28183,14 +28185,14 @@ __6:
 	if !(iFree+sz > iFree2) {
 		goto __9
 	}
-	return Xsqlite3CorruptError(tls, 69965)
+	return Xsqlite3CorruptError(tls, 69969)
 __9:
 	;
 	sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1)))
 	if !(iFree2+sz2 > usableSize) {
 		goto __10
 	}
-	return Xsqlite3CorruptError(tls, 69967)
+	return Xsqlite3CorruptError(tls, 69971)
 __10:
 	;
 	libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz)))
@@ -28200,7 +28202,7 @@ __7:
 	if !(iFree+sz > usableSize) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 69971)
+	return Xsqlite3CorruptError(tls, 69975)
 __11:
 	;
 __8:
@@ -28264,7 +28266,7 @@ __19:
 	if !(pc < iCellStart || pc > iCellLast) {
 		goto __22
 	}
-	return Xsqlite3CorruptError(tls, 70004)
+	return Xsqlite3CorruptError(tls, 70008)
 __22:
 	;
 	size = int32((*struct {
@@ -28274,7 +28276,7 @@ __22:
 	if !(cbrk < iCellStart || pc+size > usableSize) {
 		goto __23
 	}
-	return Xsqlite3CorruptError(tls, 70010)
+	return Xsqlite3CorruptError(tls, 70014)
 __23:
 	;
 	*(*U8)(unsafe.Pointer(pAddr1)) = U8(cbrk >> 8)
@@ -28296,7 +28298,7 @@ defragment_out:
 	if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) {
 		goto __24
 	}
-	return Xsqlite3CorruptError(tls, 70024)
+	return Xsqlite3CorruptError(tls, 70028)
 __24:
 	;
 	*(*uint8)(unsafe.Pointer(data + uintptr(hdr+5))) = U8(cbrk >> 8)
@@ -28331,7 +28333,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 				*(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x)))
 				return aData + uintptr(pc)
 			} else if x+pc > maxPC {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70081)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70085)
 				return uintptr(0)
 			} else {
 				*(*U8)(unsafe.Pointer(aData + uintptr(pc+2))) = U8(x >> 8)
@@ -28344,13 +28346,13 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 		pc = int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1)))
 		if pc <= iAddr {
 			if pc != 0 {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70096)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70100)
 			}
 			return uintptr(0)
 		}
 	}
 	if pc > maxPC+nByte-4 {
-		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70103)
+		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70107)
 	}
 	return uintptr(0)
 }
@@ -28375,7 +28377,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 		if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) {
 			top = 65536
 		} else {
-			return Xsqlite3CorruptError(tls, 70152)
+			return Xsqlite3CorruptError(tls, 70156)
 		}
 	}
 
@@ -28386,7 +28388,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 
 			*(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1))
 			if g2 <= gap {
-				return Xsqlite3CorruptError(tls, 70170)
+				return Xsqlite3CorruptError(tls, 70174)
 			} else {
 				return SQLITE_OK
 			}
@@ -28438,22 +28440,22 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 				if int32(iFreeBlk) == 0 {
 					break
 				}
-				return Xsqlite3CorruptError(tls, 70249)
+				return Xsqlite3CorruptError(tls, 70253)
 			}
 			iPtr = iFreeBlk
 		}
 		if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) {
-			return Xsqlite3CorruptError(tls, 70254)
+			return Xsqlite3CorruptError(tls, 70258)
 		}
 
 		if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) {
 			nFrag = U8(U32(iFreeBlk) - iEnd)
 			if iEnd > U32(iFreeBlk) {
-				return Xsqlite3CorruptError(tls, 70266)
+				return Xsqlite3CorruptError(tls, 70270)
 			}
 			iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1)))))
 			if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-				return Xsqlite3CorruptError(tls, 70269)
+				return Xsqlite3CorruptError(tls, 70273)
 			}
 			iSize = U16(iEnd - U32(iStart))
 			iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1))))
@@ -28463,7 +28465,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1))))
 			if iPtrEnd+3 >= int32(iStart) {
 				if iPtrEnd > int32(iStart) {
-					return Xsqlite3CorruptError(tls, 70282)
+					return Xsqlite3CorruptError(tls, 70286)
 				}
 				nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd))
 				iSize = U16(iEnd - U32(iPtr))
@@ -28471,7 +28473,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			}
 		}
 		if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) {
-			return Xsqlite3CorruptError(tls, 70288)
+			return Xsqlite3CorruptError(tls, 70292)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag))
 	}
@@ -28479,10 +28481,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 	x = U16(int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1))))
 	if int32(iStart) <= int32(x) {
 		if int32(iStart) < int32(x) {
-			return Xsqlite3CorruptError(tls, 70297)
+			return Xsqlite3CorruptError(tls, 70301)
 		}
 		if int32(iPtr) != int32(hdr)+1 {
-			return Xsqlite3CorruptError(tls, 70298)
+			return Xsqlite3CorruptError(tls, 70302)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8)
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk)
@@ -28542,7 +28544,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70357)
+			return Xsqlite3CorruptError(tls, 70361)
 		}
 	} else {
 		(*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize = U8(4)
@@ -28578,7 +28580,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70381)
+			return Xsqlite3CorruptError(tls, 70385)
 		}
 	}
 	return SQLITE_OK
@@ -28608,11 +28610,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 		var next U32
 		var size U32
 		if pc < top {
-			return Xsqlite3CorruptError(tls, 70432)
+			return Xsqlite3CorruptError(tls, 70436)
 		}
 		for 1 != 0 {
 			if pc > iCellLast {
-				return Xsqlite3CorruptError(tls, 70437)
+				return Xsqlite3CorruptError(tls, 70441)
 			}
 			next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1))))
 			size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1))))
@@ -28623,15 +28625,15 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 			pc = int32(next)
 		}
 		if next > U32(0) {
-			return Xsqlite3CorruptError(tls, 70447)
+			return Xsqlite3CorruptError(tls, 70451)
 		}
 		if U32(pc)+size > uint32(usableSize) {
-			return Xsqlite3CorruptError(tls, 70451)
+			return Xsqlite3CorruptError(tls, 70455)
 		}
 	}
 
 	if nFree > usableSize || nFree < iCellFirst {
-		return Xsqlite3CorruptError(tls, 70463)
+		return Xsqlite3CorruptError(tls, 70467)
 	}
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst))
 	return SQLITE_OK
@@ -28659,14 +28661,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 {
 		pc = int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2) + 1)))
 
 		if pc < iCellFirst || pc > iCellLast {
-			return Xsqlite3CorruptError(tls, 70494)
+			return Xsqlite3CorruptError(tls, 70498)
 		}
 		sz = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
 		})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc)))
 
 		if pc+sz > usableSize {
-			return Xsqlite3CorruptError(tls, 70499)
+			return Xsqlite3CorruptError(tls, 70503)
 		}
 	}
 	return SQLITE_OK
@@ -28680,7 +28682,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 	data = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 {
-		return Xsqlite3CorruptError(tls, 70531)
+		return Xsqlite3CorruptError(tls, 70535)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1))
@@ -28692,7 +28694,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1))))
 	if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) {
-		return Xsqlite3CorruptError(tls, 70545)
+		return Xsqlite3CorruptError(tls, 70549)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = -1
@@ -28795,7 +28797,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	rc = Xsqlite3CorruptError(tls, 70700)
+	rc = Xsqlite3CorruptError(tls, 70704)
 	goto getAndInitPage_error1
 __1:
 	;
@@ -28823,7 +28825,7 @@ __3:
 	if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) {
 		goto __5
 	}
-	rc = Xsqlite3CorruptError(tls, 70721)
+	rc = Xsqlite3CorruptError(tls, 70725)
 	goto getAndInitPage_error2
 __5:
 	;
@@ -28862,7 +28864,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 {
 			releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
 			*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
-			return Xsqlite3CorruptError(tls, 70787)
+			return Xsqlite3CorruptError(tls, 70791)
 		}
 		(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0)
 	} else {
@@ -29745,7 +29747,7 @@ __16:
 	if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) {
 		goto __18
 	}
-	rc = Xsqlite3CorruptError(tls, 71722)
+	rc = Xsqlite3CorruptError(tls, 71726)
 	goto page1_init_failed
 	goto __19
 __18:
@@ -30160,7 +30162,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 	if int32(eType) == PTRMAP_OVERFLOW2 {
 		if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
-			return Xsqlite3CorruptError(tls, 72143)
+			return Xsqlite3CorruptError(tls, 72147)
 		}
 		Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo)
 	} else {
@@ -30186,7 +30188,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp)
 				if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 					if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-						return Xsqlite3CorruptError(tls, 72162)
+						return Xsqlite3CorruptError(tls, 72166)
 					}
 					if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) {
 						Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo)
@@ -30195,7 +30197,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				}
 			} else {
 				if pCell+uintptr(4) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-					return Xsqlite3CorruptError(tls, 72171)
+					return Xsqlite3CorruptError(tls, 72175)
 				}
 				if Xsqlite3Get4byte(tls, pCell) == iFrom {
 					Xsqlite3Put4byte(tls, pCell, iTo)
@@ -30206,7 +30208,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 		if i == nCell {
 			if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom {
-				return Xsqlite3CorruptError(tls, 72183)
+				return Xsqlite3CorruptError(tls, 72187)
 			}
 			Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo)
 		}
@@ -30222,7 +30224,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag
 	var pPager uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPager
 
 	if iDbPage < Pgno(3) {
-		return Xsqlite3CorruptError(tls, 72218)
+		return Xsqlite3CorruptError(tls, 72222)
 	}
 
 	*(*int32)(unsafe.Pointer(bp)) = Xsqlite3PagerMovepage(tls, pPager, (*MemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -30283,7 +30285,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 			return rc
 		}
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE {
-			return Xsqlite3CorruptError(tls, 72316)
+			return Xsqlite3CorruptError(tls, 72320)
 		}
 
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE {
@@ -30318,7 +30320,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 				if *(*Pgno)(unsafe.Pointer(bp + 40)) > dbSize {
 					releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
-					return Xsqlite3CorruptError(tls, 72368)
+					return Xsqlite3CorruptError(tls, 72372)
 				}
 			}
 
@@ -30378,7 +30380,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 {
 		var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree)
 
 		if nOrig < nFin || nFree >= nOrig {
-			rc = Xsqlite3CorruptError(tls, 72436)
+			rc = Xsqlite3CorruptError(tls, 72440)
 		} else if nFree > Pgno(0) {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
 			if rc == SQLITE_OK {
@@ -30417,7 +30419,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 
 		nOrig = btreePagecount(tls, pBt)
 		if ptrmapPageno(tls, pBt, nOrig) == nOrig || nOrig == U32(Xsqlite3PendingByte)/(*BtShared)(unsafe.Pointer(pBt)).FpageSize+U32(1) {
-			return Xsqlite3CorruptError(tls, 72487)
+			return Xsqlite3CorruptError(tls, 72491)
 		}
 
 		nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
@@ -30448,7 +30450,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 		}
 		nFin = finalDbSize(tls, pBt, nOrig, nVac)
 		if nFin > nOrig {
-			return Xsqlite3CorruptError(tls, 72514)
+			return Xsqlite3CorruptError(tls, 72518)
 		}
 		if nFin < nOrig {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -30789,7 +30791,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u
 
 	if iTable <= Pgno(1) {
 		if iTable < Pgno(1) {
-			return Xsqlite3CorruptError(tls, 72978)
+			return Xsqlite3CorruptError(tls, 72982)
 		} else if btreePagecount(tls, pBt) == Pgno(0) {
 			iTable = Pgno(0)
 		}
@@ -31033,14 +31035,14 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt
 
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
-		return Xsqlite3CorruptError(tls, 73385)
+		return Xsqlite3CorruptError(tls, 73389)
 	}
 
 	getCellInfo(tls, pCur)
 	aPayload = (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
 
 	if Uptr((int64(aPayload)-int64((*MemPage)(unsafe.Pointer(pPage)).FaData))/1) > Uptr((*BtShared)(unsafe.Pointer(pBt)).FusableSize-U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal)) {
-		return Xsqlite3CorruptError(tls, 73400)
+		return Xsqlite3CorruptError(tls, 73404)
 	}
 
 	if offset < U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -31085,7 +31087,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 
 		for *(*Pgno)(unsafe.Pointer(bp)) != 0 {
 			if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage {
-				return Xsqlite3CorruptError(tls, 73462)
+				return Xsqlite3CorruptError(tls, 73466)
 			}
 
 			*(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp))
@@ -31134,7 +31136,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	}
 
 	if rc == SQLITE_OK && amt > U32(0) {
-		return Xsqlite3CorruptError(tls, 73547)
+		return Xsqlite3CorruptError(tls, 73551)
 	}
 	return rc
 }
@@ -31214,7 +31216,7 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt
 
 func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 {
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 {
-		return Xsqlite3CorruptError(tls, 73684)
+		return Xsqlite3CorruptError(tls, 73688)
 	}
 	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	*(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl))
@@ -31305,7 +31307,7 @@ __2:
 	if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 73823)
+	return Xsqlite3CorruptError(tls, 73827)
 __11:
 	;
 skip_init:
@@ -31325,7 +31327,7 @@ __12:
 	if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) {
 		goto __16
 	}
-	return Xsqlite3CorruptError(tls, 73835)
+	return Xsqlite3CorruptError(tls, 73839)
 __16:
 	;
 	subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8))
@@ -31535,7 +31537,7 @@ __19:
 	if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __21
 	}
-	return Xsqlite3CorruptError(tls, 74077)
+	return Xsqlite3CorruptError(tls, 74081)
 __21:
 	;
 	goto __19
@@ -31739,7 +31741,7 @@ __2:
 	if !!(int32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit) != 0) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 74273)
+	return Xsqlite3CorruptError(tls, 74277)
 __4:
 	;
 	goto bypass_moveto_root
@@ -31804,7 +31806,7 @@ __15:
 	if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) {
 		goto __17
 	}
-	rc = Xsqlite3CorruptError(tls, 74360)
+	rc = Xsqlite3CorruptError(tls, 74364)
 	goto moveto_index_finish
 __17:
 	;
@@ -31852,7 +31854,7 @@ __22:
 	if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) {
 		goto __24
 	}
-	rc = Xsqlite3CorruptError(tls, 74392)
+	rc = Xsqlite3CorruptError(tls, 74396)
 __24:
 	;
 	goto moveto_index_finish
@@ -31971,7 +31973,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 {
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1))
 	if !(int32((*MemPage)(unsafe.Pointer(pPage)).FisInit) != 0) || Xsqlite3FaultSim(tls, 412) != 0 {
-		return Xsqlite3CorruptError(tls, 74508)
+		return Xsqlite3CorruptError(tls, 74512)
 	}
 
 	if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
@@ -32131,7 +32133,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr
 	if !(n >= mxPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74688)
+	return Xsqlite3CorruptError(tls, 74692)
 __1:
 	;
 	if !(n > U32(0)) {
@@ -32196,7 +32198,7 @@ __15:
 	if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) {
 		goto __16
 	}
-	rc = Xsqlite3CorruptError(tls, 74744)
+	rc = Xsqlite3CorruptError(tls, 74748)
 	goto __17
 __16:
 	rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0)
@@ -32232,7 +32234,7 @@ __19:
 		goto __22
 	}
 
-	rc = Xsqlite3CorruptError(tls, 74773)
+	rc = Xsqlite3CorruptError(tls, 74777)
 	goto end_allocate_page
 	goto __23
 __22:
@@ -32276,7 +32278,7 @@ __27:
 	if !(iNewTrunk > mxPage) {
 		goto __32
 	}
-	rc = Xsqlite3CorruptError(tls, 74807)
+	rc = Xsqlite3CorruptError(tls, 74811)
 	goto end_allocate_page
 __32:
 	;
@@ -32388,7 +32390,7 @@ __40:
 	if !(iPage > mxPage || iPage < Pgno(2)) {
 		goto __51
 	}
-	rc = Xsqlite3CorruptError(tls, 74872)
+	rc = Xsqlite3CorruptError(tls, 74876)
 	goto end_allocate_page
 __51:
 	;
@@ -32546,7 +32548,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 {
 	if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74999)
+	return Xsqlite3CorruptError(tls, 75003)
 __1:
 	;
 	if !(pMemPage != 0) {
@@ -32603,7 +32605,7 @@ __7:
 	if !(iTrunk > btreePagecount(tls, pBt)) {
 		goto __10
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75046)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75050)
 	goto freepage_out
 __10:
 	;
@@ -32619,7 +32621,7 @@ __11:
 	if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) {
 		goto __12
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75057)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75061)
 	goto freepage_out
 __12:
 	;
@@ -32693,7 +32695,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 	var ovflPageSize U32
 
 	if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 75146)
+		return Xsqlite3CorruptError(tls, 75150)
 	}
 	ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
 	pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt
@@ -32705,7 +32707,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 		*(*Pgno)(unsafe.Pointer(bp + 8)) = Pgno(0)
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 		if ovflPgno < Pgno(2) || ovflPgno > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 75163)
+			return Xsqlite3CorruptError(tls, 75167)
 		}
 		if nOvfl != 0 {
 			rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8)
@@ -32716,7 +32718,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 
 		if (*(*uintptr)(unsafe.Pointer(bp)) != 0 || libc.AssignPtrUintptr(bp, btreePageLookup(tls, pBt, ovflPgno)) != uintptr(0)) &&
 			Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 {
-			rc = Xsqlite3CorruptError(tls, 75183)
+			rc = Xsqlite3CorruptError(tls, 75187)
 		} else {
 			rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp)), ovflPgno)
 		}
@@ -32881,7 +32883,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
 	hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75436)
+		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75440)
 		return
 	}
 	rc = freeSpace(tls, pPage, uint16(pc), uint16(sz))
@@ -33160,12 +33162,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 
 		if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) {
 			if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) {
-				return Xsqlite3CorruptError(tls, 75737)
+				return Xsqlite3CorruptError(tls, 75741)
 			}
 			pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1)
 		} else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) &&
 			Uptr(pCell) < Uptr(pSrcEnd) {
-			return Xsqlite3CorruptError(tls, 75742)
+			return Xsqlite3CorruptError(tls, 75746)
 		}
 
 		pData -= uintptr(sz)
@@ -33173,7 +33175,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 		*(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1)
 		pCellptr += uintptr(2)
 		if pData < pCellptr {
-			return Xsqlite3CorruptError(tls, 75748)
+			return Xsqlite3CorruptError(tls, 75752)
 		}
 		libc.Xmemmove(tls, pData, pCell, uint64(sz))
 
@@ -33233,7 +33235,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr,
 
 		if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) &&
 			Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) {
-			Xsqlite3CorruptError(tls, 75833)
+			Xsqlite3CorruptError(tls, 75837)
 			return 1
 		}
 		libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz))
@@ -33322,7 +33324,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC
 	if !(nShift > nCell) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 75947)
+	return Xsqlite3CorruptError(tls, 75951)
 __2:
 	;
 	libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2))
@@ -33438,7 +33440,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr
 	var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt
 
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
-		return Xsqlite3CorruptError(tls, 76060)
+		return Xsqlite3CorruptError(tls, 76064)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 136)) = allocateBtreePage(tls, pBt, bp, bp+8, uint32(0), uint8(0))
@@ -33758,7 +33760,7 @@ __22:
 	if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) {
 		goto __25
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76481)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76485)
 	goto balance_cleanup
 __25:
 	;
@@ -33769,7 +33771,7 @@ __25:
 	if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) {
 		goto __27
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76505)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76509)
 	goto balance_cleanup
 __27:
 	;
@@ -33927,7 +33929,7 @@ __52:
 	if !(k > NB+2) {
 		goto __55
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76606)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76610)
 	goto balance_cleanup
 __55:
 	;
@@ -34001,7 +34003,7 @@ __65:
 	}()) {
 		goto __67
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76639)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76643)
 	goto balance_cleanup
 __67:
 	;
@@ -34064,7 +34066,7 @@ __73:
 	}()) {
 		goto __75
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76683)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76687)
 	goto balance_cleanup
 __75:
 	;
@@ -34092,7 +34094,7 @@ __76:
 		*(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) {
 		goto __81
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76716)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76720)
 __81:
 	;
 	if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) {
@@ -34353,7 +34355,7 @@ __120:
 	if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) {
 		goto __121
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76916)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76920)
 	goto balance_cleanup
 __121:
 	;
@@ -34545,7 +34547,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 {
 		if pOther != pCur &&
 			int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID &&
 			(*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage {
-			return Xsqlite3CorruptError(tls, 77146)
+			return Xsqlite3CorruptError(tls, 77150)
 		}
 	}
 	return SQLITE_OK
@@ -34583,7 +34585,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 {
 				break
 			}
 		} else if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) > 1 {
-			rc = Xsqlite3CorruptError(tls, 77206)
+			rc = Xsqlite3CorruptError(tls, 77210)
 		} else {
 			var pParent uintptr = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-1)*8))
 			var iIdx int32 = int32(*(*U16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-1)*2)))
@@ -34689,7 +34691,7 @@ func btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 			return rc
 		}
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
-			rc = Xsqlite3CorruptError(tls, 77370)
+			rc = Xsqlite3CorruptError(tls, 77374)
 		} else {
 			if U32(iOffset)+ovflPageSize < U32(nTotal) {
 				ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -34714,7 +34716,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 
 	if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd ||
 		(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FcellOffset) {
-		return Xsqlite3CorruptError(tls, 77398)
+		return Xsqlite3CorruptError(tls, 77402)
 	}
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
 		return btreeOverwriteContent(tls, pPage, (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX,
@@ -34784,7 +34786,7 @@ __2:
 		goto __3
 	}
 
-	return Xsqlite3CorruptError(tls, 77479)
+	return Xsqlite3CorruptError(tls, 77483)
 __3:
 	;
 __1:
@@ -34897,7 +34899,7 @@ __7:
 		goto __21
 	}
 
-	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77602)
+	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77606)
 	goto __22
 __21:
 	*(*int32)(unsafe.Pointer(bp + 120)) = btreeComputeFreeSpace(tls, pPage)
@@ -34957,6 +34959,7 @@ __30:
 __25:
 	;
 	idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
+	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !(*(*int32)(unsafe.Pointer(bp)) == 0) {
 		goto __31
 	}
@@ -34964,7 +34967,7 @@ __25:
 	if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) {
 		goto __33
 	}
-	return Xsqlite3CorruptError(tls, 77640)
+	return Xsqlite3CorruptError(tls, 77645)
 __33:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage)
@@ -35002,13 +35005,13 @@ __37:
 	if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) {
 		goto __39
 	}
-	return Xsqlite3CorruptError(tls, 77667)
+	return Xsqlite3CorruptError(tls, 77672)
 __39:
 	;
 	if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 124))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __40
 	}
-	return Xsqlite3CorruptError(tls, 77670)
+	return Xsqlite3CorruptError(tls, 77675)
 __40:
 	;
 	libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 124))))
@@ -35039,7 +35042,6 @@ __32:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 124)), uintptr(0), uint32(0))
 
-	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) {
 		goto __44
 	}
@@ -35114,7 +35116,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 	nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
 	aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
 	if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 77773)
+		return Xsqlite3CorruptError(tls, 77777)
 	}
 	nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
 	if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -35139,7 +35141,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 
 		if nRem > nIn {
 			if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-				return Xsqlite3CorruptError(tls, 77798)
+				return Xsqlite3CorruptError(tls, 77802)
 			}
 			ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
 		}
@@ -35240,7 +35242,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 				return *(*int32)(unsafe.Pointer(bp + 24))
 			}
 		} else {
-			return Xsqlite3CorruptError(tls, 77894)
+			return Xsqlite3CorruptError(tls, 77898)
 		}
 	}
 
@@ -35248,11 +35250,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 	iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
-		return Xsqlite3CorruptError(tls, 77903)
+		return Xsqlite3CorruptError(tls, 77907)
 	}
 	pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx) + 1)))))
 	if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 {
-		return Xsqlite3CorruptError(tls, 77907)
+		return Xsqlite3CorruptError(tls, 77911)
 	}
 
 	bPreserve = U8(libc.Bool32(int32(flags)&BTREE_SAVEPOSITION != 0))
@@ -35327,7 +35329,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 		}
 		pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)) + 1)))))
 		if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 {
-			return Xsqlite3CorruptError(tls, 77998)
+			return Xsqlite3CorruptError(tls, 78002)
 		}
 		nCell = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
@@ -35396,7 +35398,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 
 		Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp)
 		if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 78114)
+			return Xsqlite3CorruptError(tls, 78118)
 		}
 		*(*Pgno)(unsafe.Pointer(bp))++
 
@@ -35425,7 +35427,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 			}
 			*(*int32)(unsafe.Pointer(bp + 40)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp)), bp+32, bp+36)
 			if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE {
-				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78162)
+				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78166)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -35501,7 +35503,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 78252)
+	return Xsqlite3CorruptError(tls, 78256)
 __1:
 	;
 	*(*int32)(unsafe.Pointer(bp + 32)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0)
@@ -35515,7 +35517,7 @@ __2:
 		Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) {
 		goto __3
 	}
-	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78259)
+	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78263)
 	goto cleardatabasepage_out
 __3:
 	;
@@ -35649,7 +35651,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3
 	var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt
 
 	if iTable > btreePagecount(tls, pBt) {
-		return Xsqlite3CorruptError(tls, 78363)
+		return Xsqlite3CorruptError(tls, 78367)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 12)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0))
@@ -38118,7 +38120,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32,
 	var rc int32
 	(*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null)
 	if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) {
-		return Xsqlite3CorruptError(tls, 81630)
+		return Xsqlite3CorruptError(tls, 81634)
 	}
 	if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) {
 		rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz)
@@ -38767,7 +38769,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		return Xsqlite3GetVarint32(tls, a, bp)
 	}())
 	if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) {
-		return Xsqlite3CorruptError(tls, 82270)
+		return Xsqlite3CorruptError(tls, 82274)
 	}
 	iField = *(*int32)(unsafe.Pointer(bp))
 	for i = 0; i <= iCol; i++ {
@@ -38782,14 +38784,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		}())
 
 		if iHdr > *(*int32)(unsafe.Pointer(bp)) {
-			return Xsqlite3CorruptError(tls, 82276)
+			return Xsqlite3CorruptError(tls, 82280)
 		}
 		szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4))))
 		iField = iField + szField
 	}
 
 	if iField > nRec {
-		return Xsqlite3CorruptError(tls, 82282)
+		return Xsqlite3CorruptError(tls, 82286)
 	}
 	if pMem == uintptr(0) {
 		pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db))
@@ -41093,7 +41095,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 {
 		return rc
 	}
 	if *(*int32)(unsafe.Pointer(bp)) != 0 {
-		return Xsqlite3CorruptError(tls, 86058)
+		return Xsqlite3CorruptError(tls, 86062)
 	}
 	(*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0)
 	(*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE)
@@ -41644,7 +41646,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		i = 0
 	}
 	if d1 > uint32(nKey1) {
-		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86985))
+		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86989))
 		return 0
 	}
 
@@ -41709,7 +41711,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 
 				if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) ||
 					int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87062))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87066))
 					return 0
 				} else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 {
 					(*Mem)(unsafe.Pointer(bp + 8)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc
@@ -41743,7 +41745,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 				var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2))
 
 				if d1+U32(nStr) > uint32(nKey1) {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87092))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87096))
 					return 0
 				} else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 {
 					if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) {
@@ -41793,7 +41795,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		}
 		idx1 = idx1 + U32(Xsqlite3VarintLen(tls, uint64(*(*U32)(unsafe.Pointer(bp + 64)))))
 		if idx1 >= *(*U32)(unsafe.Pointer(bp + 4)) {
-			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87136))
+			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87140))
 			return 0
 		}
 	}
@@ -41939,7 +41941,7 @@ __5:
 	if !(szHdr+nStr > nKey1) {
 		goto __7
 	}
-	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87299))
+	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87303))
 	return 0
 __7:
 	;
@@ -42110,7 +42112,7 @@ __6:
 idx_rowid_corruption:
 	;
 	Xsqlite3VdbeMemReleaseMalloc(tls, bp)
-	return Xsqlite3CorruptError(tls, 87457)
+	return Xsqlite3CorruptError(tls, 87461)
 }
 
 // Compare the key of the index entry that cursor pC is pointing to against
@@ -42136,7 +42138,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
 
 	if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) {
 		*(*int32)(unsafe.Pointer(res)) = 0
-		return Xsqlite3CorruptError(tls, 87490)
+		return Xsqlite3CorruptError(tls, 87494)
 	}
 	Xsqlite3VdbeMemInit(tls, bp, db, uint16(0))
 	rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp)
@@ -42410,7 +42412,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 {
 		var v uintptr = pStmt
 		var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb
 		if vdbeSafety(tls, v) != 0 {
-			return Xsqlite3MisuseError(tls, 87854)
+			return Xsqlite3MisuseError(tls, 87858)
 		}
 		Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) {
@@ -43025,7 +43027,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 {
 	var db uintptr
 
 	if vdbeSafetyNotNull(tls, v) != 0 {
-		return Xsqlite3MisuseError(tls, 88544)
+		return Xsqlite3MisuseError(tls, 88548)
 	}
 	db = (*Vdbe)(unsafe.Pointer(v)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -43545,7 +43547,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 
 	var pVar uintptr
 	if vdbeSafetyNotNull(tls, p) != 0 {
-		return Xsqlite3MisuseError(tls, 89208)
+		return Xsqlite3MisuseError(tls, 89212)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 	if int32((*Vdbe)(unsafe.Pointer(p)).FeVdbeState) != VDBE_READY_STATE {
@@ -43553,7 +43555,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 		Xsqlite3_log(tls, SQLITE_MISUSE,
 			ts+5350, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql))
-		return Xsqlite3MisuseError(tls, 89216)
+		return Xsqlite3MisuseError(tls, 89220)
 	}
 	if i >= uint32((*Vdbe)(unsafe.Pointer(p)).FnVar) {
 		Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE)
@@ -43958,7 +43960,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89707)
+	rc = Xsqlite3MisuseError(tls, 89711)
 	goto preupdate_old_out
 __1:
 	;
@@ -44102,7 +44104,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89809)
+	rc = Xsqlite3MisuseError(tls, 89813)
 	goto preupdate_new_out
 __1:
 	;
@@ -44546,10 +44548,6 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 {
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Real != 0 {
 			h = h + U64(Xsqlite3VdbeIntValue(tls, p))
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 {
-			h = h + U64((*Mem)(unsafe.Pointer(p)).Fn)
-			if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Zero != 0 {
-				h = h + U64(*(*int32)(unsafe.Pointer(p)))
-			}
 		}
 	}
 	return h
@@ -47198,7 +47196,7 @@ op_column_corrupt:
 	goto __9
 	goto __425
 __424:
-	rc = Xsqlite3CorruptError(tls, 93317)
+	rc = Xsqlite3CorruptError(tls, 93320)
 	goto abort_due_to_error
 __425:
 	;
@@ -48958,7 +48956,7 @@ notExistsWithKey:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) {
 		goto __682
 	}
-	rc = Xsqlite3CorruptError(tls, 95560)
+	rc = Xsqlite3CorruptError(tls, 95563)
 	goto __683
 __682:
 	goto jump_to_p2
@@ -49736,7 +49734,7 @@ __767:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) {
 		goto __770
 	}
-	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96635, ts+5859)
+	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96638, ts+5859)
 	goto abort_due_to_error
 __770:
 	;
@@ -49846,7 +49844,7 @@ __780:
 	if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) {
 		goto __781
 	}
-	rc = Xsqlite3CorruptError(tls, 96840)
+	rc = Xsqlite3CorruptError(tls, 96843)
 	goto abort_due_to_error
 __781:
 	;
@@ -50040,7 +50038,7 @@ __802:
 		goto __803
 	}
 
-	rc = Xsqlite3CorruptError(tls, 97092)
+	rc = Xsqlite3CorruptError(tls, 97095)
 __803:
 	;
 	Xsqlite3DbFreeNN(tls, db, zSql)
@@ -51407,7 +51405,7 @@ __955:
 	if !(rc == SQLITE_IOERR|int32(33)<<8) {
 		goto __957
 	}
-	rc = Xsqlite3CorruptError(tls, 99031)
+	rc = Xsqlite3CorruptError(tls, 99034)
 __957:
 	;
 __956:
@@ -51927,7 +51925,7 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99516)
+		return Xsqlite3MisuseError(tls, 99519)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -52010,7 +52008,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99616)
+		return Xsqlite3MisuseError(tls, 99619)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -55450,14 +55448,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			;
 			Xsqlite3WalkExpr(tls, pWalker, (*Expr)(unsafe.Pointer(pExpr)).FpLeft)
 			if 0 == Xsqlite3ExprCanBeNull(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
-				if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6757
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsTrue)
-				} else {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6762
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
-				}
-				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
+				*(*int32)(unsafe.Pointer(pExpr + 8)) = libc.Bool32(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL)
+				*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IntValue)
+				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_INTEGER)
+
 				i = 0
 				p = pNC
 			__4:
@@ -55501,7 +55495,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_GenCol) != 0 {
-					notValidImpl(tls, pParse, pNC, ts+6768, uintptr(0), pExpr)
+					notValidImpl(tls, pParse, pNC, ts+6757, uintptr(0), pExpr)
 				}
 
 				pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight
@@ -55565,7 +55559,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 						(*Expr)(unsafe.Pointer(pExpr)).FiTable = exprProbability(tls, (*ExprList_item)(unsafe.Pointer(pList+8+1*32)).FpExpr)
 						if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 {
 							Xsqlite3ErrorMsg(tls, pParse,
-								ts+6785, libc.VaList(bp, pExpr))
+								ts+6774, libc.VaList(bp, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
 					} else {
@@ -55581,7 +55575,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 					var auth int32 = Xsqlite3AuthCheck(tls, pParse, SQLITE_FUNCTION, uintptr(0), (*FuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0))
 					if auth != SQLITE_OK {
 						if auth == SQLITE_DENY {
-							Xsqlite3ErrorMsg(tls, pParse, ts+6849,
+							Xsqlite3ErrorMsg(tls, pParse, ts+6838,
 								libc.VaList(bp+8, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
@@ -55595,7 +55589,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				}
 				if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_CONSTANT) == U32(0) {
 					if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_PartIdx|NC_GenCol) != 0 {
-						notValidImpl(tls, pParse, pNC, ts+6885, uintptr(0), pExpr)
+						notValidImpl(tls, pParse, pNC, ts+6874, uintptr(0), pExpr)
 					}
 
 				} else {
@@ -55618,30 +55612,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			if 0 == libc.Bool32(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 				if pDef != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+6913, libc.VaList(bp+16, pExpr))
+						ts+6902, libc.VaList(bp+16, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowAgg == 0 ||
 					is_agg != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) ||
 					is_agg != 0 && pWin != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowWin == 0 {
 					var zType uintptr
 					if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 {
-						zType = ts + 6956
+						zType = ts + 6945
 					} else {
-						zType = ts + 6963
+						zType = ts + 6952
 					}
-					Xsqlite3ErrorMsg(tls, pParse, ts+6973, libc.VaList(bp+24, zType, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6962, libc.VaList(bp+24, zType, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 					is_agg = 0
 				} else if no_such_func != 0 && int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7001, libc.VaList(bp+40, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6990, libc.VaList(bp+40, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if wrong_num_args != 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7023,
+					Xsqlite3ErrorMsg(tls, pParse, ts+7012,
 						libc.VaList(bp+48, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg == 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7067,
+						ts+7056,
 						libc.VaList(bp+56, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				}
@@ -55713,15 +55707,15 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_SelfRef != 0 {
-					notValidImpl(tls, pParse, pNC, ts+7115, pExpr, pExpr)
+					notValidImpl(tls, pParse, pNC, ts+7104, pExpr, pExpr)
 				} else {
 					Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32)))
 				}
 
 				if nRef != (*NameContext)(unsafe.Pointer(pNC)).FnRef {
 					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_VarSelect)
-					*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_VarSelect
 				}
+				*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_Subquery
 			}
 			break
 
@@ -55729,7 +55723,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 	case TK_VARIABLE:
 		{
 			if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IsCheck|NC_PartIdx|NC_IdxExpr|NC_GenCol) != 0 {
-				notValidImpl(tls, pParse, pNC, ts+7126, pExpr, pExpr)
+				notValidImpl(tls, pParse, pNC, ts+7115, pExpr, pExpr)
 			}
 
 			break
@@ -55860,7 +55854,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3
 	defer tls.Free(24)
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+7137, libc.VaList(bp, i, zType, mx))
+		ts+7126, libc.VaList(bp, i, zType, mx))
 	Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pError)
 }
 
@@ -55880,7 +55874,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	}
 	db = (*Parse)(unsafe.Pointer(pParse)).Fdb
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7193, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7182, 0)
 		return 1
 	}
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
@@ -55915,7 +55909,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 			}
 			if Xsqlite3ExprIsInteger(tls, pE, bp+8) != 0 {
 				if *(*int32)(unsafe.Pointer(bp + 8)) <= 0 || *(*int32)(unsafe.Pointer(bp + 8)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr {
-					resolveOutOfRangeError(tls, pParse, ts+7227, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
+					resolveOutOfRangeError(tls, pParse, ts+7216, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
 					return 1
 				}
 			} else {
@@ -55972,7 +55966,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
 		if int32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2) == 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+7233, libc.VaList(bp, i+1))
+				ts+7222, libc.VaList(bp, i+1))
 			return 1
 		}
 	}
@@ -56000,7 +55994,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr,
 		return 0
 	}
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7294, libc.VaList(bp, zType))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7283, libc.VaList(bp, zType))
 		return 1
 	}
 	pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList
@@ -56214,7 +56208,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		*(*int32)(unsafe.Pointer(bp + 40)) |= NC_UEList
 		if (*Select)(unsafe.Pointer(p)).FpHaving != 0 {
 			if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Aggregate) == U32(0) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7325, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+7314, 0)
 				return WRC_Abort
 			}
 			if Xsqlite3ResolveExprNames(tls, bp, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 {
@@ -56254,7 +56248,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 
 		if (*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) &&
 			isCompound <= nCompound &&
-			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7227) != 0 {
+			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7216) != 0 {
 			return WRC_Abort
 		}
 		if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -56265,7 +56259,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		if pGroupBy != 0 {
 			var pItem uintptr
 
-			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7364) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
+			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7353) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 				return WRC_Abort
 			}
 			i = 0
@@ -56277,7 +56271,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 			{
 				if (*Expr)(unsafe.Pointer((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr)).Fflags&U32(EP_Agg) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7370, 0)
+						ts+7359, 0)
 					return WRC_Abort
 				}
 
@@ -57141,7 +57135,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32
 	var mxHeight int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4))
 	if nHeight > mxHeight {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+7429, libc.VaList(bp, mxHeight))
+			ts+7418, libc.VaList(bp, mxHeight))
 		rc = SQLITE_ERROR
 	}
 	return rc
@@ -57390,10 +57384,10 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList
 			nExprElem = 1
 		}
 		if nExprElem != nElem {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7477,
+			Xsqlite3ErrorMsg(tls, pParse, ts+7466,
 				libc.VaList(bp, nExprElem, func() uintptr {
 					if nExprElem > 1 {
-						return ts + 7521
+						return ts + 7510
 					}
 					return ts + 1547
 				}(), nElem))
@@ -57434,7 +57428,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt
 		!(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 		Xsqlite3ExprDeferredDelete(tls, pParse, pLeft)
 		Xsqlite3ExprDeferredDelete(tls, pParse, pRight)
-		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7523)
+		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7512)
 	} else {
 		return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight)
 	}
@@ -57460,7 +57454,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u
 	if pList != 0 &&
 		(*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) &&
 		!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7525, libc.VaList(bp, pToken))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7514, libc.VaList(bp, pToken))
 	}
 	*(*uintptr)(unsafe.Pointer(pNew + 32)) = pList
 	*(*U32)(unsafe.Pointer(pNew + 4)) |= U32(EP_HasFunc)
@@ -57488,7 +57482,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD
 	if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromDDL) != U32(0) {
 		if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_DIRECT) != U32(0) ||
 			(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) == uint64(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7559, libc.VaList(bp, pExpr))
+			Xsqlite3ErrorMsg(tls, pParse, ts+7548, libc.VaList(bp, pExpr))
 		}
 	}
 }
@@ -57535,7 +57529,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 			}
 
 			if bOk == 0 || *(*I64)(unsafe.Pointer(bp + 8)) < int64(1) || *(*I64)(unsafe.Pointer(bp + 8)) > I64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7579,
+				Xsqlite3ErrorMsg(tls, pParse, ts+7568,
 					libc.VaList(bp, *(*int32)(unsafe.Pointer(db + 136 + 9*4))))
 				Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 				return
@@ -57560,7 +57554,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 	}
 	(*Expr)(unsafe.Pointer(pExpr)).FiColumn = x
 	if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7622, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7611, 0)
 		Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 	}
 }
@@ -58135,7 +58129,7 @@ __2:
 	if !(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_SELECT && (*IdList)(unsafe.Pointer(pColumns)).FnId != libc.AssignInt32(&n, Xsqlite3ExprVectorSize(tls, pExpr))) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7645,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7634,
 		libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n))
 	goto vector_append_error
 __3:
@@ -58258,7 +58252,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr,
 	var mx int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4))
 
 	if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7675, libc.VaList(bp, zObject))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7664, libc.VaList(bp, zObject))
 	}
 }
 
@@ -58314,10 +58308,10 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int
 //	  "false"                        EP_IsFalse
 //	  anything else                  0
 func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 {
-	if Xsqlite3StrICmp(tls, zIn, ts+6757) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7687) == 0 {
 		return U32(EP_IsTrue)
 	}
-	if Xsqlite3StrICmp(tls, zIn, ts+6762) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7692) == 0 {
 		return U32(EP_IsFalse)
 	}
 	return U32(0)
@@ -59392,7 +59386,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 {
 	}
 	if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
-		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7523)
+		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7512)
 		if pLimit != 0 {
 			(*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC)
 			pLimit = Xsqlite3PExpr(tls, pParse, TK_NE,
@@ -59830,6 +59824,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr
 func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) {
 	var iAddr int32
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
+	var nErr int32 = (*Parse)(unsafe.Pointer(pParse)).FnErr
 
 	if (*Parse)(unsafe.Pointer(pParse)).FiSelfTab > 0 {
 		iAddr = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Parse)(unsafe.Pointer(pParse)).FiSelfTab-1, 0, regOut)
@@ -59843,6 +59838,9 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr
 	if iAddr != 0 {
 		Xsqlite3VdbeJumpHere(tls, v, iAddr)
 	}
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr > nErr {
+		(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FerrByteOffset = -1
+	}
 }
 
 // Generate code to extract the value of the iCol-th column of a table.
@@ -60061,6 +60059,7 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 	var p uintptr
 	var v uintptr
 	for p = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr; p != 0; p = (*IndexedExpr)(unsafe.Pointer(p)).FpIENext {
+		var exprAff U8
 		var iDataCur int32 = (*IndexedExpr)(unsafe.Pointer(p)).FiDataCur
 		if iDataCur < 0 {
 			continue
@@ -60074,6 +60073,14 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 		if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IndexedExpr)(unsafe.Pointer(p)).FpExpr, iDataCur) != 0 {
 			continue
 		}
+
+		exprAff = U8(Xsqlite3ExprAffinity(tls, pExpr))
+		if int32(exprAff) <= SQLITE_AFF_BLOB && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_BLOB ||
+			int32(exprAff) == SQLITE_AFF_TEXT && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_TEXT ||
+			int32(exprAff) >= SQLITE_AFF_NUMERIC && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_NUMERIC {
+			continue
+		}
+
 		v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 
 		if (*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow != 0 {
@@ -60847,7 +60854,7 @@ __121:
 	if !((*Expr)(unsafe.Pointer(pExpr)).FiTable != n1) {
 		goto __122
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7645,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7634,
 		libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1))
 __122:
 	;
@@ -60869,11 +60876,10 @@ __49:
 	return target
 
 __50:
-	if !(!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) &&
-		(*Expr)(unsafe.Pointer(pExpr)).FpLeft != 0 &&
-		int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_FUNCTION) {
+	if !!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) {
 		goto __123
 	}
+
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	if !(inReg != target) {
 		goto __125
@@ -60944,13 +60950,19 @@ __129:
 	;
 __127:
 	;
-	addrINR = Xsqlite3VdbeAddOp1(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable)
+	addrINR = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable, 0, target)
 
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = U8(0)
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = okConstFactor
+	if !(inReg != target) {
+		goto __130
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, inReg, target)
+	inReg = target
+__130:
+	;
 	Xsqlite3VdbeJumpHere(tls, v, addrINR)
-	Xsqlite3VdbeChangeP3(tls, v, addrINR, inReg)
 	goto __5
 
 __56:
@@ -60963,15 +60975,15 @@ __56:
 	nExpr = (*ExprList)(unsafe.Pointer(pEList)).FnExpr
 	endLabel = Xsqlite3VdbeMakeLabel(tls, pParse)
 	if !(libc.AssignUintptr(&pX, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) != uintptr(0)) {
-		goto __130
+		goto __131
 	}
 	pDel = Xsqlite3ExprDup(tls, db1, pX, 0)
 	if !((*Sqlite3)(unsafe.Pointer(db1)).FmallocFailed != 0) {
-		goto __131
+		goto __132
 	}
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	goto __5
-__131:
+__132:
 	;
 	exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+40))
 
@@ -60981,22 +60993,22 @@ __131:
 	pTest = bp + 120
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = 0
-__130:
+__131:
 	;
 	i1 = 0
-__132:
+__133:
 	if !(i1 < nExpr-1) {
-		goto __134
+		goto __135
 	}
 	if !(pX != 0) {
-		goto __135
+		goto __136
 	}
 
 	(*Expr)(unsafe.Pointer(bp + 120)).FpRight = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
-	goto __136
-__135:
-	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+	goto __137
 __136:
+	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+__137:
 	;
 	nextCase = Xsqlite3VdbeMakeLabel(tls, pParse)
 
@@ -61005,21 +61017,21 @@ __136:
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(aListelem+uintptr(i1+1)*32)).FpExpr, target)
 	Xsqlite3VdbeGoto(tls, v, endLabel)
 	Xsqlite3VdbeResolveLabel(tls, v, nextCase)
-	goto __133
-__133:
-	i1 = i1 + 2
-	goto __132
 	goto __134
 __134:
+	i1 = i1 + 2
+	goto __133
+	goto __135
+__135:
 	;
 	if !(nExpr&1 != 0) {
-		goto __137
+		goto __138
 	}
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(pEList+8+uintptr(nExpr-1)*32)).FpExpr, target)
-	goto __138
-__137:
-	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+	goto __139
 __138:
+	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+__139:
 	;
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	setDoNotMergeFlagOnCopy(tls, v)
@@ -61029,27 +61041,27 @@ __138:
 __57:
 	;
 	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).FpTriggerTab) != 0) && !(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0)) {
-		goto __139
+		goto __140
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
 		ts+8075, 0)
 	return 0
-__139:
-	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
-		goto __140
-	}
-	Xsqlite3MayAbort(tls, pParse)
 __140:
 	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
 		goto __141
 	}
+	Xsqlite3MayAbort(tls, pParse)
+__141:
+	;
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+		goto __142
+	}
 	Xsqlite3VdbeAddOp4(tls,
 		v, OP_Halt, SQLITE_OK, OE_Ignore, 0, *(*uintptr)(unsafe.Pointer(pExpr + 8)), 0)
 
-	goto __142
-__141:
+	goto __143
+__142:
 	Xsqlite3HaltConstraint(tls, pParse,
 		func() int32 {
 			if (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab != 0 {
@@ -61058,7 +61070,7 @@ __141:
 			return SQLITE_ERROR
 		}(),
 		int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr), *(*uintptr)(unsafe.Pointer(pExpr + 8)), int8(0), uint8(0))
-__142:
+__143:
 	;
 	goto __5
 
@@ -63729,7 +63741,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 		return SQLITE_NOMEM
 	}
 	if Xsqlite3_strnicmp(tls, zSql, ts+10915, 7) != 0 {
-		return Xsqlite3CorruptError(tls, 113494)
+		return Xsqlite3CorruptError(tls, 113516)
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 {
 		if bTemp != 0 {
@@ -63746,7 +63758,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 	}
 	if rc == SQLITE_OK &&
 		((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
-		rc = Xsqlite3CorruptError(tls, 113505)
+		rc = Xsqlite3CorruptError(tls, 113527)
 	}
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
@@ -64667,7 +64679,7 @@ __1:
 		goto __2
 	}
 
-	rc = Xsqlite3CorruptError(tls, 114441)
+	rc = Xsqlite3CorruptError(tls, 114463)
 	goto drop_column_done
 __2:
 	;
@@ -69030,6 +69042,12 @@ __10:
 
 	pExpr = Xsqlite3PExpr(tls, pParse, TK_UPLUS, pExpr, uintptr(0))
 __11:
+	;
+	if !(pExpr != 0 && int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_RAISE) {
+		goto __12
+	}
+	(*Expr)(unsafe.Pointer(pExpr)).FaffExpr = (*Column)(unsafe.Pointer(pCol)).Faffinity
+__12:
 	;
 	Xsqlite3ColumnSetExpr(tls, pParse, pTab, pCol, pExpr)
 	pExpr = uintptr(0)
@@ -70195,7 +70213,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 {
 		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3279, 4) == 0 {
 			return 0
 		}
-		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7126, 10) == 0 {
+		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7115, 10) == 0 {
 			return 0
 		}
 		return 1
@@ -71441,7 +71459,7 @@ __81:
 		goto __101
 	}
 	Xsqlite3ErrorMsg(tls, pParse, ts+14133, 0)
-	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121835)
+	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121859)
 	goto exit_create_index
 __101:
 	;
@@ -73486,7 +73504,7 @@ __20:
 	goto __16
 __15:
 	wcf = U16(WHERE_ONEPASS_DESIRED | WHERE_DUPLICATES_OK)
-	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_VarSelect != 0) {
+	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_Subquery != 0) {
 		goto __23
 	}
 	bComplex = 1
@@ -79952,7 +79970,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca
 	if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) {
 		goto __1
 	}
-	return Xsqlite3MisuseError(tls, 131895)
+	return Xsqlite3MisuseError(tls, 131931)
 __1:
 	;
 	if !(zSql == uintptr(0)) {
@@ -81351,7 +81369,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh
 		} else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) {
 			zType = ts + 17506
 		} else {
-			zType = ts + 7521
+			zType = ts + 7510
 		}
 		Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17508,
 			libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin,
@@ -81512,6 +81530,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p
 	var zErr2 uintptr
 	var k3 int32
 	var pCheck uintptr
+	var jmp7 int32
 	var jmp6 int32
 	var iCol1 int32
 	var uniqOk int32
@@ -82830,7 +82849,7 @@ __215:
 		goto __217
 	}
 	pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7521, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7510, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
 	goto __216
 __216:
 	j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext
@@ -82846,7 +82865,7 @@ __218:
 	if !(i6 < int32(uint64(unsafe.Sizeof(aPragmaName))/uint64(unsafe.Sizeof(PragmaName{})))) {
 		goto __220
 	}
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7521, libc.VaList(bp+272, aPragmaName[i6].FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7510, libc.VaList(bp+272, aPragmaName[i6].FzName))
 	goto __219
 __219:
 	i6++
@@ -83651,80 +83670,94 @@ __344:
 	jmp4 = integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, jmp21)
 
+	if !((*Table)(unsafe.Pointer(pTab9)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) {
+		goto __345
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_IdxRowid, *(*int32)(unsafe.Pointer(bp + 616))+j4, 3)
+	jmp7 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 3, 0, r1+int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)-1)
+
+	Xsqlite3VdbeLoadString(tls, v, 3,
+		ts+17922)
+	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17958)
+	Xsqlite3VdbeGoto(tls, v, jmp5-1)
+	Xsqlite3VdbeJumpHere(tls, v, jmp7)
+__345:
+	;
 	label6 = 0
 	kk = 0
-__345:
+__346:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __347
-	}
-	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __348
 	}
-	goto __346
-__348:
-	;
-	if !(label6 == 0) {
+	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __349
 	}
-	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+	goto __347
 __349:
+	;
+	if !(label6 == 0) {
+		goto __350
+	}
+	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+__350:
 	;
 	Xsqlite3VdbeAddOp3(tls, v, OP_Column, *(*int32)(unsafe.Pointer(bp + 616))+j4, kk, 3)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Ne, 3, label6, r1+kk)
-	goto __346
-__346:
-	kk++
-	goto __345
 	goto __347
 __347:
+	kk++
+	goto __346
+	goto __348
+__348:
 	;
 	if !(label6 != 0) {
-		goto __350
+		goto __351
 	}
 	jmp6 = Xsqlite3VdbeAddOp0(tls, v, OP_Goto)
 	Xsqlite3VdbeResolveLabel(tls, v, label6)
 	Xsqlite3VdbeLoadString(tls, v, 3, ts+17896)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
-	Xsqlite3VdbeLoadString(tls, v, 4, ts+17922)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17969)
 	Xsqlite3VdbeGoto(tls, v, jmp5-1)
 	Xsqlite3VdbeJumpHere(tls, v, jmp6)
-__350:
+__351:
 	;
 	if !(int32((*Index)(unsafe.Pointer(pIdx5)).FonError) != OE_None) {
-		goto __351
+		goto __352
 	}
 	uniqOk = Xsqlite3VdbeMakeLabel(tls, pParse)
 	kk = 0
-__352:
+__353:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __354
+		goto __355
 	}
 	iCol1 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2)))
 
 	if !(iCol1 >= 0 && uint32(int32(*(*uint8)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*24 + 8))&0xf>>0)) != 0) {
-		goto __355
+		goto __356
 	}
-	goto __353
-__355:
+	goto __354
+__356:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_IsNull, r1+kk, uniqOk)
 
-	goto __353
-__353:
-	kk++
-	goto __352
 	goto __354
 __354:
+	kk++
+	goto __353
+	goto __355
+__355:
 	;
 	jmp61 = Xsqlite3VdbeAddOp1(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 616))+j4)
 	Xsqlite3VdbeGoto(tls, v, uniqOk)
 	Xsqlite3VdbeJumpHere(tls, v, jmp61)
 	Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, *(*int32)(unsafe.Pointer(bp + 616))+j4, uniqOk, r1,
 		int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol))
-	Xsqlite3VdbeLoadString(tls, v, 3, ts+17949)
+	Xsqlite3VdbeLoadString(tls, v, 3, ts+17996)
 	Xsqlite3VdbeGoto(tls, v, jmp5)
 	Xsqlite3VdbeResolveLabel(tls, v, uniqOk)
-__351:
+__352:
 	;
 	Xsqlite3VdbeJumpHere(tls, v, jmp4)
 	Xsqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 632)))
@@ -83741,20 +83774,20 @@ __340:
 	Xsqlite3VdbeAddOp2(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 612)), loopTop)
 	Xsqlite3VdbeJumpHere(tls, v, loopTop-1)
 	if !!(isQuick != 0) {
-		goto __356
+		goto __357
 	}
-	Xsqlite3VdbeLoadString(tls, v, 2, ts+17976)
+	Xsqlite3VdbeLoadString(tls, v, 2, ts+18023)
 	j4 = 0
 	pIdx5 = (*Table)(unsafe.Pointer(pTab9)).FpIndex
-__357:
+__358:
 	if !(pIdx5 != 0) {
-		goto __359
-	}
-	if !(pPk1 == pIdx5) {
 		goto __360
 	}
-	goto __358
-__360:
+	if !(pPk1 == pIdx5) {
+		goto __361
+	}
+	goto __359
+__361:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_Count, *(*int32)(unsafe.Pointer(bp + 616))+j4, 3)
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 8+j4, 0, 3)
@@ -83763,21 +83796,21 @@ __360:
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 2, 3)
 	integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
-	goto __358
-__358:
-	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
-	j4++
-	goto __357
 	goto __359
 __359:
+	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
+	j4++
+	goto __358
+	goto __360
+__360:
 	;
 	if !(pPk1 != 0) {
-		goto __361
+		goto __362
 	}
 	Xsqlite3ReleaseTempRange(tls, pParse, r2, int32((*Index)(unsafe.Pointer(pPk1)).FnKeyCol))
-__361:
+__362:
 	;
-__356:
+__357:
 	;
 	goto __291
 __291:
@@ -83795,14 +83828,14 @@ __266:
 	;
 	aOp2 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(endCode))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&endCode)), iLn5)
 	if !(aOp2 != 0) {
-		goto __362
+		goto __363
 	}
 	(*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = 1 - *(*int32)(unsafe.Pointer(bp + 608))
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1)
-	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 18005
+	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 18052
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 5*24)).Fp4type = int8(-1)
 	*(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT)
-__362:
+__363:
 	;
 	Xsqlite3VdbeChangeP3(tls, v, 0, Xsqlite3VdbeCurrentAddr(tls, v)-2)
 
@@ -83810,27 +83843,27 @@ __362:
 
 __45:
 	if !!(zRight != 0) {
-		goto __363
+		goto __364
 	}
 	if !(Xsqlite3ReadSchema(tls, pParse) != 0) {
-		goto __365
-	}
-	goto pragma_out
-__365:
-	;
-	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
-	goto __364
-__363:
-	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
 		goto __366
 	}
+	goto pragma_out
+__366:
+	;
+	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
+	goto __365
+__364:
+	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
+		goto __367
+	}
 	pEnc = uintptr(unsafe.Pointer(&encnames1))
-__367:
+__368:
 	if !((*EncName)(unsafe.Pointer(pEnc)).FzName != 0) {
-		goto __369
+		goto __370
 	}
 	if !(0 == Xsqlite3StrICmp(tls, zRight, (*EncName)(unsafe.Pointer(pEnc)).FzName)) {
-		goto __370
+		goto __371
 	}
 	if (*EncName)(unsafe.Pointer(pEnc)).Fenc != 0 {
 		enc = (*EncName)(unsafe.Pointer(pEnc)).Fenc
@@ -83839,25 +83872,25 @@ __367:
 	}
 	(*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema)).Fenc = enc
 	Xsqlite3SetTextEncoding(tls, db, enc)
-	goto __369
-__370:
-	;
-	goto __368
-__368:
-	pEnc += 16
-	goto __367
-	goto __369
-__369:
-	;
-	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
-		goto __371
-	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18008, libc.VaList(bp+456, zRight))
+	goto __370
 __371:
 	;
-__366:
+	goto __369
+__369:
+	pEnc += 16
+	goto __368
+	goto __370
+__370:
 	;
-__364:
+	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
+		goto __372
+	}
+	Xsqlite3ErrorMsg(tls, pParse, ts+18055, libc.VaList(bp+456, zRight))
+__372:
+	;
+__367:
+	;
+__365:
 	;
 	goto __15
 
@@ -83865,15 +83898,15 @@ __46:
 	iCookie = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiArg)
 	Xsqlite3VdbeUsesBtree(tls, v, iDb)
 	if !(zRight != 0 && int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_ReadOnly == 0) {
-		goto __372
+		goto __373
 	}
 
 	aOp3 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(setCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&setCookie)), 0)
 	if !(0 != 0) {
-		goto __374
+		goto __375
 	}
 	goto __15
-__374:
+__375:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp3)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp1 = iDb
@@ -83881,41 +83914,41 @@ __374:
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp3 = Xsqlite3Atoi(tls, zRight)
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp5 = U16(1)
 	if !(iCookie == BTREE_SCHEMA_VERSION && (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0)) {
-		goto __375
+		goto __376
 	}
 
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fopcode = U8(OP_Noop)
-__375:
+__376:
 	;
-	goto __373
-__372:
+	goto __374
+__373:
 	;
 	aOp4 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(readCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&readCookie)), 0)
 	if !(0 != 0) {
-		goto __376
+		goto __377
 	}
 	goto __15
-__376:
+__377:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp4)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp3 = iCookie
 	Xsqlite3VdbeReusable(tls, v)
-__373:
+__374:
 	;
 	goto __15
 
 __47:
 	i10 = 0
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 1
-__377:
+__378:
 	if !(libc.AssignUintptr(&zOpt, Xsqlite3_compileoption_get(tls, libc.PostIncInt32(&i10, 1))) != uintptr(0)) {
-		goto __378
+		goto __379
 	}
 	Xsqlite3VdbeLoadString(tls, v, 1, zOpt)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1)
-	goto __377
-__378:
+	goto __378
+__379:
 	;
 	Xsqlite3VdbeReusable(tls, v)
 
@@ -83930,31 +83963,31 @@ __48:
 	}()
 	eMode2 = SQLITE_CHECKPOINT_PASSIVE
 	if !(zRight != 0) {
-		goto __379
-	}
-	if !(Xsqlite3StrICmp(tls, zRight, ts+17338) == 0) {
 		goto __380
 	}
+	if !(Xsqlite3StrICmp(tls, zRight, ts+17338) == 0) {
+		goto __381
+	}
 	eMode2 = SQLITE_CHECKPOINT_FULL
-	goto __381
-__380:
-	if !(Xsqlite3StrICmp(tls, zRight, ts+18033) == 0) {
-		goto __382
+	goto __382
+__381:
+	if !(Xsqlite3StrICmp(tls, zRight, ts+18080) == 0) {
+		goto __383
 	}
 	eMode2 = SQLITE_CHECKPOINT_RESTART
-	goto __383
-__382:
+	goto __384
+__383:
 	if !(Xsqlite3StrICmp(tls, zRight, ts+17491) == 0) {
-		goto __384
+		goto __385
 	}
 	eMode2 = SQLITE_CHECKPOINT_TRUNCATE
+__385:
+	;
 __384:
 	;
-__383:
+__382:
 	;
-__381:
-	;
-__379:
+__380:
 	;
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 3
 	Xsqlite3VdbeAddOp3(tls, v, OP_Checkpoint, iBt, eMode2, 1)
@@ -83964,10 +83997,10 @@ __379:
 
 __49:
 	if !(zRight != 0) {
-		goto __385
+		goto __386
 	}
 	Xsqlite3_wal_autocheckpoint(tls, db, Xsqlite3Atoi(tls, zRight))
-__385:
+__386:
 	;
 	returnSingleInt(tls, v,
 		func() int64 {
@@ -83987,19 +84020,19 @@ __50:
 
 __51:
 	if !(zRight != 0) {
-		goto __386
+		goto __387
 	}
 	opMask = U32(Xsqlite3Atoi(tls, zRight))
 	if !(opMask&U32(0x02) == U32(0)) {
-		goto __388
+		goto __389
 	}
 	goto __15
-__388:
+__389:
 	;
-	goto __387
-__386:
-	opMask = U32(0xfffe)
+	goto __388
 __387:
+	opMask = U32(0xfffe)
+__388:
 	;
 	iTabCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1)
 	iDbLast = func() int32 {
@@ -84008,86 +84041,86 @@ __387:
 		}
 		return (*Sqlite3)(unsafe.Pointer(db)).FnDb - 1
 	}()
-__389:
+__390:
 	if !(iDb <= iDbLast) {
-		goto __391
-	}
-	if !(iDb == 1) {
 		goto __392
 	}
-	goto __390
-__392:
+	if !(iDb == 1) {
+		goto __393
+	}
+	goto __391
+__393:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
 	pSchema = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema
 	k4 = (*Hash)(unsafe.Pointer(pSchema + 8)).Ffirst
-__393:
+__394:
 	if !(k4 != 0) {
-		goto __395
+		goto __396
 	}
 	pTab10 = (*HashElem)(unsafe.Pointer(k4)).Fdata
 
 	if !((*Table)(unsafe.Pointer(pTab10)).FtabFlags&U32(TF_StatsUsed) == U32(0)) {
-		goto __396
+		goto __397
 	}
-	goto __394
-__396:
+	goto __395
+__397:
 	;
 	szThreshold = LogEst(int32((*Table)(unsafe.Pointer(pTab10)).FnRowLogEst) + 46)
 	pIdx6 = (*Table)(unsafe.Pointer(pTab10)).FpIndex
-__397:
+__398:
 	if !(pIdx6 != 0) {
-		goto __399
-	}
-	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
 		goto __400
 	}
+	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
+		goto __401
+	}
 	szThreshold = int16(0)
-	goto __399
-__400:
+	goto __400
+__401:
 	;
-	goto __398
-__398:
-	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
-	goto __397
 	goto __399
 __399:
+	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
+	goto __398
+	goto __400
+__400:
 	;
 	if !(szThreshold != 0) {
-		goto __401
+		goto __402
 	}
 	Xsqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab10, OP_OpenRead)
 	Xsqlite3VdbeAddOp3(tls, v, OP_IfSmaller, iTabCur,
 		int32(U32(Xsqlite3VdbeCurrentAddr(tls, v)+2)+opMask&U32(1)), int32(szThreshold))
 
-__401:
+__402:
 	;
-	zSubSql = Xsqlite3MPrintf(tls, db, ts+18041,
+	zSubSql = Xsqlite3MPrintf(tls, db, ts+18088,
 		libc.VaList(bp+464, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab10)).FzName))
 	if !(opMask&U32(0x01) != 0) {
-		goto __402
+		goto __403
 	}
 	r11 = Xsqlite3GetTempReg(tls, pParse)
 	Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, r11, 0, zSubSql, -6)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, r11, 1)
-	goto __403
-__402:
-	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+	goto __404
 __403:
+	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+__404:
 	;
-	goto __394
-__394:
-	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
-	goto __393
 	goto __395
 __395:
+	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
+	goto __394
+	goto __396
+__396:
 	;
-	goto __390
-__390:
-	iDb++
-	goto __389
 	goto __391
 __391:
+	iDb++
+	goto __390
+	goto __392
+__392:
 	;
 	Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
 	goto __15
@@ -84095,36 +84128,36 @@ __391:
 __52:
 	;
 	if !(zRight != 0) {
-		goto __404
+		goto __405
 	}
 	Xsqlite3_busy_timeout(tls, db, Xsqlite3Atoi(tls, zRight))
-__404:
+__405:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout))
 	goto __15
 
 __53:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+640) == SQLITE_OK) {
-		goto __405
+		goto __406
 	}
 	Xsqlite3_soft_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 640)))
-__405:
+__406:
 	;
 	returnSingleInt(tls, v, Xsqlite3_soft_heap_limit64(tls, int64(-1)))
 	goto __15
 
 __54:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+648) == SQLITE_OK) {
-		goto __406
+		goto __407
 	}
 	iPrior = Xsqlite3_hard_heap_limit64(tls, int64(-1))
 	if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 648)) > int64(0) && (iPrior == int64(0) || iPrior > *(*Sqlite3_int64)(unsafe.Pointer(bp + 648)))) {
-		goto __407
+		goto __408
 	}
 	Xsqlite3_hard_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 648)))
-__407:
+__408:
 	;
-__406:
+__407:
 	;
 	returnSingleInt(tls, v, Xsqlite3_hard_heap_limit64(tls, int64(-1)))
 	goto __15
@@ -84133,10 +84166,10 @@ __55:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+656) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 656)) >= int64(0)) {
-		goto __408
+		goto __409
 	}
 	Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 656))&int64(0x7fffffff)))
-__408:
+__409:
 	;
 	returnSingleInt(tls, v, int64(Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, -1)))
 	goto __15
@@ -84145,10 +84178,10 @@ __56:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+664) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 664)) >= int64(0)) {
-		goto __409
+		goto __410
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 664)) & int64(0x7fffffff))
-__409:
+__410:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit))
 	goto __15
@@ -84156,10 +84189,10 @@ __409:
 __15:
 	;
 	if !(int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_NoColumns1 != 0 && zRight != 0) {
-		goto __410
+		goto __411
 	}
 
-__410:
+__411:
 	;
 pragma_out:
 	Xsqlite3DbFree(tls, db, zLeft)
@@ -84211,14 +84244,14 @@ var endCode = [7]VdbeOpList{
 	{Fopcode: U8(OP_Goto), Fp2: int8(3)},
 }
 var encnames1 = [9]EncName{
-	{FzName: ts + 18059, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18064, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18070, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18079, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18088, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18096, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18104},
-	{FzName: ts + 18111},
+	{FzName: ts + 18106, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18111, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18117, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18126, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18135, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18143, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18151},
+	{FzName: ts + 18158},
 	{},
 }
 var setCookie = [2]VdbeOpList{
@@ -84270,7 +84303,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	_ = argc
 	_ = argv
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), bp+64, int32(unsafe.Sizeof([200]int8{})), 0)
-	Xsqlite3_str_appendall(tls, bp+32, ts+18117)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18164)
 	i = 0
 	j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName)
 __1:
@@ -84278,7 +84311,7 @@ __1:
 		goto __3
 	}
 	{
-		Xsqlite3_str_appendf(tls, bp+32, ts+18132, libc.VaList(bp, int32(cSep), pragCName[j]))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18179, libc.VaList(bp, int32(cSep), pragCName[j]))
 		cSep = int8(',')
 
 	}
@@ -84291,16 +84324,16 @@ __2:
 __3:
 	;
 	if i == 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18139, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18186, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
 		i++
 	}
 	j = 0
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_Result1 != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18145)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18192)
 		j++
 	}
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(PragFlg_SchemaOpt|PragFlg_SchemaReq) != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18157)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18204)
 		j++
 	}
 	Xsqlite3_str_append(tls, bp+32, ts+4950, 1)
@@ -84483,13 +84516,13 @@ __2:
 __3:
 	;
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4)))
-	Xsqlite3_str_appendall(tls, bp+32, ts+18172)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18219)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18180, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18227, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
 	}
 	Xsqlite3_str_appendall(tls, bp+32, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18184, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18231, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
 	}
 	zSql = Xsqlite3StrAccumFinish(tls, bp+32)
 	if zSql == uintptr(0) {
@@ -84566,12 +84599,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 	} else if *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) != uintptr(0) {
 	} else if (*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask) != 0 {
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db,
-			ts+18188, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
+			ts+18235, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
 				azAlterType[(*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask)-U32(1)],
 				zExtra))
 		(*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR
 	} else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137196)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137249)
 	} else {
 		var z uintptr
 		var zObj uintptr
@@ -84580,19 +84613,19 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 		} else {
 			zObj = ts + 5001
 		}
-		z = Xsqlite3MPrintf(tls, db, ts+18216, libc.VaList(bp+32, zObj))
+		z = Xsqlite3MPrintf(tls, db, ts+18263, libc.VaList(bp+32, zObj))
 		if zExtra != 0 && *(*int8)(unsafe.Pointer(zExtra)) != 0 {
-			z = Xsqlite3MPrintf(tls, db, ts+18247, libc.VaList(bp+40, z, zExtra))
+			z = Xsqlite3MPrintf(tls, db, ts+18294, libc.VaList(bp+40, z, zExtra))
 		}
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137203)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137256)
 	}
 }
 
 var azAlterType = [3]uintptr{
-	ts + 18255,
-	ts + 18262,
-	ts + 18274,
+	ts + 18302,
+	ts + 18309,
+	ts + 18321,
 }
 
 // Check to see if any sibling index (another index on the same table)
@@ -84684,7 +84717,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr
 		var pIndex uintptr
 		pIndex = Xsqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName)
 		if pIndex == uintptr(0) {
-			corruptSchema(tls, pData, argv, ts+18285)
+			corruptSchema(tls, pData, argv, ts+18332)
 		} else if Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2) ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage ||
@@ -84732,7 +84765,7 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl
 	}())
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 16 + 1*8))
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 3*8)) = ts + 7931
-	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18298
+	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18345
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 5*8)) = uintptr(0)
 	(*InitData)(unsafe.Pointer(bp + 64)).Fdb = db
 	(*InitData)(unsafe.Pointer(bp + 64)).FiDb = iDb
@@ -84861,7 +84894,7 @@ __18:
 	if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) {
 		goto __19
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+18370)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+18417)
 	rc = SQLITE_ERROR
 	goto initone_error_out
 __19:
@@ -84875,7 +84908,7 @@ __20:
 	(*InitData)(unsafe.Pointer(bp + 64)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt)
 
 	zSql = Xsqlite3MPrintf(tls, db,
-		ts+18394,
+		ts+18441,
 		libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zSchemaTabName))
 
 	xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth
@@ -85207,7 +85240,7 @@ __4:
 		goto __8
 	}
 	zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName
-	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18428, libc.VaList(bp, zDb))
+	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18475, libc.VaList(bp, zDb))
 
 	goto end_prepare
 __8:
@@ -85237,7 +85270,7 @@ __9:
 	if !(nBytes > mxLen) {
 		goto __12
 	}
-	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18458, 0)
+	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18505, 0)
 	rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG)
 	goto end_prepare
 __12:
@@ -85333,7 +85366,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 137995)
+		return Xsqlite3MisuseError(tls, 138048)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	Xsqlite3BtreeEnterAll(tls, db)
@@ -85432,7 +85465,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 138143)
+		return Xsqlite3MisuseError(tls, 138196)
 	}
 	if nBytes >= 0 {
 		var sz int32
@@ -85759,13 +85792,13 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC
 			zSp2++
 		}
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+18477, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
+			ts+18524, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
 		jointype = JT_INNER
 	}
 	return jointype
 }
 
-var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18507))
+var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18554))
 var aKeyword = [7]struct {
 	Fi     U8
 	FnChar U8
@@ -85940,7 +85973,7 @@ __1:
 			var pUsing uintptr = uintptr(0)
 			if uint32(int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+18541, libc.VaList(bp, 0))
+					ts+18588, libc.VaList(bp, 0))
 				return 1
 			}
 			for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ {
@@ -85985,7 +86018,7 @@ __1:
 					tableAndColumnIndex(tls, pSrc, 0, i, zName, bp+24, bp+28,
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) == 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+18591, libc.VaList(bp+8, zName))
+						ts+18638, libc.VaList(bp+8, zName))
 					return 1
 				}
 				pE1 = Xsqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 28)))
@@ -85996,7 +86029,7 @@ __1:
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) != 0 {
 						if int32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 60 + 4))&0x400>>10) == 0 ||
 							Xsqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 72)), zName) < 0 {
-							Xsqlite3ErrorMsg(tls, pParse, ts+18655,
+							Xsqlite3ErrorMsg(tls, pParse, ts+18702,
 								libc.VaList(bp+16, zName))
 							break
 						}
@@ -86624,16 +86657,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr {
 	var z uintptr
 	switch id {
 	case TK_ALL:
-		z = ts + 18692
+		z = ts + 18739
 		break
 	case TK_INTERSECT:
-		z = ts + 18702
+		z = ts + 18749
 		break
 	case TK_EXCEPT:
-		z = ts + 18712
+		z = ts + 18759
 		break
 	default:
-		z = ts + 18719
+		z = ts + 18766
 		break
 	}
 	return z
@@ -86643,7 +86676,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18725, libc.VaList(bp, zUsage))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18772, libc.VaList(bp, zUsage))
 }
 
 func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) {
@@ -86669,9 +86702,9 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n
 	var nRefKey int32 = 0
 	var aOutEx uintptr = (*Select)(unsafe.Pointer(p)).FpEList + 8
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18748, libc.VaList(bp, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18795, libc.VaList(bp, func() uintptr {
 		if (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 {
-			return ts + 18779
+			return ts + 18826
 		}
 		return ts + 1547
 	}()))
@@ -87015,7 +87048,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr)
 		} else {
 			var z uintptr = (*ExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32)).FzEName
 			if z == uintptr(0) {
-				z = Xsqlite3MPrintf(tls, db, ts+18794, libc.VaList(bp+16, i+1))
+				z = Xsqlite3MPrintf(tls, db, ts+18841, libc.VaList(bp+16, i+1))
 			} else {
 				z = Xsqlite3DbStrDup(tls, db, z)
 			}
@@ -87115,7 +87148,7 @@ __1:
 		if zName != 0 && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) {
 			zName = Xsqlite3DbStrDup(tls, db, zName)
 		} else {
-			zName = Xsqlite3MPrintf(tls, db, ts+18794, libc.VaList(bp, i+1))
+			zName = Xsqlite3MPrintf(tls, db, ts+18841, libc.VaList(bp, i+1))
 		}
 
 		*(*U32)(unsafe.Pointer(bp + 56)) = U32(0)
@@ -87131,7 +87164,7 @@ __1:
 					nName = j
 				}
 			}
-			zName = Xsqlite3MPrintf(tls, db, ts+18803, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
+			zName = Xsqlite3MPrintf(tls, db, ts+18850, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
 			Xsqlite3ProgressCheck(tls, pParse)
 			if *(*U32)(unsafe.Pointer(bp + 56)) > U32(3) {
 				Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56)
@@ -87214,8 +87247,6 @@ __1:
 		(*Column)(unsafe.Pointer(pCol)).Faffinity = Xsqlite3ExprAffinity(tls, p)
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) <= SQLITE_AFF_NONE {
 			(*Column)(unsafe.Pointer(pCol)).Faffinity = aff
-		} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
-			(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
 		}
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_TEXT && (*Select)(unsafe.Pointer(pSelect)).FpNext != 0 {
 			var m int32 = 0
@@ -87230,12 +87261,15 @@ __1:
 			} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && m&0x02 != 0 {
 				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_BLOB)
 			}
+			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
+				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
+			}
 		}
 		zType = columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0))
 		if zType == uintptr(0) || int32((*Column)(unsafe.Pointer(pCol)).Faffinity) != int32(Xsqlite3AffinityType(tls, zType, uintptr(0))) {
 			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_NUMERIC ||
 				int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_FLEXNUM {
-				zType = ts + 18811
+				zType = ts + 18858
 			} else {
 				zType = uintptr(0)
 				for j = 1; j < SQLITE_N_STDTYPE; j++ {
@@ -87451,7 +87485,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest
 	if !((*Select)(unsafe.Pointer(p)).FpWin != 0) {
 		goto __1
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18815, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18862, 0)
 	return
 __1:
 	;
@@ -87542,7 +87576,7 @@ __12:
 	if !((*Select)(unsafe.Pointer(pFirstRec)).FselFlags&U32(SF_Aggregate) != 0) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18864, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18911, 0)
 	goto end_of_recursive_query
 __15:
 	;
@@ -87562,7 +87596,7 @@ __14:
 	;
 	pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18906, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18953, 0)
 	rc = Xsqlite3Select(tls, pParse, pSetup, bp)
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = p
 	if !(rc != 0) {
@@ -87599,7 +87633,7 @@ __20:
 	Xsqlite3VdbeResolveLabel(tls, v, addrCont)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18912, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18959, 0)
 	Xsqlite3Select(tls, pParse, p, bp)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup
@@ -87633,11 +87667,11 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 		p = (*Select)(unsafe.Pointer(p)).FpPrior
 		nRow = nRow + bShowAll
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18927, libc.VaList(bp, nRow, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18974, libc.VaList(bp, nRow, func() uintptr {
 		if nRow == 1 {
 			return ts + 1547
 		}
-		return ts + 18950
+		return ts + 18997
 	}()))
 	for p != 0 {
 		selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1)
@@ -87738,8 +87772,8 @@ __6:
 	if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) {
 		goto __8
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18952, 0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18967, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18999, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19014, 0)
 __8:
 	;
 	switch int32((*Select)(unsafe.Pointer(p)).Fop) {
@@ -87786,7 +87820,7 @@ __16:
 	;
 __15:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18692, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18739, 0)
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+16)
 
@@ -87853,7 +87887,7 @@ __23:
 	pLimit = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 64)).FeDest = op
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18986, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19033, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+64)
 
@@ -87915,7 +87949,7 @@ __26:
 	pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 104)).FiSDParm = tab2
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18986, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19033, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+104)
 
@@ -88068,10 +88102,10 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr)
 	defer tls.Free(8)
 
 	if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Values) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19007, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+19054, 0)
 	} else {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+19053,
+			ts+19100,
 			libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 	}
 }
@@ -88325,8 +88359,8 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	(*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0)
 
 	(*Select)(unsafe.Pointer(pPrior)).FpOrderBy = Xsqlite3ExprListDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7227)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7227)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7216)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7216)
 
 	computeLimitRegisters(tls, pParse, p, labelEnd)
 	if (*Select)(unsafe.Pointer(p)).FiLimit != 0 && op == TK_ALL {
@@ -88353,13 +88387,13 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	Xsqlite3SelectDestInit(tls, bp+8, SRT_Coroutine, regAddrA)
 	Xsqlite3SelectDestInit(tls, bp+48, SRT_Coroutine, regAddrB)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19135, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19182, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	addrSelectA = Xsqlite3VdbeCurrentAddr(tls, v) + 1
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA)
 
 	(*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19146, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19193, 0)
 	Xsqlite3Select(tls, pParse, pPrior, bp+8)
 	Xsqlite3VdbeEndCoroutine(tls, v, regAddrA)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
@@ -88371,7 +88405,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset
 	(*Select)(unsafe.Pointer(p)).FiLimit = regLimitB
 	(*Select)(unsafe.Pointer(p)).FiOffset = 0
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19151, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19198, 0)
 	Xsqlite3Select(tls, pParse, p, bp+48)
 	(*Select)(unsafe.Pointer(p)).FiLimit = savedLimit
 	(*Select)(unsafe.Pointer(p)).FiOffset = savedOffset
@@ -88559,7 +88593,8 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr {
 				Xsqlite3VectorErrorMsg(tls, (*SubstContext)(unsafe.Pointer(pSubst)).FpParse, pCopy)
 			} else {
 				var db uintptr = (*Parse)(unsafe.Pointer((*SubstContext)(unsafe.Pointer(pSubst)).FpParse)).Fdb
-				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 && int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN {
+				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 &&
+					(int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN || (*Expr)(unsafe.Pointer(pCopy)).FiTable != (*SubstContext)(unsafe.Pointer(pSubst)).FiNewTable) {
 					libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(Expr{})))
 					(*Expr)(unsafe.Pointer(bp)).Fop = U8(TK_IF_NULL_ROW)
 					(*Expr)(unsafe.Pointer(bp)).FpLeft = pCopy
@@ -89458,7 +89493,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	for pIdx = (*Table)(unsafe.Pointer(pTab)).FpIndex; pIdx != 0 && Xsqlite3StrICmp(tls, (*Index)(unsafe.Pointer(pIdx)).FzName, zIndexedBy) != 0; pIdx = (*Index)(unsafe.Pointer(pIdx)).FpNext {
 	}
 	if !(pIdx != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19157, libc.VaList(bp, zIndexedBy, 0))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19204, libc.VaList(bp, zIndexedBy, 0))
 		(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 		return SQLITE_ERROR
 	}
@@ -89541,7 +89576,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 {
 	defer tls.Free(8)
 
 	if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19175, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19222, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
 		return 1
 	}
 	return 0
@@ -89670,7 +89705,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		*(*U32)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= U32(SF_CopyCte)
 
 		if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19198, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
+			Xsqlite3ErrorMsg(tls, pParse, ts+19245, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
 			return 2
 		}
 		libc.SetBitFieldPtr16Uint32(pFrom+60+4, uint32(1), 8, 0x100)
@@ -89693,7 +89728,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 					libc.SetBitFieldPtr16Uint32(pItem+60+4, uint32(1), 6, 0x40)
 					if (*Select)(unsafe.Pointer(pRecTerm)).FselFlags&U32(SF_Recursive) != 0 {
 						Xsqlite3ErrorMsg(tls, pParse,
-							ts+19218, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
+							ts+19265, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
 						return 2
 					}
 					*(*U32)(unsafe.Pointer(pRecTerm + 4)) |= U32(SF_Recursive)
@@ -89709,7 +89744,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 			pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior
 		}
 
-		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19261
+		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19308
 		pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith
 		(*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 48))
 		if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
@@ -89735,7 +89770,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		pEList = (*Select)(unsafe.Pointer(pLeft)).FpEList
 		if (*Cte)(unsafe.Pointer(pCte)).FpCols != 0 {
 			if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr != (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19284,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19331,
 					libc.VaList(bp+24, (*Cte)(unsafe.Pointer(pCte)).FzName, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr))
 				(*Parse)(unsafe.Pointer(pParse)).FpWith = pSavedWith
 				return 2
@@ -89746,9 +89781,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		Xsqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8)
 		if bMayRecursive != 0 {
 			if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19322
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19369
 			} else {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19356
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19403
 			}
 			Xsqlite3WalkSelect(tls, pWalker, pSel)
 		}
@@ -89795,7 +89830,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	if (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 {
 		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3DbStrDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias)
 	} else {
-		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19394, libc.VaList(bp, pFrom))
+		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19441, libc.VaList(bp, pFrom))
 	}
 	for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 {
 		pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior
@@ -89907,7 +89942,7 @@ __1:
 				return WRC_Abort
 			}
 			if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19398,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19445,
 					libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 				(*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0)
 				return WRC_Abort
@@ -89926,7 +89961,7 @@ __1:
 				if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW {
 					if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) &&
 						(*Table)(unsafe.Pointer(pTab)).FpSchema != (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19437,
+						Xsqlite3ErrorMsg(tls, pParse, ts+19484,
 							libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName))
 					}
 					(*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, *(*uintptr)(unsafe.Pointer(pTab + 64)), 0)
@@ -90050,7 +90085,7 @@ __3:
 							if pNew != 0 {
 								var pX uintptr = pNew + 8 + uintptr((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1)*32
 
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19468, libc.VaList(bp+24, zUName))
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19515, libc.VaList(bp+24, zUName))
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(ENAME_TAB), 0, 0x3)
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(1), 7, 0x80)
 							}
@@ -90115,7 +90150,7 @@ __3:
 								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(pNestedFrom+8+uintptr(j)*32)).FzEName)
 
 							} else {
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19473,
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19520,
 									libc.VaList(bp+32, zSchemaName, zTabName, zName))
 
 							}
@@ -90146,9 +90181,9 @@ __3:
 				;
 				if !(tableSeen != 0) {
 					if zTName != 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19482, libc.VaList(bp+72, zTName))
+						Xsqlite3ErrorMsg(tls, pParse, ts+19529, libc.VaList(bp+72, zTName))
 					} else {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19500, 0)
+						Xsqlite3ErrorMsg(tls, pParse, ts+19547, 0)
 					}
 				}
 			}
@@ -90158,7 +90193,7 @@ __3:
 	}
 	if (*Select)(unsafe.Pointer(p)).FpEList != 0 {
 		if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19520, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+19567, 0)
 			return WRC_Abort
 		}
 		if elistFlags&U32(EP_HasFunc|EP_Subquery) != U32(0) {
@@ -90296,7 +90331,7 @@ func optimizeAggregateUseOfIndexedExpr(tls *libc.TLS, pParse uintptr, pSelect ui
 	(*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn = (*AggInfo)(unsafe.Pointer(pAggInfo)).FnAccumulator
 	if int32((*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn) > 0 {
 		if (*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn == 0 {
-			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(0)
+			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpGroupBy)).FnExpr)
 		} else {
 			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(int32((*AggInfo_col)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaCol+uintptr((*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn-1)*24)).FiSorterColumn) + 1)
 		}
@@ -90380,13 +90415,13 @@ __1:
 
 			if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != 1 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+19551, 0)
+					ts+19598, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1
 			} else {
 				var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral,
 					(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -8)
-				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19602, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
+				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19649, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
 			}
 		}
 
@@ -90575,11 +90610,11 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt
 
 	if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 {
 		var bCover int32 = libc.Bool32(pIdx != uintptr(0) && ((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0) || !(int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY)))
-		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19635,
+		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19682,
 			libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName,
 				func() uintptr {
 					if bCover != 0 {
-						return ts + 19647
+						return ts + 19694
 					}
 					return ts + 1547
 				}(),
@@ -90907,7 +90942,7 @@ __5:
 		goto __7
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+19670,
+		ts+19717,
 		libc.VaList(bp, func() uintptr {
 			if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 {
 				return (*SrcItem)(unsafe.Pointer(p0)).FzAlias
@@ -90968,7 +91003,7 @@ __14:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19724,
+	Xsqlite3ErrorMsg(tls, pParse, ts+19771,
 		libc.VaList(bp+8, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr))
 	goto select_end
 __15:
@@ -91110,7 +91145,7 @@ __33:
 
 	(*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19764, libc.VaList(bp+32, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19811, libc.VaList(bp+32, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	libc.SetBitFieldPtr16Uint32(pItem1+60+4, uint32(1), 5, 0x20)
@@ -91169,7 +91204,7 @@ __43:
 	;
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19779, libc.VaList(bp+40, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19826, libc.VaList(bp+40, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	if !(onceAddr != 0) {
@@ -91640,9 +91675,9 @@ __101:
 	explainTempTable(tls, pParse,
 		func() uintptr {
 			if (*DistinctCtx)(unsafe.Pointer(bp+136)).FisTnct != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct) == U32(0) {
-				return ts + 19795
+				return ts + 19842
 			}
-			return ts + 19804
+			return ts + 19851
 		}())
 
 	groupBySort = 1
@@ -91993,7 +92028,7 @@ __65:
 	if !(int32((*DistinctCtx)(unsafe.Pointer(bp+136)).FeTnctType) == WHERE_DISTINCT_UNORDERED) {
 		goto __146
 	}
-	explainTempTable(tls, pParse, ts+19795)
+	explainTempTable(tls, pParse, ts+19842)
 __146:
 	;
 	if !((*SortCtx)(unsafe.Pointer(bp+48)).FpOrderBy != 0) {
@@ -92098,7 +92133,7 @@ __5:
 	}
 	Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg)
 	(*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+19813, 0)
+		ts+19860, 0)
 	(*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 	return 1
 __11:
@@ -92331,7 +92366,7 @@ func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2
 	if !((*Token)(unsafe.Pointer(pName2)).Fn > uint32(0)) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19878, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19925, 0)
 	goto trigger_cleanup
 __3:
 	;
@@ -92375,7 +92410,7 @@ __7:
 	goto trigger_cleanup
 __8:
 	;
-	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+19924, *(*uintptr)(unsafe.Pointer(bp + 32)))
+	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+19971, *(*uintptr)(unsafe.Pointer(bp + 32)))
 	if !(Xsqlite3FixSrcList(tls, bp+40, pTableName) != 0) {
 		goto __9
 	}
@@ -92393,7 +92428,7 @@ __10:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB) {
 		goto __11
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19932, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19979, 0)
 	goto trigger_orphan_error
 __11:
 	;
@@ -92405,7 +92440,7 @@ __11:
 	goto trigger_cleanup
 __12:
 	;
-	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19924, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
+	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19971, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
 		goto __13
 	}
 	goto trigger_cleanup
@@ -92420,11 +92455,12 @@ __13:
 	if !!(noErr != 0) {
 		goto __16
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19973, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20020, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
 	goto __17
 __16:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
+
 __17:
 	;
 	goto trigger_cleanup
@@ -92435,19 +92471,19 @@ __14:
 	if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+6374, 7) == 0) {
 		goto __18
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19999, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20046, 0)
 	goto trigger_cleanup
 __18:
 	;
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW && tr_tm != TK_INSTEAD) {
 		goto __19
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20037,
+	Xsqlite3ErrorMsg(tls, pParse, ts+20084,
 		libc.VaList(bp+8, func() uintptr {
 			if tr_tm == TK_BEFORE {
-				return ts + 20074
+				return ts + 20121
 			}
-			return ts + 20081
+			return ts + 20128
 		}(), pTableName+8))
 	goto trigger_orphan_error
 __19:
@@ -92456,7 +92492,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20087, libc.VaList(bp+24, pTableName+8))
+		ts+20134, libc.VaList(bp+24, pTableName+8))
 	goto trigger_orphan_error
 __20:
 	;
@@ -92605,7 +92641,7 @@ __2:
 __3:
 	;
 	Xsqlite3TokenInit(tls, bp+56, (*Trigger)(unsafe.Pointer(pTrig)).FzName)
-	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+19924, bp+56)
+	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+19971, bp+56)
 	if !(Xsqlite3FixTriggerStep(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 ||
 		Xsqlite3FixExpr(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0) {
 		goto __4
@@ -92638,7 +92674,7 @@ __9:
 		goto __12
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20133,
+		ts+20180,
 		libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrig)).FzName, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget))
 	goto triggerfinish_cleanup
 __12:
@@ -92663,13 +92699,13 @@ __13:
 	z = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pAll)).Fz, uint64((*Token)(unsafe.Pointer(pAll)).Fn))
 
 	Xsqlite3NestedParse(tls, pParse,
-		ts+20181,
+		ts+20228,
 		libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName,
 			(*Trigger)(unsafe.Pointer(pTrig)).Ftable, z))
 	Xsqlite3DbFree(tls, db, z)
 	Xsqlite3ChangeCookie(tls, pParse, iDb)
 	Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb,
-		Xsqlite3MPrintf(tls, db, ts+20256, libc.VaList(bp+48, zName)), uint16(0))
+		Xsqlite3MPrintf(tls, db, ts+20303, libc.VaList(bp+48, zName)), uint16(0))
 __7:
 	;
 __6:
@@ -92925,7 +92961,7 @@ __5:
 	if !!(noErr != 0) {
 		goto __9
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20285, libc.VaList(bp, pName+8))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20332, libc.VaList(bp, pName+8))
 	goto __10
 __9:
 	Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb)
@@ -92978,7 +93014,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) {
 
 	if libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse)) != uintptr(0) {
 		Xsqlite3NestedParse(tls, pParse,
-			ts+20305,
+			ts+20352,
 			libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Trigger)(unsafe.Pointer(pTrigger)).FzName))
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 		Xsqlite3VdbeAddOp4(tls, v, OP_DropTrigger, iDb, 0, 0, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, 0)
@@ -93092,12 +93128,12 @@ __9:
 		goto __15
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20367,
+		ts+20414,
 		libc.VaList(bp, func() uintptr {
 			if op == TK_DELETE {
-				return ts + 20415
+				return ts + 20462
 			}
-			return ts + 20422
+			return ts + 20469
 		}()))
 __15:
 	;
@@ -93211,7 +93247,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 {
 	if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK {
 		return 0
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20429, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20476, 0)
 	return 1
 }
 
@@ -93277,7 +93313,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab
 	}
 	Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(bp)).FpEList)
 	pNew = sqlite3ExpandReturning(tls, pParse, (*Returning)(unsafe.Pointer(pReturning)).FpReturnEL, pTab)
-	if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) {
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 {
 		libc.Xmemset(tls, bp+240, 0, uint64(unsafe.Sizeof(NameContext{})))
 		if (*Returning)(unsafe.Pointer(pReturning)).FnRetCol == 0 {
 			(*Returning)(unsafe.Pointer(pReturning)).FnRetCol = (*ExprList)(unsafe.Pointer(pNew)).FnExpr
@@ -93441,7 +93477,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt
 	if v != 0 {
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 {
 			Xsqlite3VdbeChangeP4(tls, v, -1,
-				Xsqlite3MPrintf(tls, db, ts+20471, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
+				Xsqlite3MPrintf(tls, db, ts+20518, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
 		}
 
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FpWhen != 0 {
@@ -94034,7 +94070,7 @@ __25:
 	}
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20485,
+		ts+20532,
 		libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*24)).FzCnName))
 	goto update_cleanup
 __27:
@@ -94066,7 +94102,7 @@ __21:
 	iRowidExpr = i
 	goto __30
 __29:
-	Xsqlite3ErrorMsg(tls, pParse, ts+20521, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20568, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
 	(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 	goto update_cleanup
 __30:
@@ -94392,7 +94428,12 @@ __74:
 	goto __77
 __76:
 	flags = WHERE_ONEPASS_DESIRED
-	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) && !(pTrigger != 0) && !(hasFK != 0) && !(chngKey != 0) && !(*(*int32)(unsafe.Pointer(bp + 104)) != 0)) {
+	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) &&
+		!(pTrigger != 0) &&
+		!(hasFK != 0) &&
+		!(chngKey != 0) &&
+		!(*(*int32)(unsafe.Pointer(bp + 104)) != 0) &&
+		(*NameContext)(unsafe.Pointer(bp+40)).FncFlags&NC_Subquery == 0) {
 		goto __78
 	}
 	flags = flags | WHERE_ONEPASS_MULTIROW
@@ -94946,7 +94987,7 @@ __168:
 	if !(regRowCount != 0) {
 		goto __169
 	}
-	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20540)
+	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20587)
 __169:
 	;
 update_cleanup:
@@ -95252,10 +95293,10 @@ __1:
 			if nClause == 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) {
 				*(*int8)(unsafe.Pointer(bp + 216)) = int8(0)
 			} else {
-				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216, ts+20553, libc.VaList(bp, nClause+1))
+				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216, ts+20600, libc.VaList(bp, nClause+1))
 			}
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+20557, libc.VaList(bp+8, bp+216))
+				ts+20604, libc.VaList(bp+8, bp+216))
 			return SQLITE_ERROR
 		}
 
@@ -95378,7 +95419,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 {
 		var zSubSql uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
 
 		if zSubSql != 0 &&
-			(libc.Xstrncmp(tls, zSubSql, ts+20630, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20634, uint64(3)) == 0) {
+			(libc.Xstrncmp(tls, zSubSql, ts+20677, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20681, uint64(3)) == 0) {
 			rc = execSql(tls, db, pzErrMsg, zSubSql)
 			if rc != SQLITE_OK {
 				break
@@ -95526,14 +95567,14 @@ func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p
 	if !!(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) {
 		goto __1
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20638)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20685)
 	return SQLITE_ERROR
 __1:
 	;
 	if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) {
 		goto __2
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20678)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20725)
 	return SQLITE_ERROR
 __2:
 	;
@@ -95544,7 +95585,7 @@ __2:
 	if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) {
 		goto __5
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20721)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20768)
 	return SQLITE_ERROR
 __5:
 	;
@@ -95572,7 +95613,7 @@ __4:
 	isMemDb = Xsqlite3PagerIsMemdb(tls, Xsqlite3BtreePager(tls, pMain))
 
 	nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb
-	rc = execSqlF(tls, db, pzErrMsg, ts+20739, libc.VaList(bp, zOut))
+	rc = execSqlF(tls, db, pzErrMsg, ts+20786, libc.VaList(bp, zOut))
 	(*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags
 	if !(rc != SQLITE_OK) {
 		goto __6
@@ -95592,7 +95633,7 @@ __6:
 		goto __8
 	}
 	rc = SQLITE_ERROR
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20762)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20809)
 	goto end_of_vacuum
 __8:
 	;
@@ -95652,7 +95693,7 @@ __12:
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb)
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20789,
+		ts+20836,
 		libc.VaList(bp+8, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __13
@@ -95661,7 +95702,7 @@ __12:
 __13:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20897,
+		ts+20944,
 		libc.VaList(bp+16, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __14
@@ -95672,7 +95713,7 @@ __14:
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
 
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20951,
+		ts+20998,
 		libc.VaList(bp+24, zDbMain))
 
 	*(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))
@@ -95683,7 +95724,7 @@ __14:
 __15:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+21102,
+		ts+21149,
 		libc.VaList(bp+32, zDbMain))
 	if !(rc != 0) {
 		goto __16
@@ -96112,11 +96153,11 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		if pEnd != 0 {
 			(*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32((int64((*Token)(unsafe.Pointer(pEnd)).Fz)-int64((*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz))/1)) + (*Token)(unsafe.Pointer(pEnd)).Fn
 		}
-		zStmt = Xsqlite3MPrintf(tls, db, ts+21232, libc.VaList(bp, pParse+272))
+		zStmt = Xsqlite3MPrintf(tls, db, ts+21279, libc.VaList(bp, pParse+272))
 
 		iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema)
 		Xsqlite3NestedParse(tls, pParse,
-			ts+21256,
+			ts+21303,
 			libc.VaList(bp+8, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
@@ -96126,7 +96167,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 
 		Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
-		zWhere = Xsqlite3MPrintf(tls, db, ts+21355, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
+		zWhere = Xsqlite3MPrintf(tls, db, ts+21402, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
 		Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0))
 		Xsqlite3DbFree(tls, db, zStmt)
 
@@ -96187,7 +96228,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	for pCtx = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx; pCtx != 0; pCtx = (*VtabCtx)(unsafe.Pointer(pCtx)).FpPrior {
 		if (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db,
-				ts+21374, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
+				ts+21421, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 			return SQLITE_LOCKED
 		}
 	}
@@ -96215,9 +96256,11 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FbDeclared = 0
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32
+	(*Table)(unsafe.Pointer(pTab)).FnTabRef++
 	rc = (*struct {
 		f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32
 	})(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+64)
+	Xsqlite3DeleteTable(tls, db, pTab)
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior
 	if rc == SQLITE_NOMEM {
 		Xsqlite3OomFault(tls, db)
@@ -96225,7 +96268,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 
 	if SQLITE_OK != rc {
 		if *(*uintptr)(unsafe.Pointer(bp + 64)) == uintptr(0) {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21416, libc.VaList(bp+8, zModuleName))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21463, libc.VaList(bp+8, zModuleName))
 		} else {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+3656, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64))))
 			Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
@@ -96237,7 +96280,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 		(*Module)(unsafe.Pointer(pMod)).FnRefModule++
 		(*VTable)(unsafe.Pointer(pVTable)).FnRef = 1
 		if (*VtabCtx)(unsafe.Pointer(bp+32)).FbDeclared == 0 {
-			var zFormat uintptr = ts + 21446
+			var zFormat uintptr = ts + 21493
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName))
 			Xsqlite3VtabUnlock(tls, pVTable)
 			rc = SQLITE_ERROR
@@ -96311,7 +96354,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32
 
 	if !(pMod != 0) {
 		var zModule uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pTab + 64 + 8))))
-		Xsqlite3ErrorMsg(tls, pParse, ts+21492, libc.VaList(bp, zModule))
+		Xsqlite3ErrorMsg(tls, pParse, ts+21539, libc.VaList(bp, zModule))
 		rc = SQLITE_ERROR
 	} else {
 		*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
@@ -96369,7 +96412,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr,
 	pMod = Xsqlite3HashFind(tls, db+576, zMod)
 
 	if pMod == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21492, libc.VaList(bp, zMod))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21539, libc.VaList(bp, zMod))
 		rc = SQLITE_ERROR
 	} else {
 		rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr)
@@ -96403,7 +96446,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3
 	if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
 		Xsqlite3Error(tls, db, SQLITE_MISUSE)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
-		return Xsqlite3MisuseError(tls, 151030)
+		return Xsqlite3MisuseError(tls, 151102)
 	}
 	pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab
 
@@ -96856,7 +96899,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	if !(p != 0) {
-		rc = Xsqlite3MisuseError(tls, 151521)
+		rc = Xsqlite3MisuseError(tls, 151593)
 	} else {
 		ap = va
 		switch op {
@@ -96883,7 +96926,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 			fallthrough
 		default:
 			{
-				rc = Xsqlite3MisuseError(tls, 151539)
+				rc = Xsqlite3MisuseError(tls, 151611)
 				break
 
 			}
@@ -97114,7 +97157,7 @@ type InLoop = struct {
 func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr {
 	i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2)))
 	if i == -2 {
-		return ts + 21511
+		return ts + 21558
 	}
 	if i == -1 {
 		return ts + 16260
@@ -97126,11 +97169,11 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	var i int32
 
 	if bAnd != 0 {
-		Xsqlite3_str_append(tls, pStr, ts+21518, 5)
+		Xsqlite3_str_append(tls, pStr, ts+21565, 5)
 	}
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21524, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21571, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97145,7 +97188,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	Xsqlite3_str_append(tls, pStr, zOp, 1)
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21524, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21571, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97171,27 +97214,27 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) {
 	if int32(nEq) == 0 && (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT|WHERE_TOP_LIMIT) == U32(0) {
 		return
 	}
-	Xsqlite3_str_append(tls, pStr, ts+21526, 2)
+	Xsqlite3_str_append(tls, pStr, ts+21573, 2)
 	for i = 0; i < int32(nEq); i++ {
 		var z uintptr = explainIndexColumnName(tls, pIndex, i)
 		if i != 0 {
-			Xsqlite3_str_append(tls, pStr, ts+21518, 5)
+			Xsqlite3_str_append(tls, pStr, ts+21565, 5)
 		}
 		Xsqlite3_str_appendf(tls, pStr, func() uintptr {
 			if i >= int32(nSkip) {
-				return ts + 21529
+				return ts + 21576
 			}
-			return ts + 21534
+			return ts + 21581
 		}(), libc.VaList(bp, z))
 	}
 
 	j = i
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21542)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21589)
 		i = 1
 	}
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_TOP_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21544)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21591)
 	}
 	Xsqlite3_str_append(tls, pStr, ts+4950, 1)
 }
@@ -97234,11 +97277,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 
 		Xsqlite3StrAccumInit(tls, bp+64, db, bp+96, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 		(*StrAccum)(unsafe.Pointer(bp + 64)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-		Xsqlite3_str_appendf(tls, bp+64, ts+21546, libc.VaList(bp, func() uintptr {
+		Xsqlite3_str_appendf(tls, bp+64, ts+21593, libc.VaList(bp, func() uintptr {
 			if isSearch != 0 {
-				return ts + 21552
+				return ts + 21599
 			}
-			return ts + 21559
+			return ts + 21606
 		}(), pItem))
 		if flags&U32(WHERE_IPK|WHERE_VIRTUALTABLE) == U32(0) {
 			var zFmt uintptr = uintptr(0)
@@ -97251,40 +97294,40 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 					zFmt = ts + 10969
 				}
 			} else if flags&U32(WHERE_PARTIALIDX) != 0 {
-				zFmt = ts + 21564
+				zFmt = ts + 21611
 			} else if flags&U32(WHERE_AUTO_INDEX) != 0 {
-				zFmt = ts + 21597
+				zFmt = ts + 21644
 			} else if flags&U32(WHERE_IDX_ONLY) != 0 {
-				zFmt = ts + 21622
+				zFmt = ts + 21669
 			} else {
-				zFmt = ts + 21640
+				zFmt = ts + 21687
 			}
 			if zFmt != 0 {
-				Xsqlite3_str_append(tls, bp+64, ts+21649, 7)
+				Xsqlite3_str_append(tls, bp+64, ts+21696, 7)
 				Xsqlite3_str_appendf(tls, bp+64, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName))
 				explainIndexRange(tls, bp+64, pLoop)
 			}
 		} else if flags&U32(WHERE_IPK) != U32(0) && flags&U32(WHERE_CONSTRAINT) != U32(0) {
 			var cRangeOp int8
 			var zRowid uintptr = ts + 16260
-			Xsqlite3_str_appendf(tls, bp+64, ts+21657, libc.VaList(bp+24, zRowid))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21704, libc.VaList(bp+24, zRowid))
 			if flags&U32(WHERE_COLUMN_EQ|WHERE_COLUMN_IN) != 0 {
 				cRangeOp = int8('=')
 			} else if flags&U32(WHERE_BOTH_LIMIT) == U32(WHERE_BOTH_LIMIT) {
-				Xsqlite3_str_appendf(tls, bp+64, ts+21688, libc.VaList(bp+32, zRowid))
+				Xsqlite3_str_appendf(tls, bp+64, ts+21735, libc.VaList(bp+32, zRowid))
 				cRangeOp = int8('<')
 			} else if flags&U32(WHERE_BTM_LIMIT) != 0 {
 				cRangeOp = int8('>')
 			} else {
 				cRangeOp = int8('<')
 			}
-			Xsqlite3_str_appendf(tls, bp+64, ts+21698, libc.VaList(bp+40, int32(cRangeOp)))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21745, libc.VaList(bp+40, int32(cRangeOp)))
 		} else if flags&U32(WHERE_VIRTUALTABLE) != U32(0) {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21703,
+			Xsqlite3_str_appendf(tls, bp+64, ts+21750,
 				libc.VaList(bp+48, *(*int32)(unsafe.Pointer(pLoop + 24)), *(*uintptr)(unsafe.Pointer(pLoop + 24 + 16))))
 		}
 		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&JT_LEFT != 0 {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21730, 0)
+			Xsqlite3_str_appendf(tls, bp+64, ts+21777, 0)
 		}
 		zMsg = Xsqlite3StrAccumFinish(tls, bp+64)
 
@@ -97316,22 +97359,22 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp
 
 	Xsqlite3StrAccumInit(tls, bp+24, db, bp+56, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 	(*StrAccum)(unsafe.Pointer(bp + 24)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-	Xsqlite3_str_appendf(tls, bp+24, ts+21741, libc.VaList(bp, pItem))
+	Xsqlite3_str_appendf(tls, bp+24, ts+21788, libc.VaList(bp, pItem))
 	pLoop = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_IPK) != 0 {
 		var pTab uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FpTab
 		if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21529, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21576, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
 		} else {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21762, 0)
+			Xsqlite3_str_appendf(tls, bp+24, ts+21809, 0)
 		}
 	} else {
 		for i = int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip); i < int32(*(*U16)(unsafe.Pointer(pLoop + 24))); i++ {
 			var z uintptr = explainIndexColumnName(tls, *(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)), i)
 			if i > int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip) {
-				Xsqlite3_str_append(tls, bp+24, ts+21518, 5)
+				Xsqlite3_str_append(tls, bp+24, ts+21565, 5)
 			}
-			Xsqlite3_str_appendf(tls, bp+24, ts+21529, libc.VaList(bp+16, z))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21576, libc.VaList(bp+16, z))
 		}
 	}
 	Xsqlite3_str_append(tls, bp+24, ts+4950, 1)
@@ -98928,7 +98971,7 @@ __134:
 	;
 __126:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21770, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21817, 0)
 	ii = 0
 __135:
 	if !(ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm) {
@@ -98956,7 +98999,7 @@ __139:
 	pOrExpr = pAndExpr
 __140:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21785, libc.VaList(bp, ii+1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21832, libc.VaList(bp, ii+1))
 
 	pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0),
 		uint16(WHERE_OR_SUBCLAUSE), iCovCur)
@@ -99474,7 +99517,7 @@ func Xsqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
 	var mAll Bitmask = uint64(0)
 	var k int32
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21794, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21841, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
 
 	for k = 0; k < iLevel; k++ {
 		var iIdxCur int32
@@ -99835,7 +99878,7 @@ var aOp = [4]Op2{
 	{FzOp: ts + 16109, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)},
 	{FzOp: ts + 15440, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)},
 	{FzOp: ts + 14960, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)},
-	{FzOp: ts + 21808, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
+	{FzOp: ts + 21855, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
 }
 
 func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) {
@@ -100325,12 +100368,12 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			extraRight = x - uint64(1)
 
 			if prereqAll>>1 >= x {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21815, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21862, 0)
 				return
 			}
 		} else if prereqAll>>1 >= x {
 			if (*SrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*SrcItem)(unsafe.Pointer(pSrc+8)).Ffg.Fjointype)&JT_LTORJ != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21815, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21862, 0)
 				return
 			}
 			*(*U32)(unsafe.Pointer(pExpr + 4)) &= libc.Uint32FromInt32(libc.CplInt32(EP_InnerON))
@@ -100409,7 +100452,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_OuterON) != U32(0)) &&
 			0 == Xsqlite3ExprCanBeNull(tls, pLeft) {
 			(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
-			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6762
+			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 7692
 			*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0)
@@ -100503,7 +100546,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 		}
 		zCollSeqName = func() uintptr {
 			if *(*int32)(unsafe.Pointer(bp + 20)) != 0 {
-				return ts + 21856
+				return ts + 21903
 			}
 			return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))
 		}()
@@ -100879,7 +100922,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 			k++
 		}
 		if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21863,
+			Xsqlite3ErrorMsg(tls, pParse, ts+21910,
 				libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j))
 			return
 		}
@@ -100895,7 +100938,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 		pRhs = Xsqlite3PExpr(tls, pParse, TK_UPLUS,
 			Xsqlite3ExprDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*ExprList_item)(unsafe.Pointer(pArgs+8+uintptr(j)*32)).FpExpr, 0), uintptr(0))
 		pTerm = Xsqlite3PExpr(tls, pParse, TK_EQ, pColRef, pRhs)
-		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ) != 0 {
+		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ|JT_RIGHT) != 0 {
 			joinType = U32(EP_OuterON)
 		} else {
 			joinType = U32(EP_InnerON)
@@ -101613,7 +101656,7 @@ __4:
 		goto __6
 	}
 	Xsqlite3_log(tls, SQLITE_WARNING|int32(1)<<8,
-		ts+21899, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
+		ts+21946, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
 			(*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*24)).FzCnName))
 	sentWarning = U8(1)
 __6:
@@ -101684,7 +101727,7 @@ __13:
 __14:
 	;
 	*(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)) = pIdx
-	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21925
+	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21972
 	(*Index)(unsafe.Pointer(pIdx)).FpTable = pTable
 	n = 0
 	idxCols = uint64(0)
@@ -101858,6 +101901,10 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 	var pLoop uintptr = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	var iCur int32
+	var saved_pIdxEpr uintptr
+
+	saved_pIdxEpr = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = uintptr(0)
 
 	addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once)
 	for __ccgo := true; __ccgo; __ccgo = iLevel < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel) {
@@ -101901,9 +101948,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 			var r1 int32 = Xsqlite3GetTempRange(tls, pParse, n)
 			var jj int32
 			for jj = 0; jj < n; jj++ {
-				var iCol int32 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(jj)*2)))
-
-				Xsqlite3ExprCodeGetColumnOfTable(tls, v, (*Index)(unsafe.Pointer(pIdx)).FpTable, iCur, iCol, r1+jj)
+				Xsqlite3ExprCodeLoadIndexColumn(tls, pParse, pIdx, iCur, jj, r1+jj)
 			}
 			Xsqlite3VdbeAddOp4Int(tls, v, OP_FilterAdd, (*WhereLevel)(unsafe.Pointer(pLevel)).FregFilter, 0, r1, n)
 			Xsqlite3ReleaseTempRange(tls, pParse, r1, n)
@@ -101937,6 +101982,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 		}
 	}
 	Xsqlite3VdbeJumpHere(tls, v, addrOnce)
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = saved_pIdxEpr
 }
 
 func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr {
@@ -102195,11 +102241,16 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro
 
 	_ = pParse
 
+	if !((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) && int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol)
+	} else {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnColumn)
+	}
 	nField = func() int32 {
-		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < (*Index)(unsafe.Pointer(pIdx)).FnSample {
+		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < nField {
 			return int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField)
 		}
-		return (*Index)(unsafe.Pointer(pIdx)).FnSample
+		return nField
 	}()
 	iCol = 0
 	iSample = (*Index)(unsafe.Pointer(pIdx)).FnSample * nField
@@ -103780,7 +103831,7 @@ __4:
 				j >= (*WhereClause)(unsafe.Pointer(pWC)).FnTerm ||
 				*(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) ||
 				int32((*sqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21936, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+				Xsqlite3ErrorMsg(tls, pParse, ts+21983, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 				return SQLITE_ERROR
 			}
@@ -103838,7 +103889,7 @@ __6:
 	(*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm = U16(mxTerm + 1)
 	for i = 0; i <= mxTerm; i++ {
 		if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21936, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+			Xsqlite3ErrorMsg(tls, pParse, ts+21983, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 			return SQLITE_ERROR
 		}
@@ -104236,7 +104287,7 @@ __1:
 		mPrior = mPrior | (*WhereLoop)(unsafe.Pointer(pNew)).FmaskSelf
 		if rc != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 			if rc == SQLITE_DONE {
-				Xsqlite3_log(tls, SQLITE_WARNING, ts+21962, 0)
+				Xsqlite3_log(tls, SQLITE_WARNING, ts+22009, 0)
 				rc = SQLITE_OK
 			} else {
 				goto __3
@@ -104843,7 +104894,7 @@ __3:
 	}
 
 	if nFrom == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+21997, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+22044, 0)
 		Xsqlite3DbFreeNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pSpace)
 		return SQLITE_ERROR
 	}
@@ -104878,6 +104929,10 @@ __3:
 			if int32((*WherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*ExprList)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr {
 				(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_ORDERED)
 			}
+			if (*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 &&
+				int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr {
+				(*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = I8((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr)
+			}
 		} else {
 			(*WhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*WherePath)(unsafe.Pointer(pFrom)).FrevLoop
 			if int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 {
@@ -105172,6 +105227,9 @@ func whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur in
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCur = iIdxCur
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCol = i
 		(*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow = U8(bMaybeNullRow)
+		if Xsqlite3IndexAffinityStr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pIdx) != 0 {
+			(*IndexedExpr)(unsafe.Pointer(p)).Faff = U8(*(*int8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(i))))
+		}
 		(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = p
 		if (*IndexedExpr)(unsafe.Pointer(p)).FpIENext == uintptr(0) {
 			Xsqlite3ParserAddCleanup(tls, pParse, *(*uintptr)(unsafe.Pointer(&struct {
@@ -105324,7 +105382,7 @@ __1:
 	if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22015, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+22062, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
 	return uintptr(0)
 __2:
 	;
@@ -105388,7 +105446,7 @@ __6:
 	(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE)
 __7:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22043, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22090, 0)
 	goto __5
 __4:
 	ii = 0
@@ -106270,7 +106328,7 @@ __1:
 
 error_out:
 	Xsqlite3_result_error(tls,
-		pCtx, ts+22061, -1)
+		pCtx, ts+22108, -1)
 }
 
 func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
@@ -106403,7 +106461,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 			(*NtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 			if (*NtileCtx)(unsafe.Pointer(p)).FnParam <= int64(0) {
 				Xsqlite3_result_error(tls,
-					pCtx, ts+22117, -1)
+					pCtx, ts+22164, -1)
 			}
 		}
 		(*NtileCtx)(unsafe.Pointer(p)).FnTotal++
@@ -106493,17 +106551,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
 	}
 }
 
-var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22162))
-var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22173))
-var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22184))
-var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22189))
-var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22202))
-var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22212))
-var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22218))
-var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22229))
-var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22239))
-var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22251))
-var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22256))
+var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22209))
+var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22220))
+var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22231))
+var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22236))
+var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22249))
+var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22259))
+var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22265))
+var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22276))
+var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22286))
+var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22298))
+var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22303))
 
 func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) {
 	_ = p
@@ -106549,7 +106607,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin
 		}
 	}
 	if p == uintptr(0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22260, libc.VaList(bp, zName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+22307, libc.VaList(bp, zName))
 	}
 	return p
 }
@@ -106593,12 +106651,12 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin
 		((*Window)(unsafe.Pointer(pWin)).FpStart != 0 || (*Window)(unsafe.Pointer(pWin)).FpEnd != 0) &&
 		((*Window)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*ExprList)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != 1) {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+22279, 0)
+			ts+22326, 0)
 	} else if (*FuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
 		if (*Window)(unsafe.Pointer(pWin)).FpFilter != 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22350, 0)
+				ts+22397, 0)
 		} else {
 			*(*[8]WindowUpdate)(unsafe.Pointer(bp)) = [8]WindowUpdate{
 				{FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT},
@@ -106825,7 +106883,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr
 
 	if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) {
 		Xsqlite3ErrorMsg(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse,
-			ts+22413, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
+			ts+22460, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
 	}
 	return WRC_Continue
 }
@@ -106941,7 +106999,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 {
 
 		if *(*uintptr)(unsafe.Pointer(bp + 48)) == uintptr(0) {
 			*(*uintptr)(unsafe.Pointer(bp + 48)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0),
-				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7523))
+				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7512))
 		}
 
 		pSub = Xsqlite3SelectNew(tls,
@@ -107056,7 +107114,7 @@ __1:
 		eStart == TK_FOLLOWING && (eEnd == TK_PRECEDING || eEnd == TK_CURRENT)) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22439, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22486, 0)
 	goto windowAllocErr
 __2:
 	;
@@ -107121,15 +107179,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint
 			var zErr uintptr = uintptr(0)
 
 			if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 {
-				zErr = ts + 22471
+				zErr = ts + 22518
 			} else if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0 {
-				zErr = ts + 22488
+				zErr = ts + 22535
 			} else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 {
-				zErr = ts + 22504
+				zErr = ts + 22551
 			}
 			if zErr != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+22524, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
+					ts+22571, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
 			} else {
 				(*Window)(unsafe.Pointer(pWin)).FpPartition = Xsqlite3ExprListDup(tls, db, (*Window)(unsafe.Pointer(pExist)).FpPartition, 0)
 				if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 {
@@ -107150,7 +107208,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr
 		(*Window)(unsafe.Pointer(pWin)).FpOwner = p
 		if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Distinct) != 0 && int32((*Window)(unsafe.Pointer(pWin)).FeFrmType) != TK_FILTER {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22557, 0)
+				ts+22604, 0)
 		}
 	} else {
 		Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin)
@@ -107306,11 +107364,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) {
 }
 
 var azErr = [5]uintptr{
-	ts + 22604,
-	ts + 22657,
-	ts + 22061,
-	ts + 22708,
-	ts + 22760,
+	ts + 22651,
+	ts + 22704,
+	ts + 22108,
+	ts + 22755,
+	ts + 22807,
 }
 var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge}
 
@@ -108705,19 +108763,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) {
 			}
 			cnt++
 			if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*Select)(unsafe.Pointer(pLoop)).FpLimit != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+22810,
+				Xsqlite3ErrorMsg(tls, pParse, ts+22857,
 					libc.VaList(bp, func() uintptr {
 						if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) {
-							return ts + 22852
+							return ts + 22899
 						}
-						return ts + 22861
+						return ts + 22908
 					}(),
 						Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(pNext)).Fop))))
 				break
 			}
 		}
 		if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_MultiValue) == U32(0) && libc.AssignInt32(&mxSelect, *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 4*4))) > 0 && cnt > mxSelect {
-			Xsqlite3ErrorMsg(tls, pParse, ts+22867, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+22914, 0)
 		}
 	}
 
@@ -108785,7 +108843,7 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT
 	var p uintptr = Xsqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0))
 	if (hasCollate != 0 || sortOrder != -1) &&
 		int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22901,
+		Xsqlite3ErrorMsg(tls, pParse, ts+22948,
 			libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz))
 	}
 	Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1)
@@ -109882,7 +109940,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) {
 		yy_pop_parser_stack(tls, yypParser)
 	}
 
-	Xsqlite3ErrorMsg(tls, pParse, ts+22939, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22986, 0)
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
 }
@@ -110861,7 +110919,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(TF_WithoutRowid | TF_NoVisibleRowid)
 				} else {
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22961, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23008, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			break
@@ -110871,7 +110929,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(TF_Strict)
 				} else {
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22961, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23008, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			*(*U32)(unsafe.Pointer(yymsp + 8)) = *(*U32)(unsafe.Pointer(bp + 40))
@@ -111614,7 +111672,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 		case uint32(157):
 			{
 				Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8)), yymsp+libc.UintptrFromInt32(-4)*24+8)
-				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+22988)
+				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+23035)
 				if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) != 0 {
 					var pFromClause uintptr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8))
 					if (*SrcList)(unsafe.Pointer(pFromClause)).FnSrc > 1 {
@@ -111778,7 +111836,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*Token)(unsafe.Pointer(bp + 128)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 
 					if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+22997, libc.VaList(bp+32, bp+128))
+						Xsqlite3ErrorMsg(tls, pParse, ts+23044, libc.VaList(bp+32, bp+128))
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0)
 					} else {
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0))
@@ -111995,9 +112053,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					Xsqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
 					*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_STRING, func() uintptr {
 						if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8)) != 0 {
-							return ts + 6757
+							return ts + 7687
 						}
-						return ts + 6762
+						return ts + 7692
 					}())
 					if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) != 0 {
 						Xsqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
@@ -112281,19 +112339,19 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 			{
 				*(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23021, 0)
+					ts+23068, 0)
 			}
 			break
 		case uint32(271):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23116, 0)
+					ts+23163, 0)
 			}
 			break
 		case uint32(272):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23200, 0)
+					ts+23247, 0)
 			}
 			break
 		case uint32(273):
@@ -112672,9 +112730,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To
 
 	_ = yymajor
 	if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8)).Fz)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22997, libc.VaList(bp, bp+8))
+		Xsqlite3ErrorMsg(tls, pParse, ts+23044, libc.VaList(bp, bp+8))
 	} else {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23285, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+23332, 0)
 	}
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
@@ -113442,7 +113500,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 			} else {
 				(*Token)(unsafe.Pointer(bp + 2464)).Fz = zSql
 				(*Token)(unsafe.Pointer(bp + 2464)).Fn = uint32(n)
-				Xsqlite3ErrorMsg(tls, pParse, ts+23302, libc.VaList(bp, bp+2464))
+				Xsqlite3ErrorMsg(tls, pParse, ts+23349, libc.VaList(bp, bp+2464))
 				break
 			}
 		}
@@ -113465,7 +113523,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 		if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) {
 			(*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+3656, libc.VaList(bp+8, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc)))
 		}
-		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23327, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
+		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23374, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
 		nErr++
 	}
 	(*Parse)(unsafe.Pointer(pParse)).FzTail = zSql
@@ -113638,7 +113696,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'C':
 						{
-							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23338, 6) == 0 {
+							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23385, 6) == 0 {
 								token = U8(TkCREATE)
 							} else {
 								token = U8(TkOTHER)
@@ -113651,11 +113709,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'T':
 						{
-							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19924, 7) == 0 {
+							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19971, 7) == 0 {
 								token = U8(TkTRIGGER)
-							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23345, 4) == 0 {
+							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23392, 4) == 0 {
 								token = U8(TkTEMP)
-							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23350, 9) == 0 {
+							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23397, 9) == 0 {
 								token = U8(TkTEMP)
 							} else {
 								token = U8(TkOTHER)
@@ -113668,9 +113726,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'E':
 						{
-							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23360, 3) == 0 {
+							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23407, 3) == 0 {
 								token = U8(TkEND)
-							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23364, 7) == 0 {
+							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23411, 7) == 0 {
 								token = U8(TkEXPLAIN)
 							} else {
 								token = U8(TkOTHER)
@@ -113904,7 +113962,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 {
 	var rc int32 = SQLITE_OK
 
 	if Xsqlite3Config.FisInit != 0 {
-		return Xsqlite3MisuseError(tls, 174337)
+		return Xsqlite3MisuseError(tls, 174426)
 	}
 
 	ap = va
@@ -114479,7 +114537,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 		return SQLITE_OK
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 175111)
+		return Xsqlite3MisuseError(tls, 175200)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 {
@@ -114494,7 +114552,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 
 	if !(forceZombie != 0) && connectionIsBusy(tls, db) != 0 {
 		Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-			ts+23372, 0)
+			ts+23419, 0)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		return SQLITE_BUSY
 	}
@@ -114685,23 +114743,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) {
 // Return a static string that describes the kind of error specified in the
 // argument.
 func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
-	var zErr uintptr = ts + 23440
+	var zErr uintptr = ts + 23487
 	switch rc {
 	case SQLITE_ABORT | int32(2)<<8:
 		{
-			zErr = ts + 23454
+			zErr = ts + 23501
 			break
 
 		}
 	case SQLITE_ROW:
 		{
-			zErr = ts + 23476
+			zErr = ts + 23523
 			break
 
 		}
 	case SQLITE_DONE:
 		{
-			zErr = ts + 23498
+			zErr = ts + 23545
 			break
 
 		}
@@ -114719,35 +114777,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
 }
 
 var aMsg = [29]uintptr{
-	ts + 23521,
-	ts + 23534,
+	ts + 23568,
+	ts + 23581,
 	uintptr(0),
-	ts + 23550,
-	ts + 23575,
-	ts + 23589,
-	ts + 23608,
+	ts + 23597,
+	ts + 23622,
+	ts + 23636,
+	ts + 23655,
 	ts + 1483,
-	ts + 23633,
-	ts + 23670,
-	ts + 23682,
-	ts + 23697,
-	ts + 23730,
-	ts + 23748,
-	ts + 23773,
-	ts + 23802,
+	ts + 23680,
+	ts + 23717,
+	ts + 23729,
+	ts + 23744,
+	ts + 23777,
+	ts + 23795,
+	ts + 23820,
+	ts + 23849,
 	uintptr(0),
 	ts + 5831,
 	ts + 5327,
-	ts + 23819,
-	ts + 23837,
-	ts + 23855,
+	ts + 23866,
+	ts + 23884,
+	ts + 23902,
 	uintptr(0),
-	ts + 23889,
-	uintptr(0),
-	ts + 23910,
 	ts + 23936,
-	ts + 23959,
-	ts + 23980,
+	uintptr(0),
+	ts + 23957,
+	ts + 23983,
+	ts + 24006,
+	ts + 24027,
 }
 
 func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 {
@@ -114868,7 +114926,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 		libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) ||
 		(nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) ||
 		255 < Xsqlite3Strlen30(tls, zFunctionName) {
-		return Xsqlite3MisuseError(tls, 175758)
+		return Xsqlite3MisuseError(tls, 175847)
 	}
 
 	extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS)
@@ -114913,7 +114971,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 	if p != 0 && (*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK) == U32(enc) && int32((*FuncDef)(unsafe.Pointer(p)).FnArg) == nArg {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+23996, 0)
+				ts+24043, 0)
 
 			return SQLITE_BUSY
 		} else {
@@ -115030,7 +115088,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs
 	_ = NotUsed
 	_ = NotUsed2
 	zErr = Xsqlite3_mprintf(tls,
-		ts+24059, libc.VaList(bp, zName))
+		ts+24106, libc.VaList(bp, zName))
 	Xsqlite3_result_error(tls, context, zErr, -1)
 	Xsqlite3_free(tls, zErr)
 }
@@ -115266,7 +115324,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
 	}
 	if iDb < 0 {
 		rc = SQLITE_ERROR
-		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24110, libc.VaList(bp, zDb))
+		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24157, libc.VaList(bp, zDb))
 	} else {
 		(*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0
 		rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt)
@@ -115359,7 +115417,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr {
 		return Xsqlite3ErrStr(tls, SQLITE_NOMEM)
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176503))
+		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176592))
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -115429,7 +115487,7 @@ var misuse = [34]U16{
 // passed to this function, we assume a malloc() failed during sqlite3_open().
 func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176582)
+		return Xsqlite3MisuseError(tls, 176671)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -115439,7 +115497,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 
 func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176591)
+		return Xsqlite3MisuseError(tls, 176680)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -115471,14 +115529,14 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint
 		enc2 = SQLITE_UTF16LE
 	}
 	if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE {
-		return Xsqlite3MisuseError(tls, 176639)
+		return Xsqlite3MisuseError(tls, 176728)
 	}
 
 	pColl = Xsqlite3FindCollSeq(tls, db, U8(enc2), zName, 0)
 	if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24131, 0)
+				ts+24178, 0)
 			return SQLITE_BUSY
 		}
 		Xsqlite3ExpirePreparedStatements(tls, db, 0)
@@ -115608,7 +115666,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u
 
 	if !((flags&uint32(SQLITE_OPEN_URI) != 0 ||
 		Xsqlite3Config.FbOpenUri != 0) &&
-		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24199, uint64(5)) == 0) {
+		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24246, uint64(5)) == 0) {
 		goto __1
 	}
 	iOut = 0
@@ -115653,10 +115711,10 @@ __8:
 	goto __8
 __9:
 	;
-	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24205, zUri+7, uint64(9)) != 0)) {
+	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24252, zUri+7, uint64(9)) != 0)) {
 		goto __10
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24215,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24262,
 		libc.VaList(bp, iIn-7, zUri+7))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
@@ -115761,7 +115819,7 @@ __27:
 	zVal = zOpt + uintptr(nOpt+1)
 	nVal = Xsqlite3Strlen30(tls, zVal)
 
-	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24243, zOpt, uint64(3)) == 0) {
+	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24290, zOpt, uint64(3)) == 0) {
 		goto __29
 	}
 	zVfs = zVal
@@ -115772,17 +115830,17 @@ __29:
 	mask = 0
 	limit = 0
 
-	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24247, zOpt, uint64(5)) == 0) {
+	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24294, zOpt, uint64(5)) == 0) {
 		goto __31
 	}
 
 	mask = SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE
 	aMode = uintptr(unsafe.Pointer(&aCacheMode))
 	limit = mask
-	zModeType = ts + 24247
+	zModeType = ts + 24294
 __31:
 	;
-	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24253, zOpt, uint64(4)) == 0) {
+	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24300, zOpt, uint64(4)) == 0) {
 		goto __32
 	}
 
@@ -115820,7 +115878,7 @@ __36:
 	if !(mode == 0) {
 		goto __38
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24258, libc.VaList(bp+16, zModeType, zVal))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24305, libc.VaList(bp+16, zModeType, zVal))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
 __38:
@@ -115828,7 +115886,7 @@ __38:
 	if !(mode&libc.CplInt32(SQLITE_OPEN_MEMORY) > limit) {
 		goto __39
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24278,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24325,
 		libc.VaList(bp+32, zModeType, zVal))
 	rc = SQLITE_PERM
 	goto parse_uri_out
@@ -115868,7 +115926,7 @@ __2:
 	if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) {
 		goto __42
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24302, libc.VaList(bp+48, zVfs))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24349, libc.VaList(bp+48, zVfs))
 	rc = SQLITE_ERROR
 __42:
 	;
@@ -115892,14 +115950,14 @@ type OpenMode = struct {
 }
 
 var aCacheMode = [3]OpenMode{
-	{Fz: ts + 24318, Fmode: SQLITE_OPEN_SHAREDCACHE},
-	{Fz: ts + 24325, Fmode: SQLITE_OPEN_PRIVATECACHE},
+	{Fz: ts + 24365, Fmode: SQLITE_OPEN_SHAREDCACHE},
+	{Fz: ts + 24372, Fmode: SQLITE_OPEN_PRIVATECACHE},
 	{},
 }
 var aOpenMode = [5]OpenMode{
-	{Fz: ts + 24333, Fmode: SQLITE_OPEN_READONLY},
-	{Fz: ts + 24336, Fmode: SQLITE_OPEN_READWRITE},
-	{Fz: ts + 24339, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
+	{Fz: ts + 24380, Fmode: SQLITE_OPEN_READONLY},
+	{Fz: ts + 24383, Fmode: SQLITE_OPEN_READWRITE},
+	{Fz: ts + 24386, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
 	{Fz: ts + 17355, Fmode: SQLITE_OPEN_MEMORY},
 	{},
 }
@@ -116046,10 +116104,10 @@ __12:
 	createCollation(tls, db, uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{binCollFunc})), uintptr(0))
-	createCollation(tls, db, ts+21856, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+21903, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{nocaseCollatingFunc})), uintptr(0))
-	createCollation(tls, db, ts+24343, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+24390, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{rtrimCollFunc})), uintptr(0))
 	if !((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) {
@@ -116063,7 +116121,7 @@ __15:
 	if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) {
 		goto __16
 	}
-	rc = Xsqlite3MisuseError(tls, 177308)
+	rc = Xsqlite3MisuseError(tls, 177397)
 	goto __17
 __16:
 	rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24)
@@ -116116,7 +116174,7 @@ __22:
 
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 6434
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).Fsafety_level = U8(SQLITE_DEFAULT_SYNCHRONOUS + 1)
-	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23345
+	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23392
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF)
 
 	(*Sqlite3)(unsafe.Pointer(db)).FeOpenState = U8(SQLITE_STATE_OPEN)
@@ -116221,7 +116279,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 {
 		return rc
 	}
 	if zFilename == uintptr(0) {
-		zFilename = ts + 24349
+		zFilename = ts + 24396
 	}
 	pVal = Xsqlite3ValueNew(tls, uintptr(0))
 	Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0))
@@ -116324,21 +116382,21 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr)
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	Xsqlite3_log(tls, iErr, ts+24352,
+	Xsqlite3_log(tls, iErr, ts+24399,
 		libc.VaList(bp, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls)))
 	return iErr
 }
 
 func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24377)
+	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24424)
 }
 
 func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24397)
+	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24444)
 }
 
 func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24404)
+	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24451)
 }
 
 // This is a convenience routine that makes sure that all thread-specific
@@ -116496,7 +116554,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24)))
-	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24421, libc.VaList(bp, zTableName,
+	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24468, libc.VaList(bp, zTableName,
 		zColumnName))
 	rc = SQLITE_ERROR
 __20:
@@ -117152,7 +117210,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 {
 
 	azCompileOpt = Xsqlite3CompileOptions(tls, bp)
 
-	if Xsqlite3_strnicmp(tls, zOptName, ts+24449, 7) == 0 {
+	if Xsqlite3_strnicmp(tls, zOptName, ts+24496, 7) == 0 {
 		zOptName += uintptr(7)
 	}
 	n = Xsqlite3Strlen30(tls, zOptName)
@@ -117270,7 +117328,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin
 
 	Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr {
 		if rc != 0 {
-			return ts + 24457
+			return ts + 24504
 		}
 		return uintptr(0)
 	}(), 0)
@@ -117448,7 +117506,7 @@ type JsonParse1 = struct {
 type JsonParse = JsonParse1
 
 var jsonType = [8]uintptr{
-	ts + 6174, ts + 6757, ts + 6762, ts + 6184, ts + 6179, ts + 7998, ts + 24480, ts + 24486,
+	ts + 6174, ts + 7687, ts + 7692, ts + 6184, ts + 6179, ts + 7998, ts + 24527, ts + 24533,
 }
 
 func jsonZero(tls *libc.TLS, p uintptr) {
@@ -117601,7 +117659,7 @@ __10:
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0' + int32(c)>>4)
-	c = uint8(*(*int8)(unsafe.Pointer(ts + 24493 + uintptr(int32(c)&0xf))))
+	c = uint8(*(*int8)(unsafe.Pointer(ts + 24540 + uintptr(int32(c)&0xf))))
 __8:
 	;
 __6:
@@ -117656,7 +117714,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) {
 	default:
 		{
 			if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 {
-				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24510, -1)
+				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24557, -1)
 				(*JsonString)(unsafe.Pointer(p)).FbErr = U8(2)
 				jsonReset(tls, p)
 			}
@@ -117720,13 +117778,13 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr
 		}
 	case JSON_TRUE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6757, uint32(4))
+			jsonAppendRaw(tls, pOut, ts+7687, uint32(4))
 			break
 
 		}
 	case JSON_FALSE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6762, uint32(5))
+			jsonAppendRaw(tls, pOut, ts+7692, uint32(5))
 			break
 
 		}
@@ -118276,12 +118334,12 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 't' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6757, uint64(4)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7687, uint64(4)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(4)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_TRUE), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 'f' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6762, uint64(5)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7692, uint64(5)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(5)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_FALSE), uint32(0), uintptr(0))
 		return int32(i + U32(5))
@@ -118382,7 +118440,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32
 			if (*JsonParse)(unsafe.Pointer(pParse)).Foom != 0 {
 				Xsqlite3_result_error_nomem(tls, pCtx)
 			} else {
-				Xsqlite3_result_error(tls, pCtx, ts+24539, -1)
+				Xsqlite3_result_error(tls, pCtx, ts+24586, -1)
 			}
 		}
 		jsonParseReset(tls, pParse)
@@ -118688,7 +118746,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt
 	}
 	if int32(*(*int8)(unsafe.Pointer(zPath))) == '.' {
 		jsonParseAddNode(tls, pParse, uint32(JSON_OBJECT), uint32(0), uintptr(0))
-	} else if libc.Xstrncmp(tls, zPath, ts+24554, uint64(3)) == 0 {
+	} else if libc.Xstrncmp(tls, zPath, ts+24601, uint64(3)) == 0 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0))
 	} else {
 		return uintptr(0)
@@ -118703,7 +118761,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	return Xsqlite3_mprintf(tls, ts+24558, libc.VaList(bp, zErr))
+	return Xsqlite3_mprintf(tls, ts+24605, libc.VaList(bp, zErr))
 }
 
 func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr {
@@ -118757,7 +118815,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24584,
+	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24631,
 		libc.VaList(bp, zFuncName))
 	Xsqlite3_result_error(tls, pCtx, zMsg, -1)
 	Xsqlite3_free(tls, zMsg)
@@ -118862,11 +118920,11 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 			if int32(*(*int8)(unsafe.Pointer(zPath))) != '$' {
 				jsonInit(tls, bp, ctx)
 				if int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zPath)))])&0x04 != 0 {
-					jsonAppendRaw(tls, bp, ts+24627, uint32(2))
+					jsonAppendRaw(tls, bp, ts+24674, uint32(2))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendRaw(tls, bp, ts+4991, uint32(2))
 				} else {
-					jsonAppendRaw(tls, bp, ts+24630, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
+					jsonAppendRaw(tls, bp, ts+24677, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendChar(tls, bp, int8(0))
 				}
@@ -119023,14 +119081,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 
 	if argc&1 != 0 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+24633, -1)
+			ts+24680, -1)
 		return
 	}
 	jsonInit(tls, bp, ctx)
 	jsonAppendChar(tls, bp, int8('{'))
 	for i = 0; i < argc; i = i + 2 {
 		if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != SQLITE_TEXT {
-			Xsqlite3_result_error(tls, ctx, ts+24684, -1)
+			Xsqlite3_result_error(tls, ctx, ts+24731, -1)
 			jsonReset(tls, bp)
 			return
 		}
@@ -119200,9 +119258,9 @@ __1:
 	}
 	jsonWrongNumArgs(tls, ctx, func() uintptr {
 		if bIsSet != 0 {
-			return ts + 24718
+			return ts + 24765
 		}
-		return ts + 24722
+		return ts + 24769
 	}())
 	return
 __2:
@@ -119335,7 +119393,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24729, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24776, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -119432,7 +119490,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24732, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24779, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -119476,7 +119534,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u
 	_ = argc
 	_ = pAux
 	rc = Xsqlite3_declare_vtab(tls, db,
-		ts+24735)
+		ts+24782)
 	if rc == SQLITE_OK {
 		pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{}))))
 		if pNew == uintptr(0) {
@@ -119607,7 +119665,7 @@ func jsonAppendObjectPathElement(tls *libc.TLS, pStr uintptr, pNode uintptr) {
 			nn = nn - 2
 		}
 	}
-	jsonPrintf(tls, nn+2, pStr, ts+24818, libc.VaList(bp, nn, z))
+	jsonPrintf(tls, nn+2, pStr, ts+24865, libc.VaList(bp, nn, z))
 }
 
 func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
@@ -119626,7 +119684,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
 	pNode = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(i)*16
 	pUp = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(iUp)*16
 	if int32((*JsonNode)(unsafe.Pointer(pUp)).FeType) == JSON_ARRAY {
-		jsonPrintf(tls, 30, pStr, ts+24824, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
+		jsonPrintf(tls, 30, pStr, ts+24871, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
 	} else {
 		if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_LABEL == 0 {
 			pNode -= 16
@@ -119722,7 +119780,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 					jsonAppendChar(tls, bp+8, int8('$'))
 				}
 				if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY {
-					jsonPrintf(tls, 30, bp+8, ts+24824, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
+					jsonPrintf(tls, 30, bp+8, ts+24871, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
 				} else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT {
 					jsonAppendObjectPathElement(tls, bp+8, pThis)
 				}
@@ -119746,7 +119804,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 		{
 			var zRoot uintptr = (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot
 			if zRoot == uintptr(0) {
-				zRoot = ts + 24829
+				zRoot = ts + 24876
 			}
 			Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0))
 			break
@@ -119868,7 +119926,7 @@ func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, ar
 		var rc int32 = SQLITE_NOMEM
 		if int32((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.Foom) == 0 {
 			Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg)
-			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24539, 0)
+			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24586, 0)
 			if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 {
 				rc = SQLITE_ERROR
 			}
@@ -119963,25 +120021,25 @@ func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) {
 }
 
 var aJsonFunc = [19]FuncDef{
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24831},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24836},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24847},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24847},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24865},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 24878},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 24881},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24885},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24897},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24909},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24920},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24931},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24943},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 24956},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24965},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24965},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24975},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24986},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25003}}
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24878},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24883},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24894},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24894},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24912},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 24925},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 24928},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24932},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24944},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24956},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24967},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24978},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24990},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 25003},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25012},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25012},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25022},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25033},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25050}}
 
 // Register the JSON table-valued functions
 func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 {
@@ -120000,8 +120058,8 @@ var aMod = [2]struct {
 	FzName   uintptr
 	FpModule uintptr
 }{
-	{FzName: ts + 25021, FpModule: 0},
-	{FzName: ts + 25031, FpModule: 0},
+	{FzName: ts + 25068, FpModule: 0},
+	{FzName: ts + 25078, FpModule: 0},
 }
 
 type Rtree1 = struct {
@@ -120261,11 +120319,11 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo
 		}
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) {
-		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25041, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25088, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		if zTab == uintptr(0) {
 			return SQLITE_NOMEM
 		}
-		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25049, iNode, 0,
+		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25096, iNode, 0,
 			pRtree+112)
 		Xsqlite3_free(tls, zTab)
 	}
@@ -120476,7 +120534,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32
 	var zCreate uintptr = Xsqlite3_mprintf(tls,
-		ts+25054,
+		ts+25101,
 		libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
@@ -121179,7 +121237,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 {
 	var pSrc uintptr
 	var pInfo uintptr
 
-	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25136)
+	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25183)
 	if pSrc == uintptr(0) {
 		return SQLITE_ERROR
 	}
@@ -122520,7 +122578,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+25150, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+	zSql = Xsqlite3_mprintf(tls, ts+25197, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 	if zSql != 0 {
 		rc = Xsqlite3_prepare_v2(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -1, bp+56, uintptr(0))
 	} else {
@@ -122532,12 +122590,12 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 		if iCol == 0 {
 			var zCol uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 0)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25170, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
+				ts+25217, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
 		} else {
 			var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol)
 			var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol+1)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25202, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
+				ts+25249, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
 		}
 	}
 
@@ -122763,7 +122821,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32 = SQLITE_NOMEM
 	var zSql uintptr = Xsqlite3_mprintf(tls,
-		ts+25239, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
+		ts+25286, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
 	if zSql != 0 {
 		nodeBlobReset(tls, pRtree)
 		rc = Xsqlite3_exec(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0))
@@ -122786,7 +122844,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 {
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	var zFmt uintptr = ts + 25384
+	var zFmt uintptr = ts + 25431
 	var zSql uintptr
 
 	var rc int32
@@ -122834,7 +122892,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName1 = [3]uintptr{
-	ts + 25440, ts + 5053, ts + 16260,
+	ts + 25487, ts + 5053, ts + 16260,
 }
 
 var rtreeModule = Sqlite3_module{
@@ -122877,19 +122935,19 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		var p uintptr = Xsqlite3_str_new(tls, db)
 		var ii int32
 		Xsqlite3_str_appendf(tls, p,
-			ts+25445,
+			ts+25492,
 			libc.VaList(bp, zDb, zPrefix))
 		for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
-			Xsqlite3_str_appendf(tls, p, ts+25507, libc.VaList(bp+16, ii))
+			Xsqlite3_str_appendf(tls, p, ts+25554, libc.VaList(bp+16, ii))
 		}
 		Xsqlite3_str_appendf(tls, p,
-			ts+25512,
+			ts+25559,
 			libc.VaList(bp+24, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25576,
+			ts+25623,
 			libc.VaList(bp+40, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25646,
+			ts+25693,
 			libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))
 		zCreate = Xsqlite3_str_finish(tls, p)
 		if !(zCreate != 0) {
@@ -122918,7 +122976,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		if i != 3 || int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) == 0 {
 			zFormat = azSql[i]
 		} else {
-			zFormat = ts + 25695
+			zFormat = ts + 25742
 		}
 		zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix))
 		if zSql != 0 {
@@ -122930,7 +122988,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FnAux != 0 {
 		(*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls,
-			ts+25803,
+			ts+25850,
 			libc.VaList(bp+96, zDb, zPrefix))
 		if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -122938,18 +122996,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 			var p uintptr = Xsqlite3_str_new(tls, db)
 			var ii int32
 			var zSql uintptr
-			Xsqlite3_str_appendf(tls, p, ts+25848, libc.VaList(bp+112, zDb, zPrefix))
+			Xsqlite3_str_appendf(tls, p, ts+25895, libc.VaList(bp+112, zDb, zPrefix))
 			for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
 				if ii != 0 {
 					Xsqlite3_str_append(tls, p, ts+12760, 1)
 				}
 				if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) {
-					Xsqlite3_str_appendf(tls, p, ts+25875, libc.VaList(bp+128, ii, ii+2, ii))
+					Xsqlite3_str_appendf(tls, p, ts+25922, libc.VaList(bp+128, ii, ii+2, ii))
 				} else {
-					Xsqlite3_str_appendf(tls, p, ts+25897, libc.VaList(bp+152, ii, ii+2))
+					Xsqlite3_str_appendf(tls, p, ts+25944, libc.VaList(bp+152, ii, ii+2))
 				}
 			}
-			Xsqlite3_str_appendf(tls, p, ts+25905, 0)
+			Xsqlite3_str_appendf(tls, p, ts+25952, 0)
 			zSql = Xsqlite3_str_finish(tls, p)
 			if zSql == uintptr(0) {
 				rc = SQLITE_NOMEM
@@ -122964,14 +123022,14 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 }
 
 var azSql = [8]uintptr{
-	ts + 25921,
-	ts + 25974,
-	ts + 26019,
-	ts + 26071,
-	ts + 26125,
-	ts + 26170,
-	ts + 26228,
-	ts + 26283,
+	ts + 25968,
+	ts + 26021,
+	ts + 26066,
+	ts + 26118,
+	ts + 26172,
+	ts + 26217,
+	ts + 26275,
+	ts + 26330,
 }
 
 func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 {
@@ -123000,7 +123058,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 	var zSql uintptr
 	if isCreate != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = 0
-		zSql = Xsqlite3_mprintf(tls, ts+26330, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
+		zSql = Xsqlite3_mprintf(tls, ts+26377, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
 		rc = getIntFromStmt(tls, db, zSql, bp+48)
 		if rc == SQLITE_OK {
 			(*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp + 48)) - 64
@@ -123012,7 +123070,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		}
 	} else {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+26350,
+			ts+26397,
 			libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		rc = getIntFromStmt(tls, db, zSql, pRtree+32)
 		if rc != SQLITE_OK {
@@ -123020,7 +123078,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		} else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < 512-64 {
 			rc = SQLITE_CORRUPT | int32(1)<<8
 
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26407,
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26454,
 				libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		}
 	}
@@ -123062,10 +123120,10 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr
 	ii = 4
 	*(*[5]uintptr)(unsafe.Pointer(bp + 96)) = [5]uintptr{
 		uintptr(0),
-		ts + 26442,
-		ts + 26485,
-		ts + 26520,
-		ts + 26556,
+		ts + 26489,
+		ts + 26532,
+		ts + 26567,
+		ts + 26603,
 	}
 
 	if !(argc < 6 || argc > RTREE_MAX_AUX_COLUMN+3) {
@@ -123096,7 +123154,7 @@ __2:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+26593,
+	Xsqlite3_str_appendf(tls, pSql, ts+26640,
 		libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8))))
 	ii = 4
 __3:
@@ -123108,7 +123166,7 @@ __3:
 		goto __6
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+26617, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
+	Xsqlite3_str_appendf(tls, pSql, ts+26664, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
 	goto __7
 __6:
 	if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) {
@@ -123131,7 +123189,7 @@ __4:
 	goto __5
 __5:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26623, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26670, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __10
@@ -123227,7 +123285,7 @@ __25:
 	return rc
 }
 
-var azFormat = [2]uintptr{ts + 26626, ts + 26637}
+var azFormat = [2]uintptr{ts + 26673, ts + 26684}
 
 func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	bp := tls.Alloc(1072)
@@ -123267,11 +123325,11 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 		if ii > 0 {
 			Xsqlite3_str_append(tls, pOut, ts+10913, 1)
 		}
-		Xsqlite3_str_appendf(tls, pOut, ts+26647, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
+		Xsqlite3_str_appendf(tls, pOut, ts+26694, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
 		for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+56)).FnDim2); jj++ {
-			Xsqlite3_str_appendf(tls, pOut, ts+26653, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
+			Xsqlite3_str_appendf(tls, pOut, ts+26700, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
 		}
-		Xsqlite3_str_append(tls, pOut, ts+26657, 1)
+		Xsqlite3_str_append(tls, pOut, ts+26704, 1)
 	}
 	errCode = Xsqlite3_str_errcode(tls, pOut)
 	Xsqlite3_result_text(tls, ctx, Xsqlite3_str_finish(tls, pOut), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
@@ -123282,7 +123340,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	_ = nArg
 	if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB ||
 		Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 {
-		Xsqlite3_result_error(tls, ctx, ts+26659, -1)
+		Xsqlite3_result_error(tls, ctx, ts+26706, -1)
 	} else {
 		var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 		if zBlob != 0 {
@@ -123360,7 +123418,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr
 		if z == uintptr(0) {
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM
 		} else {
-			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26692,
+			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26739,
 				libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr {
 					if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 {
 						return ts + 4055
@@ -123384,7 +123442,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) {
 		(*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = rtreeCheckPrepare(tls, pCheck,
-			ts+26699,
+			ts+26746,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab))
 	}
 
@@ -123403,7 +123461,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 		}
 		rtreeCheckReset(tls, pCheck, (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode)
 		if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) {
-			rtreeCheckAppendMsg(tls, pCheck, ts+26744, libc.VaList(bp+16, iNode))
+			rtreeCheckAppendMsg(tls, pCheck, ts+26791, libc.VaList(bp+16, iNode))
 		}
 	}
 
@@ -123417,8 +123475,8 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	var rc int32
 	var pStmt uintptr
 	*(*[2]uintptr)(unsafe.Pointer(bp + 80)) = [2]uintptr{
-		ts + 26776,
-		ts + 26830,
+		ts + 26823,
+		ts + 26877,
 	}
 
 	if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) {
@@ -123433,23 +123491,23 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	Xsqlite3_bind_int64(tls, pStmt, 1, iKey)
 	rc = Xsqlite3_step(tls, pStmt)
 	if rc == SQLITE_DONE {
-		rtreeCheckAppendMsg(tls, pCheck, ts+26878,
+		rtreeCheckAppendMsg(tls, pCheck, ts+26925,
 			libc.VaList(bp+16, iKey, iVal, func() uintptr {
 				if bLeaf != 0 {
-					return ts + 26923
+					return ts + 26970
 				}
-				return ts + 26931
+				return ts + 26978
 			}()))
 	} else if rc == SQLITE_ROW {
 		var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0)
 		if ii != iVal {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+26940,
+				ts+26987,
 				libc.VaList(bp+40, iKey, ii, func() uintptr {
 					if bLeaf != 0 {
-						return ts + 26923
+						return ts + 26970
 					}
-					return ts + 26931
+					return ts + 26978
 				}(), iKey, iVal))
 		}
 	}
@@ -123473,7 +123531,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 			return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48)) > *(*RtreeValue)(unsafe.Pointer(bp + 52)))
 		}() != 0 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+26998, libc.VaList(bp, i, iCell, iNode))
+				ts+27045, libc.VaList(bp, i, iCell, iNode))
 		}
 
 		if pParent != 0 {
@@ -123493,7 +123551,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 					return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52)) > *(*RtreeValue)(unsafe.Pointer(bp + 60)))
 				}() != 0 {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27046, libc.VaList(bp+24, i, iCell, iNode))
+					ts+27093, libc.VaList(bp+24, i, iCell, iNode))
 			}
 		}
 	}
@@ -123510,14 +123568,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 	if aNode != 0 {
 		if *(*int32)(unsafe.Pointer(bp + 48)) < 4 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27113, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
+				ts+27160, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
 		} else {
 			var nCell int32
 			var i int32
 			if aParent == uintptr(0) {
 				iDepth = readInt16(tls, aNode)
 				if iDepth > RTREE_MAX_DEPTH {
-					rtreeCheckAppendMsg(tls, pCheck, ts+27147, libc.VaList(bp+16, iDepth))
+					rtreeCheckAppendMsg(tls, pCheck, ts+27194, libc.VaList(bp+16, iDepth))
 					Xsqlite3_free(tls, aNode)
 					return
 				}
@@ -123525,7 +123583,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 			nCell = readInt16(tls, aNode+2)
 			if 4+nCell*(8+(*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim*2*4) > *(*int32)(unsafe.Pointer(bp + 48)) {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27177,
+					ts+27224,
 					libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48))))
 			} else {
 				for i = 0; i < nCell; i++ {
@@ -123554,14 +123612,14 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) {
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK {
 		var pCount uintptr
-		pCount = rtreeCheckPrepare(tls, pCheck, ts+27232,
+		pCount = rtreeCheckPrepare(tls, pCheck, ts+27279,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl))
 		if pCount != 0 {
 			if Xsqlite3_step(tls, pCount) == SQLITE_ROW {
 				var nActual I64 = Xsqlite3_column_int64(tls, pCount, 0)
 				if nActual != nExpect {
 					rtreeCheckAppendMsg(tls, pCheck,
-						ts+27263, libc.VaList(bp+24, zTbl, nExpect, nActual))
+						ts+27310, libc.VaList(bp+24, zTbl, nExpect, nActual))
 				}
 			}
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount)
@@ -123588,7 +123646,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	}
 
 	if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
-		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27330, libc.VaList(bp, zDb, zTab))
+		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27377, libc.VaList(bp, zDb, zTab))
 		if pStmt != 0 {
 			nAux = Xsqlite3_column_count(tls, pStmt) - 2
 			Xsqlite3_finalize(tls, pStmt)
@@ -123597,12 +123655,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		}
 	}
 
-	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25150, libc.VaList(bp+16, zDb, zTab))
+	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25197, libc.VaList(bp+16, zDb, zTab))
 	if pStmt != 0 {
 		var rc int32
 		(*RtreeCheck)(unsafe.Pointer(bp + 32)).FnDim = (Xsqlite3_column_count(tls, pStmt) - 1 - nAux) / 2
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).FnDim < 1 {
-			rtreeCheckAppendMsg(tls, bp+32, ts+27358, 0)
+			rtreeCheckAppendMsg(tls, bp+32, ts+27405, 0)
 		} else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).FbInt = libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)
 		}
@@ -123616,8 +123674,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			rtreeCheckNode(tls, bp+32, 0, uintptr(0), int64(1))
 		}
-		rtreeCheckCount(tls, bp+32, ts+27389, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
-		rtreeCheckCount(tls, bp+32, ts+27396, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27436, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27443, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
 	}
 
 	Xsqlite3_finalize(tls, (*RtreeCheck)(unsafe.Pointer(bp+32)).FpGetNode)
@@ -123625,7 +123683,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 + 40 + 1*8)))
 
 	if bEnd != 0 {
-		var rc int32 = Xsqlite3_exec(tls, db, ts+27404, uintptr(0), uintptr(0), uintptr(0))
+		var rc int32 = Xsqlite3_exec(tls, db, ts+27451, uintptr(0), uintptr(0), uintptr(0))
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).Frc = rc
 		}
@@ -123640,7 +123698,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 
 	if nArg != 1 && nArg != 2 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+27408, -1)
+			ts+27455, -1)
 	} else {
 		var rc int32
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
@@ -123658,7 +123716,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 				if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
 					return *(*uintptr)(unsafe.Pointer(bp))
 				}
-				return ts + 18005
+				return ts + 18052
 			}(), -1, libc.UintptrFromInt32(-1))
 		} else {
 			Xsqlite3_result_error_code(tls, ctx, rc)
@@ -124029,11 +124087,11 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var db uintptr = Xsqlite3_context_db_handle(tls, context)
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
-		Xsqlite3_str_append(tls, x, ts+27459, 1)
+		Xsqlite3_str_append(tls, x, ts+27506, 1)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27461, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27508, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27472, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27519, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -124053,19 +124111,19 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
 		var cSep int8 = int8('\'')
-		Xsqlite3_str_appendf(tls, x, ts+27483, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27530, 0)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27501, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27548, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 			cSep = int8(' ')
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27509, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27556, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		for i = 1; i < argc; i++ {
 			var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 			if z != 0 && *(*int8)(unsafe.Pointer(z)) != 0 {
-				Xsqlite3_str_appendf(tls, x, ts+27517, libc.VaList(bp+40, z))
+				Xsqlite3_str_appendf(tls, x, ts+27564, libc.VaList(bp+40, z))
 			}
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27521, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27568, 0)
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -124985,7 +125043,7 @@ __1:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+27534, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+27581, 0)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1)
 	ii = 3
@@ -124994,7 +125052,7 @@ __2:
 		goto __4
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+27556, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
+	Xsqlite3_str_appendf(tls, pSql, ts+27603, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
 	goto __3
 __3:
 	ii++
@@ -125002,7 +125060,7 @@ __3:
 	goto __4
 __4:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26623, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26670, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __5
@@ -125239,7 +125297,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 	}
 	if iFuncTerm >= 0 {
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum
-		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27560
+		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27607
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).FargvIndex = 1
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).Fomit = uint8(0)
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 300.0
@@ -125247,7 +125305,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 		return SQLITE_OK
 	}
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4
-	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27566
+	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27613
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000)
 	return SQLITE_OK
@@ -125359,7 +125417,7 @@ __1:
 	if !(*(*int32)(unsafe.Pointer(bp + 48)) == SQLITE_ERROR) {
 		goto __4
 	}
-	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27575, 0)
+	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27622, 0)
 __4:
 	;
 	goto geopoly_update_end
@@ -125491,14 +125549,14 @@ geopoly_update_end:
 func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 {
 	_ = pVtab
 	_ = nArg
-	if Xsqlite3_stricmp(tls, zName, ts+27615) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27662) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyOverlapFunc}))
 		*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
 		return SQLITE_INDEX_CONSTRAINT_FUNCTION
 	}
-	if Xsqlite3_stricmp(tls, zName, ts+27631) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27678) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyWithinFunc}))
@@ -125563,7 +125621,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 {
 			uintptr(0), aAgg[i].FxStep, aAgg[i].FxFinal)
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27646, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27693, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
 	}
 	return rc
 }
@@ -125575,25 +125633,25 @@ var aFunc = [12]struct {
 	F__ccgo_pad1 [6]byte
 	FzName       uintptr
 }{
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27654},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27667},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27680},
-	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27693},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27631},
-	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27705},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27615},
-	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27728},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27742},
-	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27755},
-	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27769},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27785},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27701},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27714},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27727},
+	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27740},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27678},
+	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27752},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27662},
+	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27775},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27789},
+	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27802},
+	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27816},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27832},
 }
 var aAgg = [1]struct {
 	FxStep  uintptr
 	FxFinal uintptr
 	FzName  uintptr
 }{
-	{FxStep: 0, FxFinal: 0, FzName: ts + 27797},
+	{FxStep: 0, FxFinal: 0, FzName: ts + 27844},
 }
 
 // Register the r-tree module with database handle db. This creates the
@@ -125603,26 +125661,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 {
 	var utf8 int32 = SQLITE_UTF8
 	var rc int32
 
-	rc = Xsqlite3_create_function(tls, db, ts+27816, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	rc = Xsqlite3_create_function(tls, db, ts+27863, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr)
 	}{rtreenode})), uintptr(0), uintptr(0))
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27826, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27873, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreedepth})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27837, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27884, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreecheck})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_REAL32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27560, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27607, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_INT32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27848, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27895, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		rc = sqlite3_geopoly_init(tls, db)
@@ -125676,7 +125734,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
 			Xsqlite3_result_error_nomem(tls, ctx)
 			rtreeMatchArgFree(tls, pBlob)
 		} else {
-			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25136, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
+			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25183, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
 		}
 	}
 }
@@ -126003,7 +126061,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 
 	nOut = rbuDeltaOutputSize(tls, aDelta, nDelta)
 	if nOut < 0 {
-		Xsqlite3_result_error(tls, context, ts+27858, -1)
+		Xsqlite3_result_error(tls, context, ts+27905, -1)
 		return
 	}
 
@@ -126014,7 +126072,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 		nOut2 = rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut)
 		if nOut2 != nOut {
 			Xsqlite3_free(tls, aOut)
-			Xsqlite3_result_error(tls, context, ts+27858, -1)
+			Xsqlite3_result_error(tls, context, ts+27905, -1)
 		} else {
 			Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		}
@@ -126115,7 +126173,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuObjIterClearStatements(tls, pIter)
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) {
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+27879, uintptr(0), uintptr(0), p+64)
+				ts+27926, uintptr(0), uintptr(0), p+64)
 		}
 
 		if rc == SQLITE_OK {
@@ -126179,7 +126237,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) {
 				Xsqlite3_result_text(tls, pCtx, zIn, -1, uintptr(0))
 			}
 		} else {
-			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25049, zIn, uint64(4)) == 0 {
+			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25096, zIn, uint64(4)) == 0 {
 				var i int32
 				for i = 4; int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) >= '0' && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) <= '9'; i++ {
 				}
@@ -126200,16 +126258,16 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 
 	rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28050, libc.VaList(bp, func() uintptr {
+			ts+28097, libc.VaList(bp, func() uintptr {
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					return ts + 28200
+					return ts + 28247
 				}
 				return ts + 1547
 			}())))
 
 	if rc == SQLITE_OK {
 		rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64,
-			ts+28241)
+			ts+28288)
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1
@@ -126325,7 +126383,7 @@ func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28366, libc.VaList(bp, zTab)))
+			ts+28413, libc.VaList(bp, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) != SQLITE_ROW) {
 		goto __1
 	}
@@ -126343,7 +126401,7 @@ __2:
 	*(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), 1)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+1*8, p+64,
-		Xsqlite3_mprintf(tls, ts+28485, libc.VaList(bp+8, zTab)))
+		Xsqlite3_mprintf(tls, ts+28532, libc.VaList(bp+8, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) {
 		goto __3
 	}
@@ -126361,7 +126419,7 @@ __4:
 	}
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+2*8, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28506, libc.VaList(bp+16, zIdx)))
+			ts+28553, libc.VaList(bp+16, zIdx)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __7
 	}
@@ -126384,7 +126442,7 @@ __6:
 __5:
 	;
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+3*8, p+64,
-		Xsqlite3_mprintf(tls, ts+28557, libc.VaList(bp+24, zTab)))
+		Xsqlite3_mprintf(tls, ts+28604, libc.VaList(bp+24, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __10
 	}
@@ -126430,7 +126488,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		libc.Xmemcpy(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+16, p+64,
-			Xsqlite3_mprintf(tls, ts+28578, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28625, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0
@@ -126445,7 +126503,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 			libc.Xmemset(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0x01, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		}
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+28606, libc.VaList(bp+8, zIdx)))
+			Xsqlite3_mprintf(tls, ts+28653, libc.VaList(bp+8, zIdx)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
 			var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 1)
 			if iCid >= 0 {
@@ -126485,7 +126543,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+56, pIter+108)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19482, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19529, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
 			return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc
@@ -126495,18 +126553,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		}
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+64, p+64,
-			Xsqlite3_mprintf(tls, ts+28635, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
+			Xsqlite3_mprintf(tls, ts+28682, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 			rbuAllocateIterArrays(tls, p, pIter, nCol)
 		}
 		for i = 0; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && i < nCol; i++ {
 			var zName uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), i)
-			if Xsqlite3_strnicmp(tls, ts+28654, zName, 4) != 0 {
+			if Xsqlite3_strnicmp(tls, ts+28701, zName, 4) != 0 {
 				var zCopy uintptr = rbuStrndup(tls, zName, p+56)
 				*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol
 				*(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(libc.PostIncInt32(&(*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol, 1))*8)) = zCopy
-			} else if 0 == Xsqlite3_stricmp(tls, ts+28659, zName) {
+			} else if 0 == Xsqlite3_stricmp(tls, ts+28706, zName) {
 				bRbuRowid = 1
 			}
 		}
@@ -126518,18 +126576,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			bRbuRowid != libc.Bool32((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls,
-				ts+28669, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
+				ts+28716, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 					func() uintptr {
 						if bRbuRowid != 0 {
-							return ts + 28698
+							return ts + 28745
 						}
-						return ts + 28711
+						return ts + 28758
 					}()))
 		}
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-				Xsqlite3_mprintf(tls, ts+28720, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				Xsqlite3_mprintf(tls, ts+28767, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		}
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64))) {
 			var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 1)
@@ -126543,7 +126601,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			}
 			if i == (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28742,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28789,
 					libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName))
 			} else {
 				var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 5)
@@ -126590,7 +126648,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var i int32
 	for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 		var z uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-		zList = rbuMPrintf(tls, p, ts+28769, libc.VaList(bp, zList, zSep, z))
+		zList = rbuMPrintf(tls, p, ts+28816, libc.VaList(bp, zList, zSep, z))
 		zSep = ts + 14607
 	}
 	return zList
@@ -126608,7 +126666,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr,
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if int32(*(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zRet = rbuMPrintf(tls, p, ts+28778, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
+				zRet = rbuMPrintf(tls, p, ts+28825, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
 				zSep = zSeparator
 				break
 			}
@@ -126630,25 +126688,25 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32,
 	if bRowid != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+28791, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				ts+28838, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 			var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-			zRet = rbuMPrintf(tls, p, ts+28823, libc.VaList(bp+16, iMax))
+			zRet = rbuMPrintf(tls, p, ts+28870, libc.VaList(bp+16, iMax))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 	} else {
-		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+14607, ts+28846)
-		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28852, ts+28859, ts+4950)
+		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+14607, ts+28893)
+		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28899, ts+28906, ts+4950)
 		var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+14607, ts+1547)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 				Xsqlite3_mprintf(tls,
-					ts+28867,
+					ts+28914,
 					libc.VaList(bp+24, zSelect, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 				var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-				zRet = rbuMPrintf(tls, p, ts+28909, libc.VaList(bp+56, zList, zVal))
+				zRet = rbuMPrintf(tls, p, ts+28956, libc.VaList(bp+56, zList, zVal))
 			}
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 		}
@@ -126690,7 +126748,7 @@ func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	*(*uintptr)(unsafe.Pointer(bp + 176)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-		Xsqlite3_mprintf(tls, ts+28606, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+		Xsqlite3_mprintf(tls, ts+28653, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 __1:
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176)))) {
 		goto __2
@@ -126725,7 +126783,7 @@ __10:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 	goto __7
 __6:
-	zCol = ts + 28929
+	zCol = ts + 28976
 __7:
 	;
 	goto __5
@@ -126733,11 +126791,11 @@ __4:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 __5:
 	;
-	zLhs = rbuMPrintf(tls, p, ts+28937,
+	zLhs = rbuMPrintf(tls, p, ts+28984,
 		libc.VaList(bp+8, zLhs, zSep, zCol, zCollate))
-	zOrder = rbuMPrintf(tls, p, ts+28958,
+	zOrder = rbuMPrintf(tls, p, ts+29005,
 		libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate))
-	zSelect = rbuMPrintf(tls, p, ts+28994,
+	zSelect = rbuMPrintf(tls, p, ts+29041,
 		libc.VaList(bp+80, zSelect, zSep, iCol, zCol))
 	zSep = ts + 14607
 	iCol++
@@ -126757,7 +126815,7 @@ __11:
 	*(*uintptr)(unsafe.Pointer(bp + 184)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+184, p+64,
-		Xsqlite3_mprintf(tls, ts+29021,
+		Xsqlite3_mprintf(tls, ts+29068,
 			libc.VaList(bp+112, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 184)))) {
 		goto __13
@@ -126784,7 +126842,7 @@ __19:
 	;
 __18:
 	;
-	zVector = rbuMPrintf(tls, p, ts+29069, libc.VaList(bp+136, zVector, zSep, zQuoted))
+	zVector = rbuMPrintf(tls, p, ts+29116, libc.VaList(bp+136, zVector, zSep, zQuoted))
 	zSep = ts + 14607
 	goto __15
 __15:
@@ -126796,7 +126854,7 @@ __16:
 	if !!(bFailed != 0) {
 		goto __20
 	}
-	zRet = rbuMPrintf(tls, p, ts+29076, libc.VaList(bp+160, zLhs, zVector))
+	zRet = rbuMPrintf(tls, p, ts+29123, libc.VaList(bp+160, zLhs, zVector))
 __20:
 	;
 __13:
@@ -126829,7 +126887,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 	if rc == SQLITE_OK {
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200, p+64,
-			Xsqlite3_mprintf(tls, ts+28606, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+			Xsqlite3_mprintf(tls, ts+28653, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 	}
 
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200))) {
@@ -126841,7 +126899,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 		if iCid == -2 {
 			var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 0)
-			zRet = Xsqlite3_mprintf(tls, ts+29088, libc.VaList(bp+8, zRet, zCom,
+			zRet = Xsqlite3_mprintf(tls, ts+29135, libc.VaList(bp+8, zRet, zCom,
 				(*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FnSpan, (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FzSpan, zCollate))
 			zType = ts + 1547
 		} else {
@@ -126853,37 +126911,37 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 					zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 				} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					zCol = ts + 28929
+					zCol = ts + 28976
 				} else {
-					zCol = ts + 28659
+					zCol = ts + 28706
 				}
 				zType = ts + 1112
 			} else {
 				zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 				zType = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8))
 			}
-			zRet = Xsqlite3_mprintf(tls, ts+29110, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
+			zRet = Xsqlite3_mprintf(tls, ts+29157, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 5) != 0 {
 			var zOrder uintptr = func() uintptr {
 				if bDesc != 0 {
-					return ts + 28846
+					return ts + 28893
 				}
 				return ts + 1547
 			}()
-			zImpPK = Xsqlite3_mprintf(tls, ts+29130,
+			zImpPK = Xsqlite3_mprintf(tls, ts+29177,
 				libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder))
 		}
-		zImpCols = Xsqlite3_mprintf(tls, ts+29151,
+		zImpCols = Xsqlite3_mprintf(tls, ts+29198,
 			libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate))
 		zWhere = Xsqlite3_mprintf(tls,
-			ts+29184, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
+			ts+29231, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
 		if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) {
 			rc = SQLITE_NOMEM
 		}
 		zCom = ts + 14607
-		zAnd = ts + 21518
+		zAnd = ts + 21565
 		nBind++
 	}
 
@@ -126922,9 +126980,9 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = Xsqlite3_mprintf(tls, ts+29208, libc.VaList(bp, zList, zS, zObj, zCol))
+				zList = Xsqlite3_mprintf(tls, ts+29255, libc.VaList(bp, zList, zS, zObj, zCol))
 			} else {
-				zList = Xsqlite3_mprintf(tls, ts+29220, libc.VaList(bp+32, zList, zS))
+				zList = Xsqlite3_mprintf(tls, ts+29267, libc.VaList(bp+32, zList, zS))
 			}
 			zS = ts + 14607
 			if zList == uintptr(0) {
@@ -126934,7 +126992,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-			zList = rbuMPrintf(tls, p, ts+29229, libc.VaList(bp+48, zList, zObj))
+			zList = rbuMPrintf(tls, p, ts+29276, libc.VaList(bp+48, zList, zObj))
 		}
 	}
 	return zList
@@ -126946,18 +127004,18 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	var zList uintptr = uintptr(0)
 	if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-		zList = rbuMPrintf(tls, p, ts+29244, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
+		zList = rbuMPrintf(tls, p, ts+29291, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
 	} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
 		var zSep uintptr = ts + 1547
 		var i int32
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
-				zList = rbuMPrintf(tls, p, ts+29258, libc.VaList(bp+8, zList, zSep, i, i+1))
-				zSep = ts + 21518
+				zList = rbuMPrintf(tls, p, ts+29305, libc.VaList(bp+8, zList, zSep, i, i+1))
+				zSep = ts + 21565
 			}
 		}
 		zList = rbuMPrintf(tls, p,
-			ts+29270, libc.VaList(bp+40, zList))
+			ts+29317, libc.VaList(bp+40, zList))
 
 	} else {
 		var zSep uintptr = ts + 1547
@@ -126965,8 +127023,8 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = rbuMPrintf(tls, p, ts+29320, libc.VaList(bp+48, zList, zSep, zCol, i+1))
-				zSep = ts + 21518
+				zList = rbuMPrintf(tls, p, ts+29367, libc.VaList(bp+48, zList, zSep, zCol, i+1))
+				zSep = ts + 21565
 			}
 		}
 	}
@@ -126975,7 +127033,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 func rbuBadControlError(tls *libc.TLS, p uintptr) {
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29333, 0)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29380, 0)
 }
 
 func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr {
@@ -126993,15 +127051,15 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr
 			for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 				var c int8 = *(*int8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4)))))
 				if int32(c) == 'x' {
-					zList = rbuMPrintf(tls, p, ts+29320,
+					zList = rbuMPrintf(tls, p, ts+29367,
 						libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14607
 				} else if int32(c) == 'd' {
-					zList = rbuMPrintf(tls, p, ts+29359,
+					zList = rbuMPrintf(tls, p, ts+29406,
 						libc.VaList(bp+32, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14607
 				} else if int32(c) == 'f' {
-					zList = rbuMPrintf(tls, p, ts+29389,
+					zList = rbuMPrintf(tls, p, ts+29436,
 						libc.VaList(bp+72, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14607
 				}
@@ -127038,19 +127096,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var z uintptr = uintptr(0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		var zSep uintptr = ts + 29426
+		var zSep uintptr = ts + 29473
 		*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 		*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56, p+64,
-			Xsqlite3_mprintf(tls, ts+28578, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28625, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) {
 			var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 3)
 			if zOrig != 0 && libc.Xstrcmp(tls, zOrig, ts+16148) == 0 {
 				var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 1)
 				if zIdx != 0 {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-						Xsqlite3_mprintf(tls, ts+28606, libc.VaList(bp+8, zIdx)))
+						Xsqlite3_mprintf(tls, ts+28653, libc.VaList(bp+8, zIdx)))
 				}
 				break
 			}
@@ -127062,15 +127120,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 				var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 2)
 				var zDesc uintptr
 				if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 3) != 0 {
-					zDesc = ts + 28846
+					zDesc = ts + 28893
 				} else {
 					zDesc = ts + 1547
 				}
-				z = rbuMPrintf(tls, p, ts+29439, libc.VaList(bp+16, z, zSep, zCol, zDesc))
+				z = rbuMPrintf(tls, p, ts+29486, libc.VaList(bp+16, z, zSep, zCol, zDesc))
 				zSep = ts + 14607
 			}
 		}
-		z = rbuMPrintf(tls, p, ts+29450, libc.VaList(bp+48, z))
+		z = rbuMPrintf(tls, p, ts+29497, libc.VaList(bp+48, z))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
 	return z
@@ -127090,7 +127148,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		var zPk uintptr = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168, p+64,
-			ts+29454)
+			ts+29501)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168)), 1, tnum)
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168))) {
@@ -127099,7 +127157,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		}
 		if zIdx != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-				Xsqlite3_mprintf(tls, ts+28606, libc.VaList(bp, zIdx)))
+				Xsqlite3_mprintf(tls, ts+28653, libc.VaList(bp, zIdx)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168)))
 
@@ -127109,23 +127167,23 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 				var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 1)
 				var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 3)
 				var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 4)
-				zCols = rbuMPrintf(tls, p, ts+29504, libc.VaList(bp+8, zCols, zComma,
+				zCols = rbuMPrintf(tls, p, ts+29551, libc.VaList(bp+8, zCols, zComma,
 					iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate))
-				zPk = rbuMPrintf(tls, p, ts+29526, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
+				zPk = rbuMPrintf(tls, p, ts+29573, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
 					if bDesc != 0 {
-						return ts + 28846
+						return ts + 28893
 					}
 					return ts + 1547
 				}()))
 				zComma = ts + 14607
 			}
 		}
-		zCols = rbuMPrintf(tls, p, ts+29536, libc.VaList(bp+80, zCols))
+		zCols = rbuMPrintf(tls, p, ts+29583, libc.VaList(bp+80, zCols))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176)))
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 1, tnum))
 		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+29551,
+			ts+29598,
 			libc.VaList(bp+120, zCols, zPk))
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 0, 0))
 	}
@@ -127151,13 +127209,13 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192, uintptr(0), uintptr(0), uintptr(0))
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 {
-				zPk = ts + 29613
+				zPk = ts + 29660
 			}
-			zSql = rbuMPrintf(tls, p, ts+29626,
+			zSql = rbuMPrintf(tls, p, ts+29673,
 				libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192)),
 					func() uintptr {
 						if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 {
-							return ts + 29653
+							return ts + 29700
 						}
 						return ts + 1547
 					}()))
@@ -127167,16 +127225,16 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
 			var zPk uintptr = rbuWithoutRowidPK(tls, p, pIter)
 			if zPk != 0 {
-				zSql = rbuMPrintf(tls, p, ts+29663, libc.VaList(bp+88, zSql, zPk))
+				zSql = rbuMPrintf(tls, p, ts+29710, libc.VaList(bp+88, zSql, zPk))
 			}
 		}
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 1, tnum))
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29670,
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29717,
 			libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql,
 				func() uintptr {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
-						return ts + 29702
+						return ts + 29749
 					}
 					return ts + 1547
 				}()))
@@ -127193,7 +127251,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis
 	if zBind != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls,
-				ts+29717,
+				ts+29764,
 				libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind)))
 	}
 }
@@ -127230,7 +127288,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(bp + 8)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64,
-			ts+29774)
+			ts+29821)
 	}
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		var rc2 int32
@@ -127335,7 +127393,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 		var zLimit uintptr = uintptr(0)
 
 		if nOffset != 0 {
-			zLimit = Xsqlite3_mprintf(tls, ts+29840, libc.VaList(bp, nOffset))
+			zLimit = Xsqlite3_mprintf(tls, ts+29887, libc.VaList(bp, nOffset))
 			if !(zLimit != 0) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
 			}
@@ -127358,7 +127416,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 0, 1))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 1, tnum))
 			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+29860,
+				ts+29907,
 				libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600)), *(*uintptr)(unsafe.Pointer(bp + 608))))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, 0, 0))
 
@@ -127366,13 +127424,13 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64,
-					Xsqlite3_mprintf(tls, ts+29925, libc.VaList(bp+128, zTbl, zBind)))
+					Xsqlite3_mprintf(tls, ts+29972, libc.VaList(bp+128, zTbl, zBind)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64,
-					Xsqlite3_mprintf(tls, ts+29961, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
+					Xsqlite3_mprintf(tls, ts+30008, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
 			}
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -127388,7 +127446,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					}
 
 					zSql = Xsqlite3_mprintf(tls,
-						ts+29995,
+						ts+30042,
 						libc.VaList(bp+160, zCollist,
 							(*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
@@ -127396,9 +127454,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								if zStart != 0 {
 									return func() uintptr {
 										if zPart != 0 {
-											return ts + 30056
+											return ts + 30103
 										}
-										return ts + 30060
+										return ts + 30107
 									}()
 								}
 								return ts + 1547
@@ -127407,20 +127465,20 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					Xsqlite3_free(tls, zStart)
 				} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30066,
+						ts+30113,
 						libc.VaList(bp+216, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart, zCollist, zLimit))
 				} else {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30127,
+						ts+30174,
 						libc.VaList(bp+264, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart,
 							zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
 							func() uintptr {
 								if zPart != 0 {
-									return ts + 30056
+									return ts + 30103
 								}
-								return ts + 30060
+								return ts + 30107
 							}(),
 							zCollist, zLimit))
 				}
@@ -127457,16 +127515,16 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB {
 					return ts + 1547
 				}
-				return ts + 30286
+				return ts + 30333
 			}()
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30295,
+						ts+30342,
 						libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr {
 							if bRbuRowid != 0 {
-								return ts + 30331
+								return ts + 30378
 							}
 							return ts + 1547
 						}(), zBindings)))
@@ -127475,32 +127533,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30341, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
+						ts+30388, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 				var zRbuRowid uintptr = ts + 1547
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-					zRbuRowid = ts + 30369
+					zRbuRowid = ts + 30416
 				}
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-					ts+30381, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
+					ts+30428, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
 						if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
-							return ts + 30457
+							return ts + 30504
 						}
 						return ts + 1547
 					}(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-					ts+30474,
+					ts+30521,
 					libc.VaList(bp+440, zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zNewlist))
 
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-						ts+30773,
+						ts+30820,
 						libc.VaList(bp+512, zWrite, zTbl, zNewlist))
 				}
 
@@ -127513,9 +127571,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				var zOrder uintptr = uintptr(0)
 				if bRbuRowid != 0 {
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-						zRbuRowid = ts + 30872
+						zRbuRowid = ts + 30919
 					} else {
-						zRbuRowid = ts + 30882
+						zRbuRowid = ts + 30929
 					}
 				}
 
@@ -127528,7 +127586,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 						}
 					}
 					if bRbuRowid != 0 {
-						zOrder = rbuMPrintf(tls, p, ts+28929, 0)
+						zOrder = rbuMPrintf(tls, p, ts+28976, 0)
 					} else {
 						zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+1547, ts+14607, ts+1547)
 					}
@@ -127537,11 +127595,11 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz,
 						Xsqlite3_mprintf(tls,
-							ts+30893,
+							ts+30940,
 							libc.VaList(bp+536, zCollist,
 								func() uintptr {
 									if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-										return ts + 30941
+										return ts + 30988
 									}
 									return ts + 1547
 								}(),
@@ -127554,7 +127612,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								}(),
 								func() uintptr {
 									if zOrder != 0 {
-										return ts + 22852
+										return ts + 22899
 									}
 									return ts + 1547
 								}(), zOrder,
@@ -127622,9 +127680,9 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp
 			var zPrefix uintptr = ts + 1547
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB {
-				zPrefix = ts + 30286
+				zPrefix = ts + 30333
 			}
-			zUpdate = Xsqlite3_mprintf(tls, ts+30947,
+			zUpdate = Xsqlite3_mprintf(tls, ts+30994,
 				libc.VaList(bp, zPrefix, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere))
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate)
@@ -127683,7 +127741,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr {
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 16)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8, p+64,
-		Xsqlite3_mprintf(tls, ts+30977, libc.VaList(bp, p+48)))
+		Xsqlite3_mprintf(tls, ts+31024, libc.VaList(bp, p+48)))
 	for *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 		switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0) {
 		case RBU_STATE_STAGE:
@@ -127756,18 +127814,18 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6434, SQLITE_FCNTL_RBUCNT, p)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) {
 			var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6434)
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31007, libc.VaList(bp, zFile, zFile))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31054, libc.VaList(bp, zFile, zFile))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 {
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31035, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31082, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
 		libc.Xmemcpy(tls, p+48, ts+3279, uint64(4))
 	} else {
 		libc.Xmemcpy(tls, p+48, ts+6434, uint64(4))
 	}
 
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31053, libc.VaList(bp+24, p+48))
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31100, libc.VaList(bp+24, p+48))
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		var bOpen int32 = 0
@@ -127807,11 +127865,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				return
 			}
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31119, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31166, 0)
 		} else {
 			var zTarget uintptr
 			var zExtra uintptr = uintptr(0)
-			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24199, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
+			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24246, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
 				zExtra = (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5
 				for *(*int8)(unsafe.Pointer(zExtra)) != 0 {
 					if int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zExtra, 1)))) == '?' {
@@ -127823,13 +127881,13 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				}
 			}
 
-			zTarget = Xsqlite3_mprintf(tls, ts+31151,
+			zTarget = Xsqlite3_mprintf(tls, ts+31198,
 				libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6434),
 					func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1547
 						}
-						return ts + 31183
+						return ts + 31230
 					}(), func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1547
@@ -127848,21 +127906,21 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31185, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31232, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTmpInsertFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31200, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31247, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuFossilDeltaFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+31217, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31264, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTargetNameFunc})), uintptr(0), uintptr(0))
 	}
@@ -127870,7 +127928,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, SQLITE_FCNTL_RBU, p)
 	}
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31233, 0)
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31280, 0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, SQLITE_FCNTL_RBU, p)
@@ -127878,7 +127936,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31261, 0)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31308, 0)
 	}
 }
 
@@ -127907,14 +127965,14 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
 	if pState == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = 0
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31233, uintptr(0), uintptr(0), uintptr(0))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31280, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var rc2 int32
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CAPTURE
-		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31279, uintptr(0), uintptr(0), uintptr(0))
+		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31326, uintptr(0), uintptr(0), uintptr(0))
 		if rc2 != SQLITE_NOTICE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 		}
@@ -128040,7 +128098,7 @@ func rbuLockDatabase(tls *libc.TLS, db uintptr) int32 {
 
 func rbuExclusiveCheckpoint(tls *libc.TLS, db uintptr) int32 {
 	var zUri uintptr = Xsqlite3_db_filename(tls, db, uintptr(0))
-	return Xsqlite3_uri_boolean(tls, zUri, ts+31314, 0)
+	return Xsqlite3_uri_boolean(tls, zUri, ts+31361, 0)
 }
 
 func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
@@ -128055,8 +128113,8 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6434)
 	}
-	zOal = Xsqlite3_mprintf(tls, ts+31339, libc.VaList(bp, zMove))
-	zWal = Xsqlite3_mprintf(tls, ts+31346, libc.VaList(bp+8, zMove))
+	zOal = Xsqlite3_mprintf(tls, ts+31386, libc.VaList(bp, zMove))
+	zWal = Xsqlite3_mprintf(tls, ts+31393, libc.VaList(bp+8, zMove))
 
 	if zWal == uintptr(0) || zOal == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
@@ -128173,7 +128231,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) {
 			(*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 &&
 			Xsqlite3_column_type(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect, i) == SQLITE_NULL {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_MISMATCH
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23837, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23884, 0)
 			return
 		}
 
@@ -128266,7 +128324,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 		var iCookie int32 = 1000000
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8, p+64,
-			ts+31353)
+			ts+31400)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 				iCookie = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0)
@@ -128274,7 +128332,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8)))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31375, libc.VaList(bp, iCookie+1))
+			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31422, libc.VaList(bp, iCookie+1))
 		}
 	}
 }
@@ -128295,7 +128353,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) {
 
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+31402,
+				ts+31449,
 				libc.VaList(bp, p+48,
 					RBU_STATE_STAGE, eStage,
 					RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl,
@@ -128325,9 +128383,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+31560, libc.VaList(bp, zPragma)))
+			Xsqlite3_mprintf(tls, ts+31607, libc.VaList(bp, zPragma)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31575,
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31622,
 				libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 0)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -128341,10 +128399,10 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 
-	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31595, uintptr(0), uintptr(0), p+64)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31642, uintptr(0), uintptr(0), p+64)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+31620)
+			ts+31667)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -128358,12 +128416,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+31728)
+			ts+31775)
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64,
-			ts+31793)
+			ts+31840)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -128375,7 +128433,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
 	}
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31837, uintptr(0), uintptr(0), p+64)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31884, uintptr(0), uintptr(0), p+64)
 	}
 
 	rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp)))
@@ -128403,7 +128461,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 {
 						if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 							rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-								ts+31862, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
+								ts+31909, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 						}
 					} else {
 						rbuObjIterPrepareAll(tls, p, pIter, 0)
@@ -128525,7 +128583,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) {
 
 		if rc == SQLITE_OK && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) {
 			rc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31890, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31937, 0)
 		}
 
 		if rc == SQLITE_OK {
@@ -128541,7 +128599,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	var zOal uintptr = rbuMPrintf(tls, p, ts+31339, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
+	var zOal uintptr = rbuMPrintf(tls, p, ts+31386, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
 	if zOal != 0 {
 		*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6434, SQLITE_FCNTL_VFS_POINTER, bp+8)
@@ -128558,7 +128616,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) {
 	defer tls.Free(76)
 
 	Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8)
-	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+31915, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
+	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+31962, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12, uintptr(0))
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12)
@@ -128592,7 +128650,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) {
 
 	rc = prepareFreeAndCollectError(tls, db, bp+8, bp+16,
 		Xsqlite3_mprintf(tls,
-			ts+31926, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
+			ts+31973, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
 	if rc != SQLITE_OK {
 		Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 16)), -1)
 	} else {
@@ -128622,13 +128680,13 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+31998, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+32045, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuIndexCntFunc})), uintptr(0), uintptr(0))
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32012)
+				ts+32059)
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
@@ -128639,7 +128697,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && bExists != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32069)
+				ts+32116)
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
@@ -128713,7 +128771,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd != 0 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32143, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32190, 0)
 			} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_MOVE {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CKPT
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FnStep = 0
@@ -128731,12 +128789,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 			}()
 			if (*Rbu_file)(unsafe.Pointer(pFd)).FiCookie != (*RbuState)(unsafe.Pointer(pState)).FiCookie {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32175,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32222,
 					libc.VaList(bp+8, func() uintptr {
 						if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-							return ts + 32207
+							return ts + 32254
 						}
-						return ts + 32214
+						return ts + 32261
 					}()))
 			}
 		}
@@ -128760,14 +128818,14 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32221, uintptr(0), uintptr(0), p+64)
+						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32268, uintptr(0), uintptr(0), p+64)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 						var frc int32 = Xsqlite3_file_control(tls, db, ts+6434, SQLITE_FCNTL_ZIPVFS, uintptr(0))
 						if frc == SQLITE_OK {
 							(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls,
-								db, ts+32237, uintptr(0), uintptr(0), p+64)
+								db, ts+32284, uintptr(0), uintptr(0), p+64)
 						}
 					}
 
@@ -128821,7 +128879,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr
 	}
 	if zState != 0 {
 		var n int32 = int32(libc.Xstrlen(tls, zState))
-		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32261, zState+uintptr(n-7), uint64(7)) {
+		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32308, zState+uintptr(n-7), uint64(7)) {
 			return rbuMisuseError(tls)
 		}
 	}
@@ -128848,7 +128906,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) {
 		var i uint32
 		var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg)
 		for i = uint32(0); Size_t(i) < nErrmsg-uint64(8); i++ {
-			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30286, uint64(8)) == 0 {
+			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30333, uint64(8)) == 0 {
 				var nDel int32 = 8
 				for int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= '0' && int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= '9' {
 					nDel++
@@ -128884,7 +128942,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 {
 		rbuObjIterFinalize(tls, p+80)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 {
-			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32269, uintptr(0), uintptr(0), uintptr(0))
+			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32316, uintptr(0), uintptr(0), uintptr(0))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE && rc2 != SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 			}
@@ -129003,12 +129061,12 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 				zBegin = ts + 14496
 			} else {
-				zBegin = ts + 32221
+				zBegin = ts + 32268
 			}
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32221, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32268, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -129354,7 +129412,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 			})(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16)
 			if rc == SQLITE_OK {
 				rc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32296, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32343, 0)
 			} else if rc == SQLITE_NOTFOUND {
 				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p
 				(*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu
@@ -129379,7 +129437,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 	if rc == SQLITE_OK && op == SQLITE_FCNTL_VFSNAME {
 		var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs
 		var zIn uintptr = *(*uintptr)(unsafe.Pointer(pArg))
-		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32319, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
+		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32366, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
 		*(*uintptr)(unsafe.Pointer(pArg)) = zOut
 		if zOut == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -129539,7 +129597,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags
 	}
 
 	if oflags&SQLITE_OPEN_MAIN_DB != 0 &&
-		Xsqlite3_uri_boolean(tls, zName, ts+32330, 0) != 0 {
+		Xsqlite3_uri_boolean(tls, zName, ts+32377, 0) != 0 {
 		oflags = SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE
 		zOpen = uintptr(0)
 	}
@@ -130368,7 +130426,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 		rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0))
 		if rc == SQLITE_OK {
 			zPragma = Xsqlite3_mprintf(tls,
-				ts+32341, 0)
+				ts+32388, 0)
 		} else if rc == SQLITE_ERROR {
 			zPragma = Xsqlite3_mprintf(tls, ts+1547, 0)
 		} else {
@@ -130381,7 +130439,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 			return rc
 		}
 	} else {
-		zPragma = Xsqlite3_mprintf(tls, ts+32462, libc.VaList(bp, zDb, zThis))
+		zPragma = Xsqlite3_mprintf(tls, ts+32509, libc.VaList(bp, zDb, zThis))
 	}
 	if !(zPragma != 0) {
 		*(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0)
@@ -131061,9 +131119,9 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr,
 
 	for i = 0; i < nCol; i++ {
 		if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
-			zRet = Xsqlite3_mprintf(tls, ts+32491,
+			zRet = Xsqlite3_mprintf(tls, ts+32538,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 21518
+			zSep = ts + 21565
 			if zRet == uintptr(0) {
 				break
 			}
@@ -131086,9 +131144,9 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 		if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 {
 			bHave = 1
 			zRet = Xsqlite3_mprintf(tls,
-				ts+32525,
+				ts+32572,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 32566
+			zSep = ts + 32613
 			if zRet == uintptr(0) {
 				break
 			}
@@ -131096,7 +131154,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 	}
 
 	if bHave == 0 {
-		zRet = Xsqlite3_mprintf(tls, ts+7523, 0)
+		zRet = Xsqlite3_mprintf(tls, ts+7512, 0)
 	}
 
 	return zRet
@@ -131107,7 +131165,7 @@ func sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, zTbl uintpt
 	defer tls.Free(40)
 
 	var zRet uintptr = Xsqlite3_mprintf(tls,
-		ts+32571,
+		ts+32618,
 		libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr))
 	return zRet
 }
@@ -131150,7 +131208,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro
 		rc = SQLITE_NOMEM
 	} else {
 		var zStmt uintptr = Xsqlite3_mprintf(tls,
-			ts+32649,
+			ts+32696,
 			libc.VaList(bp, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2))
 		if zStmt == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -131277,7 +131335,7 @@ __6:
 	if !(pzErrMsg != 0) {
 		goto __16
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32702, 0)
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32749, 0)
 __16:
 	;
 	rc = SQLITE_SCHEMA
@@ -131753,7 +131811,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 
 	if 0 == Xsqlite3_stricmp(tls, ts+11341, zTab) {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+32729, libc.VaList(bp, zDb))
+			ts+32776, libc.VaList(bp, zDb))
 		if zSql == uintptr(0) {
 			*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_NOMEM
 		}
@@ -131762,18 +131820,18 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 		var zSep uintptr = ts + 1547
 		*(*SessionBuffer)(unsafe.Pointer(bp + 8)) = SessionBuffer{}
 
-		sessionAppendStr(tls, bp+8, ts+32839, bp+24)
+		sessionAppendStr(tls, bp+8, ts+32886, bp+24)
 		sessionAppendIdent(tls, bp+8, zDb, bp+24)
 		sessionAppendStr(tls, bp+8, ts+1560, bp+24)
 		sessionAppendIdent(tls, bp+8, zTab, bp+24)
-		sessionAppendStr(tls, bp+8, ts+32854, bp+24)
+		sessionAppendStr(tls, bp+8, ts+32901, bp+24)
 		for i = 0; i < nCol; i++ {
 			if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
 				sessionAppendStr(tls, bp+8, zSep, bp+24)
 				sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+24)
-				sessionAppendStr(tls, bp+8, ts+32862, bp+24)
+				sessionAppendStr(tls, bp+8, ts+32909, bp+24)
 				sessionAppendInteger(tls, bp+8, i+1, bp+24)
-				zSep = ts + 21518
+				zSep = ts + 21565
 			}
 		}
 		zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8)).FaBuf
@@ -131882,7 +131940,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 {
 		return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc
 	}
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32868, uintptr(0), uintptr(0), uintptr(0))
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32915, uintptr(0), uintptr(0), uintptr(0))
 	if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
@@ -131974,7 +132032,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	}
 
 	Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24)).FaBuf)
-	Xsqlite3_exec(tls, db, ts+32888, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+32935, uintptr(0), uintptr(0), uintptr(0))
 	Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db))
 	return *(*int32)(unsafe.Pointer(bp + 40))
 }
@@ -132237,7 +132295,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 		rc = sessionInputBuffer(tls, pIn, 9)
 		if rc == SQLITE_OK {
 			if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData {
-				rc = Xsqlite3CorruptError(tls, 219078)
+				rc = Xsqlite3CorruptError(tls, 219169)
 			} else {
 				eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1)))))
 
@@ -132260,7 +132318,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 				rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
 				if rc == SQLITE_OK {
 					if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext {
-						rc = Xsqlite3CorruptError(tls, 219098)
+						rc = Xsqlite3CorruptError(tls, 219189)
 					} else {
 						var enc U8 = func() uint8 {
 							if eType == SQLITE_TEXT {
@@ -132302,7 +132360,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in
 		nRead = nRead + sessionVarintGet(tls, (*SessionInput)(unsafe.Pointer(pIn)).FaData+uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext+nRead), bp)
 
 		if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > 65536 {
-			rc = Xsqlite3CorruptError(tls, 219152)
+			rc = Xsqlite3CorruptError(tls, 219243)
 		} else {
 			rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100)
 			nRead = nRead + *(*int32)(unsafe.Pointer(bp))
@@ -132363,7 +132421,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 {
 			(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
 			sessionBufferGrow(tls, p+72, int64(nByte), bp+4)
 		} else {
-			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219240)
+			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219331)
 		}
 	}
 
@@ -132437,13 +132495,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 	}
 
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219326))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219417))
 	}
 
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op)
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))))
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219332))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219423))
 	}
 
 	if paRec != 0 {
@@ -132505,7 +132563,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 				if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8))
 					if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) {
-						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219376))
+						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219467))
 					}
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0)
 				}
@@ -132878,7 +132936,7 @@ __27:
 	goto __6
 
 __11:
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219741)
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219832)
 	goto finished_invert
 __6:
 	;
@@ -133057,34 +133115,34 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32,
 				(*SessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24
 				libc.Xmemcpy(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(unsafe.Sizeof(U32(0))))
 
-				sessionAppendStr(tls, bp, ts+32906, bp+16)
+				sessionAppendStr(tls, bp, ts+32953, bp+16)
 				sessionAppendIdent(tls, bp, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+16)
-				sessionAppendStr(tls, bp, ts+32919, bp+16)
+				sessionAppendStr(tls, bp, ts+32966, bp+16)
 
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-						sessionAppendStr(tls, bp, ts+32925, bp+16)
+						sessionAppendStr(tls, bp, ts+32972, bp+16)
 						sessionAppendInteger(tls, bp, ii*2+1, bp+16)
 						zSep = ts + 14607
 					}
 				}
 
 				zSep = ts + 1547
-				sessionAppendStr(tls, bp, ts+32854, bp+16)
+				sessionAppendStr(tls, bp, ts+32901, bp+16)
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						if bStat1 != 0 && ii == 1 {
 							sessionAppendStr(tls, bp,
-								ts+32930, bp+16)
+								ts+32977, bp+16)
 						} else {
 							sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-							sessionAppendStr(tls, bp, ts+32862, bp+16)
+							sessionAppendStr(tls, bp, ts+32909, bp+16)
 							sessionAppendInteger(tls, bp, ii*2+2, bp+16)
 						}
-						zSep = ts + 21518
+						zSep = ts + 21565
 					}
 				}
 
@@ -133136,34 +133194,34 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 	var nPk int32 = 0
 
-	sessionAppendStr(tls, bp, ts+33005, bp+16)
+	sessionAppendStr(tls, bp, ts+33052, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+32854, bp+16)
+	sessionAppendStr(tls, bp, ts+32901, bp+16)
 
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 			nPk++
 			sessionAppendStr(tls, bp, zSep, bp+16)
 			sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-			sessionAppendStr(tls, bp, ts+32925, bp+16)
+			sessionAppendStr(tls, bp, ts+32972, bp+16)
 			sessionAppendInteger(tls, bp, i+1, bp+16)
-			zSep = ts + 21518
+			zSep = ts + 21565
 		}
 	}
 
 	if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol {
-		sessionAppendStr(tls, bp, ts+33023, bp+16)
+		sessionAppendStr(tls, bp, ts+33070, bp+16)
 		sessionAppendInteger(tls, bp, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol+1, bp+16)
-		sessionAppendStr(tls, bp, ts+32566, bp+16)
+		sessionAppendStr(tls, bp, ts+32613, bp+16)
 
 		zSep = ts + 1547
 		for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 			if !(int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i)))) != 0) {
 				sessionAppendStr(tls, bp, zSep, bp+16)
 				sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-				sessionAppendStr(tls, bp, ts+32862, bp+16)
+				sessionAppendStr(tls, bp, ts+32909, bp+16)
 				sessionAppendInteger(tls, bp, i+1, bp+16)
-				zSep = ts + 33031
+				zSep = ts + 33078
 			}
 		}
 		sessionAppendStr(tls, bp, ts+4950, bp+16)
@@ -133190,9 +133248,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	var i int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 
-	sessionAppendStr(tls, bp, ts+33036, bp+16)
+	sessionAppendStr(tls, bp, ts+33083, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+21524, bp+16)
+	sessionAppendStr(tls, bp, ts+21571, bp+16)
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if i != 0 {
 			sessionAppendStr(tls, bp, ts+14607, bp+16)
@@ -133200,9 +133258,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 		sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
 	}
 
-	sessionAppendStr(tls, bp, ts+33054, bp+16)
+	sessionAppendStr(tls, bp, ts+33101, bp+16)
 	for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
-		sessionAppendStr(tls, bp, ts+33065, bp+16)
+		sessionAppendStr(tls, bp, ts+33112, bp+16)
 	}
 	sessionAppendStr(tls, bp, ts+4950, bp+16)
 
@@ -133221,11 +133279,11 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 {
 	var rc int32 = sessionSelectRow(tls, db, ts+11341, p)
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+16,
-			ts+33069)
+			ts+33116)
 	}
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+8,
-			ts+33182)
+			ts+33229)
 	}
 	return rc
 }
@@ -133253,7 +133311,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab
 				f func(*libc.TLS, uintptr, int32, uintptr) int32
 			})(unsafe.Pointer(&struct{ uintptr }{xValue})).f(tls, pIter, i, bp)
 			if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
-				rc = Xsqlite3CorruptError(tls, 220219)
+				rc = Xsqlite3CorruptError(tls, 220310)
 			} else {
 				rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp)))
 			}
@@ -133506,7 +133564,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 		if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
 			rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 		} else if *(*int32)(unsafe.Pointer(bp)) != 0 {
-			rc = Xsqlite3_exec(tls, db, ts+33326, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33373, uintptr(0), uintptr(0), uintptr(0))
 			if rc == SQLITE_OK {
 				rc = sessionBindRow(tls, pIter,
 					*(*uintptr)(unsafe.Pointer(&struct {
@@ -133522,7 +133580,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 				rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 			}
 			if rc == SQLITE_OK {
-				rc = Xsqlite3_exec(tls, db, ts+33347, uintptr(0), uintptr(0), uintptr(0))
+				rc = Xsqlite3_exec(tls, db, ts+33394, uintptr(0), uintptr(0), uintptr(0))
 			}
 		}
 	}
@@ -133595,10 +133653,10 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 	(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FbInvertConstraints = libc.BoolInt32(!!(flags&SQLITE_CHANGESETAPPLY_INVERT != 0))
 	Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db))
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
-		rc = Xsqlite3_exec(tls, db, ts+33366, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33413, uintptr(0), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_exec(tls, db, ts+33392, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33439, uintptr(0), uintptr(0), uintptr(0))
 	}
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3changeset_next(tls, pIter) {
 		Xsqlite3changeset_op(tls, pIter, bp+176, bp+184, bp+188, uintptr(0))
@@ -133657,16 +133715,16 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 				if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol == 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33422, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+33469, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol < *(*int32)(unsafe.Pointer(bp + 184)) {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33466,
+						ts+33513,
 						libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 200)), (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol, *(*int32)(unsafe.Pointer(bp + 184))))
 				} else if *(*int32)(unsafe.Pointer(bp + 184)) < nMinCol || libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 192)), uint64(*(*int32)(unsafe.Pointer(bp + 184)))) != 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33537, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+33584, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else {
 					(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FnCol = *(*int32)(unsafe.Pointer(bp + 184))
 					if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), ts+11341) {
@@ -133720,14 +133778,14 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 			}
 		}
 	}
-	Xsqlite3_exec(tls, db, ts+33597, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+33644, uintptr(0), uintptr(0), uintptr(0))
 
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, db, ts+33627, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33674, uintptr(0), uintptr(0), uintptr(0))
 		} else {
-			Xsqlite3_exec(tls, db, ts+33651, uintptr(0), uintptr(0), uintptr(0))
-			Xsqlite3_exec(tls, db, ts+33627, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33698, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33674, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -134975,7 +135033,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) {
 		fts5yy_pop_parser_stack(tls, fts5yypParser)
 	}
 
-	sqlite3Fts5ParseError(tls, pParse, ts+33679, 0)
+	sqlite3Fts5ParseError(tls, pParse, ts+33726, 0)
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -135263,7 +135321,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32
 
 	_ = fts5yymajor
 	sqlite3Fts5ParseError(tls,
-		pParse, ts+33707, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
+		pParse, ts+33754, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -135450,7 +135508,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int
 		if n < 0 {
 			n = int32(libc.Xstrlen(tls, z))
 		}
-		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33738, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
+		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33785, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
 		if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) {
 			*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 		}
@@ -135518,7 +135576,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp
 	var iCol int32
 
 	if nVal != 3 {
-		var zErr uintptr = ts + 33745
+		var zErr uintptr = ts + 33792
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -135700,7 +135758,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
 	var nCol int32
 
 	if nVal != 5 {
-		var zErr uintptr = ts + 33795
+		var zErr uintptr = ts + 33842
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -136024,13 +136082,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(96)
 
 	*(*[3]Builtin)(unsafe.Pointer(bp)) = [3]Builtin{
-		{FzFunc: ts + 33843, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33890, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5SnippetFunction}))},
-		{FzFunc: ts + 33851, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33898, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5HighlightFunction}))},
-		{FzFunc: ts + 33861, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33908, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5Bm25Function}))},
 	}
@@ -136581,7 +136639,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 	var nCmd int32 = int32(libc.Xstrlen(tls, zCmd))
-	if Xsqlite3_strnicmp(tls, ts+33866, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+33913, zCmd, nCmd) == 0 {
 		var nByte int32 = int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))
 		var p uintptr
 		var bFirst int32 = 1
@@ -136608,14 +136666,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 				break
 			}
 			if int32(*(*int8)(unsafe.Pointer(p))) < '0' || int32(*(*int8)(unsafe.Pointer(p))) > '9' {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33873, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33920, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
 
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES {
 				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-					ts+33904, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
+					ts+33951, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -136626,7 +136684,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 			}
 
 			if nPre <= 0 || nPre >= 1000 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33937, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33984, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -136639,7 +136697,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+33974, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34021, zCmd, nCmd) == 0 {
 		var p uintptr = zArg
 		var nArg Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zArg) + uint64(1))
 		var azArg uintptr = sqlite3Fts5MallocZero(tls, bp+40, int64(uint64(unsafe.Sizeof(uintptr(0)))*uint64(nArg)))
@@ -136648,7 +136706,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 		if azArg != 0 && pSpace != 0 {
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33983, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34030, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				for nArg = int64(0); p != 0 && *(*int8)(unsafe.Pointer(p)) != 0; nArg++ {
@@ -136667,7 +136725,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 					}
 				}
 				if p == uintptr(0) {
-					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34016, 0)
+					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34063, 0)
 					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				} else {
 					*(*int32)(unsafe.Pointer(bp + 40)) = sqlite3Fts5GetTokenizer(tls, pGlobal,
@@ -136682,14 +136740,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34050, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34097, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34058, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34105, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			if *(*int8)(unsafe.Pointer(zArg)) != 0 {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_EXTERNAL
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34090, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34137, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
 			} else {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE
 			}
@@ -136697,9 +136755,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34096, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34143, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34110, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34157, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40, zArg, -1)
@@ -136707,9 +136765,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34148, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34195, zCmd, nCmd) == 0 {
 		if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34159, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34206, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')
@@ -136721,17 +136779,17 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		*(*[4]Fts5Enum)(unsafe.Pointer(bp + 48)) = [4]Fts5Enum{
 			{FzName: ts + 8019, FeVal: FTS5_DETAIL_NONE},
 			{FzName: ts + 17338},
-			{FzName: ts + 34194, FeVal: FTS5_DETAIL_COLUMNS},
+			{FzName: ts + 34241, FeVal: FTS5_DETAIL_COLUMNS},
 			{},
 		}
 
 		if libc.AssignPtrInt32(bp+40, fts5ConfigSetEnum(tls, bp+48, zArg, pConfig+92)) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34202, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34249, 0)
 		}
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34233, libc.VaList(bp+24, nCmd, zCmd))
+	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34280, libc.VaList(bp+24, nCmd, zCmd))
 	return SQLITE_ERROR
 }
 
@@ -136778,15 +136836,15 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr,
 	defer tls.Free(16)
 
 	var rc int32 = SQLITE_OK
-	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22184) ||
+	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22231) ||
 		0 == Xsqlite3_stricmp(tls, zCol, ts+16260) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34261, libc.VaList(bp, zCol))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34308, libc.VaList(bp, zCol))
 		rc = SQLITE_ERROR
 	} else if zArg != 0 {
-		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34291) {
+		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34338) {
 			*(*U8)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*Fts5Config)(unsafe.Pointer(p)).FnCol))) = U8(1)
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34301, libc.VaList(bp+8, zArg))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34348, libc.VaList(bp+8, zArg))
 			rc = SQLITE_ERROR
 		}
 	}
@@ -136803,13 +136861,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_OK
 	*(*Fts5Buffer)(unsafe.Pointer(bp + 32)) = Fts5Buffer{}
 
-	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34332, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
+	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34379, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
 	if (*Fts5Config)(unsafe.Pointer(p)).FeContent != FTS5_CONTENT_NONE {
 		for i = 0; i < (*Fts5Config)(unsafe.Pointer(p)).FnCol; i++ {
 			if (*Fts5Config)(unsafe.Pointer(p)).FeContent == FTS5_CONTENT_EXTERNAL {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34337, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34384, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
 			} else {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34344, libc.VaList(bp+16, i))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34391, libc.VaList(bp+16, i))
 			}
 		}
 	}
@@ -136847,8 +136905,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 	(*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -1)
 	(*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize = 1
 	(*Fts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL
-	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22184) == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34352, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
+	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22231) == 0 {
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34399, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
 		*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 	}
 
@@ -136880,7 +136938,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 
 		if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK {
 			if z == uintptr(0) {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34381, libc.VaList(bp+8, zOrig))
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34428, libc.VaList(bp+8, zOrig))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				if bOption != 0 {
@@ -136917,14 +136975,14 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 		var zTail uintptr = uintptr(0)
 
 		if (*Fts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL {
-			zTail = ts + 34050
+			zTail = ts + 34097
 		} else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 {
-			zTail = ts + 34401
+			zTail = ts + 34448
 		}
 
 		if zTail != 0 {
 			(*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls,
-				bp+40, ts+34409, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
+				bp+40, ts+34456, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
 		}
 	}
 
@@ -136973,7 +137031,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_OK
 	var zSql uintptr
 
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34420, 0)
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34467, 0)
 	for i = 0; zSql != 0 && i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
 		var zSep uintptr = func() uintptr {
 			if i == 0 {
@@ -136981,10 +137039,10 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 			}
 			return ts + 14607
 		}()
-		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34436, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
+		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34483, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
 	}
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34443,
-		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22184))
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34490,
+		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22231))
 
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql)
@@ -137094,7 +137152,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 
 	var rc int32 = SQLITE_OK
 
-	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34469) {
+	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34516) {
 		var pgsz int32 = 0
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			pgsz = Xsqlite3_value_int(tls, pVal)
@@ -137104,7 +137162,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34474) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34521) {
 		var nHashSize int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nHashSize = Xsqlite3_value_int(tls, pVal)
@@ -137114,7 +137172,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34483) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34530) {
 		var nAutomerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nAutomerge = Xsqlite3_value_int(tls, pVal)
@@ -137127,7 +137185,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34493) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34540) {
 		var nUsermerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nUsermerge = Xsqlite3_value_int(tls, pVal)
@@ -137137,7 +137195,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34503) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34550) {
 		var nCrisisMerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nCrisisMerge = Xsqlite3_value_int(tls, pVal)
@@ -137153,7 +137211,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22184) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22231) {
 		var zIn uintptr = Xsqlite3_value_text(tls, pVal)
 
 		rc = sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8)
@@ -137176,7 +137234,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 	bp := tls.Alloc(52)
 	defer tls.Free(52)
 
-	var zSelect uintptr = ts + 34515
+	var zSelect uintptr = ts + 34562
 	var zSql uintptr
 	*(*uintptr)(unsafe.Pointer(bp + 40)) = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
@@ -137198,7 +137256,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) {
 			var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 0)
 			var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 1)
-			if 0 == Xsqlite3_stricmp(tls, zK, ts+34547) {
+			if 0 == Xsqlite3_stricmp(tls, zK, ts+34594) {
 				iVersion = Xsqlite3_value_int(tls, pVal)
 			} else {
 				*(*int32)(unsafe.Pointer(bp + 48)) = 0
@@ -137212,7 +137270,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 {
 			*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-				ts+34555,
+				ts+34602,
 				libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION))
 		}
 	}
@@ -137310,7 +137368,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 					}
 				}
 				if int32(*(*int8)(unsafe.Pointer(z2))) == 0 {
-					sqlite3Fts5ParseError(tls, pParse, ts+34620, 0)
+					sqlite3Fts5ParseError(tls, pParse, ts+34667, 0)
 					return FTS5_EOF
 				}
 			}
@@ -137323,20 +137381,20 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 		{
 			var z2 uintptr
 			if sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z))) == 0 {
-				sqlite3Fts5ParseError(tls, pParse, ts+34640, libc.VaList(bp, z))
+				sqlite3Fts5ParseError(tls, pParse, ts+34687, libc.VaList(bp, z))
 				return FTS5_EOF
 			}
 			tok = FTS5_STRING
 			for z2 = z + 1; sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z2))) != 0; z2++ {
 			}
 			(*Fts5Token)(unsafe.Pointer(pToken)).Fn = int32((int64(z2) - int64(z)) / 1)
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34671, uint64(2)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34718, uint64(2)) == 0 {
 				tok = FTS5_OR
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34674, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34721, uint64(3)) == 0 {
 				tok = FTS5_NOT
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30056, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30103, uint64(3)) == 0 {
 				tok = FTS5_AND
 			}
 			break
@@ -139114,9 +139172,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34678, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
+	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34725, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
 		sqlite3Fts5ParseError(tls,
-			pParse, ts+33707, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
+			pParse, ts+33754, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
 	}
 }
 
@@ -139132,7 +139190,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p
 				var c int8 = *(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))
 				if int32(c) < '0' || int32(c) > '9' {
 					sqlite3Fts5ParseError(tls,
-						pParse, ts+34683, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
+						pParse, ts+34730, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
 					return
 				}
 				nNear = nNear*10 + (int32(*(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - '0')
@@ -139219,7 +139277,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui
 			}
 		}
 		if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol {
-			sqlite3Fts5ParseError(tls, pParse, ts+20521, libc.VaList(bp, z))
+			sqlite3Fts5ParseError(tls, pParse, ts+20568, libc.VaList(bp, z))
 		} else {
 			pRet = fts5ParseColset(tls, pParse, pColset, iCol)
 		}
@@ -139300,7 +139358,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo
 	*(*uintptr)(unsafe.Pointer(bp)) = pColset
 	if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE {
 		sqlite3Fts5ParseError(tls, pParse,
-			ts+34712, 0)
+			ts+34759, 0)
 	} else {
 		fts5ParseSetColset(tls, pParse, pExpr, pColset, bp)
 	}
@@ -139470,12 +139528,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 1 ||
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*Fts5ExprTerm)(unsafe.Pointer(pPhrase+32)).FbFirst != 0 {
 							sqlite3Fts5ParseError(tls, pParse,
-								ts+34765,
+								ts+34812,
 								libc.VaList(bp, func() uintptr {
 									if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 {
-										return ts + 34815
+										return ts + 34862
 									}
-									return ts + 34678
+									return ts + 34725
 								}()))
 							Xsqlite3_free(tls, pRet)
 							pRet = uintptr(0)
@@ -140418,7 +140476,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK {
 			var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 			rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb,
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34822, iRowid, 0, p+56)
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34869, iRowid, 0, p+56)
 		}
 
 		if rc == SQLITE_ERROR {
@@ -140497,7 +140555,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in
 	if (*Fts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+64, Xsqlite3_mprintf(tls,
-			ts+34828,
+			ts+34875,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 		if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 			return
@@ -140522,7 +140580,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = Xsqlite3_mprintf(tls,
-			ts+34879,
+			ts+34926,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if fts5IndexPrepareStmt(tls, p, p+72, zSql) != 0 {
 			return
@@ -140545,7 +140603,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+88, Xsqlite3_mprintf(tls,
-			ts+34928,
+			ts+34975,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -140784,7 +140842,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 {
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) {
 			(*Fts5Index)(unsafe.Pointer(p)).Frc = fts5IndexPrepareStmt(tls, p, p+112,
-				Xsqlite3_mprintf(tls, ts+34968, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
+				Xsqlite3_mprintf(tls, ts+35015, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
 			if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 				return int64(0)
 			}
@@ -141983,7 +142041,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls,
-			ts+34991,
+			ts+35038,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect
@@ -143449,7 +143507,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls,
-			ts+35075,
+			ts+35122,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 
@@ -144531,13 +144589,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		(*Fts5Index)(unsafe.Pointer(p)).FpConfig = pConfig
 		(*Fts5Index)(unsafe.Pointer(p)).FnWorkUnit = FTS5_WORK_UNIT
-		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35132, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35179, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 {
 			*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+25049, ts+35140, 0, pzErr)
+				pConfig, ts+25096, ts+35187, 0, pzErr)
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 				*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls, pConfig, ts+11481,
-					ts+35175,
+					ts+35222,
 					1, pzErr)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
@@ -144790,7 +144848,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 {
 	sqlite3Fts5Put32(tls, bp, iNew)
 
 	rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl,
-		ts+34822, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
+		ts+34869, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
 	if rc == SQLITE_OK {
 		Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, 4, 0)
 		rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
@@ -144904,7 +144962,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) {
 	}
 
 	fts5IndexPrepareStmt(tls, p, bp+24, Xsqlite3_mprintf(tls,
-		ts+35219,
+		ts+35266,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid)))
 
 	for (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
@@ -145074,7 +145132,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks
 		} else {
 			(*Fts5Buffer)(unsafe.Pointer(bp + 16)).Fn = 0
 			fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp))+96+uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaFirst+1*4)).FiFirst)*120, uintptr(0), bp+16)
-			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35305)
+			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35352)
 			for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fn, bp+32, bp+40) {
 				var iCol int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) >> 32)
 				var iTokOff int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) & int64(0x7FFFFFFF))
@@ -145345,7 +145403,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 {
 
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 {
 		(*Fts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+35310, 0)
+			ts+35357, 0)
 		return SQLITE_ERROR
 	}
 
@@ -145769,7 +145827,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 	(*Fts5Sorter)(unsafe.Pointer(pSorter)).FnIdx = nPhrase
 
 	rc = fts5PrepareStatement(tls, pSorter, pConfig,
-		ts+35349,
+		ts+35396,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			func() uintptr {
 				if zRankArgs != 0 {
@@ -145785,9 +145843,9 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 			}(),
 			func() uintptr {
 				if bDesc != 0 {
-					return ts + 35404
+					return ts + 35451
 				}
-				return ts + 35409
+				return ts + 35456
 			}()))
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter
@@ -145833,12 +145891,12 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr)
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan = FTS5_PLAN_SPECIAL
 
-	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35413, z, n) {
+	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35460, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = I64(sqlite3Fts5IndexReads(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex))
 	} else if n == 2 && 0 == Xsqlite3_strnicmp(tls, ts+5050, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId
 	} else {
-		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35419, libc.VaList(bp, n, z))
+		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35466, libc.VaList(bp, n, z))
 		rc = SQLITE_ERROR
 	}
 
@@ -145869,7 +145927,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs
 
 	if zRankArgs != 0 {
-		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35447, libc.VaList(bp, zRankArgs))
+		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35494, libc.VaList(bp, zRankArgs))
 		if zSql != 0 {
 			*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 			*(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1,
@@ -145900,7 +145958,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 		pAux = fts5FindAuxiliary(tls, pTab, zRank)
 		if pAux == uintptr(0) {
-			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35457, libc.VaList(bp+8, zRank))
+			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35504, libc.VaList(bp+8, zRank))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		}
 	}
@@ -145932,14 +145990,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin
 			*(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_FREE_ZRANK
 		} else if rc == SQLITE_ERROR {
 			(*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35478, libc.VaList(bp, z))
+				ts+35525, libc.VaList(bp, z))
 		}
 	} else {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank != 0 {
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRankArgs
 		} else {
-			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33861
+			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33908
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0)
 		}
 	}
@@ -145995,7 +146053,7 @@ func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintp
 		goto __1
 	}
 	(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+35310, 0)
+		ts+35357, 0)
 	return SQLITE_ERROR
 __1:
 	;
@@ -146212,7 +146270,7 @@ __35:
 		goto __40
 	}
 	*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-		ts+35511, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		ts+35558, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	rc = SQLITE_ERROR
 	goto __41
 __40:
@@ -146357,28 +146415,28 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr)
 	var rc int32 = SQLITE_OK
 	*(*int32)(unsafe.Pointer(bp)) = 0
 
-	if 0 == Xsqlite3_stricmp(tls, ts+35547, zCmd) {
+	if 0 == Xsqlite3_stricmp(tls, ts+35594, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			fts5SetVtabError(tls, pTab,
-				ts+35558, 0)
+				ts+35605, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35638, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35685, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE {
 			fts5SetVtabError(tls, pTab,
-				ts+35646, 0)
+				ts+35693, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
 	} else if 0 == Xsqlite3_stricmp(tls, ts+16927, zCmd) {
 		rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35702, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35749, zCmd) {
 		var nMerge int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageMerge(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, nMerge)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35708, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35755, zCmd) {
 		var iArg int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg)
 	} else {
@@ -146449,12 +146507,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p
 
 		if eType0 == SQLITE_INTEGER && fts5IsContentless(tls, pTab) != 0 {
 			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35724,
+				ts+35771,
 				libc.VaList(bp, func() uintptr {
 					if nArg > 1 {
-						return ts + 20422
+						return ts + 20469
 					}
-					return ts + 35761
+					return ts + 35808
 				}(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		} else if nArg == 1 {
@@ -147084,7 +147142,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 
 	pCsr = fts5CursorFromCsrid(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId)
 	if pCsr == uintptr(0) || (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 {
-		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35773, libc.VaList(bp, iCsrId))
+		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35820, libc.VaList(bp, iCsrId))
 		Xsqlite3_result_error(tls, context, zErr, -1)
 		Xsqlite3_free(tls, zErr)
 	} else {
@@ -147328,7 +147386,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 	}())
 	if pMod == uintptr(0) {
 		rc = SQLITE_ERROR
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35794, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35841, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
 	} else {
 		rc = (*struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
@@ -147347,7 +147405,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 		(*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16
 		if rc != SQLITE_OK {
 			if pzErr != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35816, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35863, 0)
 			}
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls,
@@ -147394,7 +147452,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 	var ppApi uintptr
 	_ = nArg
 
-	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35847)
+	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35894)
 	if ppApi != 0 {
 		*(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal
 	}
@@ -147403,7 +147461,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) {
 	_ = nArg
 	_ = apUnused
-	Xsqlite3_result_text(tls, pCtx, ts+35860, -1, libc.UintptrFromInt32(-1))
+	Xsqlite3_result_text(tls, pCtx, ts+35907, -1, libc.UintptrFromInt32(-1))
 }
 
 func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
@@ -147417,7 +147475,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName2 = [5]uintptr{
-	ts + 35951, ts + 34050, ts + 25049, ts + 34401, ts + 11481,
+	ts + 35998, ts + 34097, ts + 25096, ts + 34448, ts + 11481,
 }
 
 func fts5Init(tls *libc.TLS, db uintptr) int32 {
@@ -147441,7 +147499,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		(*Fts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32
 		}{fts5FindTokenizer}))
-		rc = Xsqlite3_create_module_v2(tls, db, ts+35958, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+36005, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5IndexInit(tls, db)
 		}
@@ -147459,13 +147517,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35958, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+				db, ts+36005, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
 				}{fts5Fts5Func})), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35963, 0,
+				db, ts+36010, 0,
 				SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
 				p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
@@ -147522,17 +147580,17 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p
 
 	if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) {
 		*(*[11]uintptr)(unsafe.Pointer(bp + 128)) = [11]uintptr{
-			ts + 35978,
-			ts + 36046,
-			ts + 36115,
-			ts + 36148,
-			ts + 36187,
-			ts + 36227,
-			ts + 36266,
-			ts + 36307,
-			ts + 36346,
-			ts + 36388,
-			ts + 36428,
+			ts + 36025,
+			ts + 36093,
+			ts + 36162,
+			ts + 36195,
+			ts + 36234,
+			ts + 36274,
+			ts + 36313,
+			ts + 36354,
+			ts + 36393,
+			ts + 36435,
+			ts + 36475,
 		}
 		var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = uintptr(0)
@@ -147634,18 +147692,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 {
 	defer tls.Free(80)
 
 	var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36451,
+		ts+36498,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36555,
+			ts+36602,
 			libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36593,
+			ts+36640,
 			libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	return rc
@@ -147657,7 +147715,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin
 
 	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(pRc)) = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36631,
+			ts+36678,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail))
 	}
 }
@@ -147669,14 +147727,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in
 	var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig
 	*(*int32)(unsafe.Pointer(bp)) = sqlite3Fts5StorageSync(tls, pStorage)
 
-	fts5StorageRenameOne(tls, pConfig, bp, ts+25049, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+25096, zName)
 	fts5StorageRenameOne(tls, pConfig, bp, ts+11481, zName)
-	fts5StorageRenameOne(tls, pConfig, bp, ts+35951, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+35998, zName)
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34401, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34448, zName)
 	}
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34050, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34097, zName)
 	}
 	return *(*int32)(unsafe.Pointer(bp))
 }
@@ -147688,17 +147746,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn
 	var rc int32
 	*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
-	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36673,
+	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36720,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn,
 			func() uintptr {
 				if bWithout != 0 {
-					return ts + 29702
+					return ts + 29749
 				}
 				return ts + 1547
 			}()))
 	if *(*uintptr)(unsafe.Pointer(bp + 64)) != 0 {
 		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-			ts+36703,
+			ts+36750,
 			libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64))))
 		Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
@@ -147735,27 +147793,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre
 			} else {
 				var i int32
 				var iOff int32
-				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36747, 0)
+				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36794, 0)
 				iOff = int32(libc.Xstrlen(tls, zDefn))
 				for i = 0; i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
-					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36770, libc.VaList(bp, i))
+					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36817, libc.VaList(bp, i))
 					iOff = iOff + int32(libc.Xstrlen(tls, zDefn+uintptr(iOff)))
 				}
-				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34050, zDefn, 0, pzErr)
+				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34097, zDefn, 0, pzErr)
 			}
 			Xsqlite3_free(tls, zDefn)
 		}
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+34401, ts+36776, 0, pzErr)
+				pConfig, ts+34448, ts+36823, 0, pzErr)
 		}
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+35951, ts+36808, 1, pzErr)
+				pConfig, ts+35998, ts+36855, 1, pzErr)
 		}
 		if rc == SQLITE_OK {
-			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34547, uintptr(0), FTS5_CURRENT_VERSION)
+			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34594, uintptr(0), FTS5_CURRENT_VERSION)
 		}
 	}
 
@@ -147961,12 +148019,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 	(*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0
 
 	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36825,
+		ts+36872,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36875,
+			ts+36922,
 			libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 
@@ -147974,7 +148032,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 		rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex)
 	}
 	if rc == SQLITE_OK {
-		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34547, uintptr(0), FTS5_CURRENT_VERSION)
+		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34594, uintptr(0), FTS5_CURRENT_VERSION)
 	}
 	return rc
 }
@@ -148150,7 +148208,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr)
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+36904,
+	zSql = Xsqlite3_mprintf(tls, ts+36951,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix))
 	if zSql == uintptr(0) {
 		rc = SQLITE_NOMEM
@@ -148332,14 +148390,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 {
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			*(*I64)(unsafe.Pointer(bp + 48)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34050, bp+48)
+			rc = fts5StorageCount(tls, p, ts+34097, bp+48)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 48)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
 		}
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			*(*I64)(unsafe.Pointer(bp + 56)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34401, bp+56)
+			rc = fts5StorageCount(tls, p, ts+34448, bp+56)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 56)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
@@ -148534,9 +148592,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32,
 			libc.Xmemcpy(tls, p, uintptr(unsafe.Pointer(&aAsciiTokenChar)), uint64(unsafe.Sizeof(aAsciiTokenChar)))
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36936) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36983) {
 					fts5AsciiAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36947) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36994) {
 					fts5AsciiAddExceptions(tls, p, zArg, 0)
 				} else {
 					rc = SQLITE_ERROR
@@ -148751,7 +148809,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 	} else {
 		p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Unicode61Tokenizer{})))
 		if p != 0 {
-			var zCat uintptr = ts + 36958
+			var zCat uintptr = ts + 37005
 			var i int32
 			libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{})))
 
@@ -148763,7 +148821,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 			}
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36967) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37014) {
 					zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
 				}
 			}
@@ -148774,18 +148832,18 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36978) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37025) {
 					if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' && int32(*(*int8)(unsafe.Pointer(zArg))) != '2' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 						rc = SQLITE_ERROR
 					} else {
 						(*Unicode61Tokenizer)(unsafe.Pointer(p)).FeRemoveDiacritic = int32(*(*int8)(unsafe.Pointer(zArg))) - '0'
 
 					}
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36936) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36983) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36947) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36994) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 0)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36967) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37014) {
 				} else {
 					rc = SQLITE_ERROR
 				}
@@ -149061,7 +149119,7 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp
 	var rc int32 = SQLITE_OK
 	var pRet uintptr
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
-	var zBase uintptr = ts + 36996
+	var zBase uintptr = ts + 37043
 
 	if nArg > 0 {
 		zBase = *(*uintptr)(unsafe.Pointer(azArg))
@@ -149203,7 +149261,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37006, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37053, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149211,11 +149269,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37009, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37056, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37014, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37061, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -149223,7 +149281,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'e':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37019, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37066, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149231,7 +149289,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37022, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37069, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149239,11 +149297,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37025, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37072, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37030, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37077, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -149251,19 +149309,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37035, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37082, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37039, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37086, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37045, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37092, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37050, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37097, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149271,11 +149329,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'o':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37054, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37101, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37058, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37105, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149283,7 +149341,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 's':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37061, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37108, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149291,11 +149349,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37065, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37112, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37069, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37116, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149303,7 +149361,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37073, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37120, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149311,7 +149369,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37077, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37124, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149319,7 +149377,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37081, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37128, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149335,24 +149393,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37085, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37065, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37132, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37112, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'b':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37088, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37091, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37135, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37138, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37095, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37081, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37142, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37128, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
@@ -149367,44 +149425,44 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37098, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37145, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37065, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37112, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37106, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37153, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37113, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37160, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 4
 			}
 		}
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37118, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37165, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37014, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37061, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37123, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37170, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37009, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37056, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
 		}
 		break
 
 	case 'e':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37128, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37175, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37081, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37128, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 'g':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37133, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37180, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+15473, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
@@ -149413,91 +149471,91 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37138, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37185, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37091, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37138, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37142, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37189, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37006, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37053, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37147, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37194, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37050, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37097, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37153, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37200, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37157, uint64(1))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37204, uint64(1))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 1
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37159, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37206, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37073, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37120, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
 		}
 		break
 
 	case 'o':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37165, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37212, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37081, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37128, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37173, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37220, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37065, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37112, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37179, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37226, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37065, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37112, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37184, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37231, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37006, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37053, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37190, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37237, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37077, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37124, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37198, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37245, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37206, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37253, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37210, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37257, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37073, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37120, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
 		}
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37218, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37265, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37006, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37053, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37224, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37271, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37077, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37124, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37230, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37277, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37091, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37138, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 3
 			}
 		}
@@ -149512,16 +149570,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37237, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37284, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37022, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37069, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37242, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37289, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -149529,21 +149587,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37247, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37294, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37022, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37069, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37253, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37300, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37022, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37069, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37206, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37253, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149551,7 +149609,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37259, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37306, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
@@ -149559,9 +149617,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37265, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37312, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37006, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37053, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
@@ -149576,12 +149634,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'e':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37271, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37318, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37275, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37322, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 2
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37278, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37325, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 				ret = 1
@@ -149590,7 +149648,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37281, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37328, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 				ret = 1
@@ -149746,7 +149804,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp
 		(*TrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = 1
 		for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 			var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37285) {
+			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37332) {
 				if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 					rc = SQLITE_ERROR
 				} else {
@@ -149926,22 +149984,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(128)
 
 	*(*[4]BuiltinTokenizer)(unsafe.Pointer(bp)) = [4]BuiltinTokenizer{
-		{FzName: ts + 36996, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37043, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5UnicodeCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5UnicodeDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5UnicodeTokenize}))}},
-		{FzName: ts + 37300, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37347, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5AsciiCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5AsciiDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5AsciiTokenize}))}},
-		{FzName: ts + 37306, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37353, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5PorterCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5PorterDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5PorterTokenize}))}},
-		{FzName: ts + 37313, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37360, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5TriCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5TriDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
@@ -151084,14 +151142,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint
 	var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8, zType, -1)
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		sqlite3Fts5Dequote(tls, zCopy)
-		if Xsqlite3_stricmp(tls, zCopy, ts+37321) == 0 {
+		if Xsqlite3_stricmp(tls, zCopy, ts+37368) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37325) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37372) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37329) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37376) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37338, libc.VaList(bp, zCopy))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37385, libc.VaList(bp, zCopy))
 			*(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_ERROR
 		}
 		Xsqlite3_free(tls, zCopy)
@@ -151117,19 +151175,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	defer tls.Free(36)
 
 	*(*[3]uintptr)(unsafe.Pointer(bp + 8)) = [3]uintptr{
-		ts + 37372,
-		ts + 37412,
-		ts + 37447,
+		ts + 37419,
+		ts + 37459,
+		ts + 37494,
 	}
 
 	var pRet uintptr = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
 	var bDb int32
 
-	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23345, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
+	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23392, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
 
 	if argc != 5 && bDb == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37490, 0)
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37537, 0)
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 	} else {
 		var nByte int32
@@ -151262,11 +151320,11 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 
 	if (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 {
 		(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+37523, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+			ts+37570, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 		return SQLITE_ERROR
 	}
 	zSql = sqlite3Fts5Mprintf(tls, bp+64,
-		ts+37554,
+		ts+37601,
 		libc.VaList(bp+16, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 64)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+72, uintptr(0))
@@ -151290,7 +151348,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 			*(*uintptr)(unsafe.Pointer(bp + 72)) = uintptr(0)
 			if *(*int32)(unsafe.Pointer(bp + 64)) == SQLITE_OK {
 				(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-					ts+37605, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+					ts+37652, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 				*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 			}
 		} else {
@@ -151685,7 +151743,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32
 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 {
 	var p uintptr = pGlobal
 
-	return Xsqlite3_create_module_v2(tls, db, ts+37631, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
+	return Xsqlite3_create_module_v2(tls, db, ts+37678, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
 }
 
 var fts5Vocab = Sqlite3_module{
@@ -151707,7 +151765,7 @@ var fts5Vocab = Sqlite3_module{
 // ************* End of stmt.c ***********************************************
 // Return the source-id for this library
 func Xsqlite3_sourceid(tls *libc.TLS) uintptr {
-	return ts + 37641
+	return ts + 37688
 }
 
 func init() {
@@ -152681,5 +152739,5 @@ func init() {
 	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError
 }
 
-var ts1 = "3.41.0\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-13.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00"
+var ts1 = "3.41.2\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-13.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00"
 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_386.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_386.go
index bffbc040..1ec88314 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_linux_386.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_386.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_386.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_386.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
@@ -920,11 +920,11 @@ const (
 	NC_OrderAgg                           = 0x8000000
 	NC_PartIdx                            = 0x000002
 	NC_SelfRef                            = 0x00002e
+	NC_Subquery                           = 0x000040
 	NC_UAggInfo                           = 0x000100
 	NC_UBaseReg                           = 0x000400
 	NC_UEList                             = 0x000080
 	NC_UUpsert                            = 0x000200
-	NC_VarSelect                          = 0x000040
 	NDEBUG                                = 1
 	NN                                    = 1
 	NOT_WITHIN                            = 0
@@ -2166,7 +2166,7 @@ const (
 	SQLITE_SHM_UNLOCK                     = 1
 	SQLITE_SORTER_PMASZ                   = 250
 	SQLITE_SOUNDEX                        = 1
-	SQLITE_SOURCE_ID                      = "2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d"
+	SQLITE_SOURCE_ID                      = "2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da"
 	SQLITE_SO_ASC                         = 0
 	SQLITE_SO_DESC                        = 1
 	SQLITE_SO_UNDEFINED                   = -1
@@ -2274,8 +2274,8 @@ const (
 	SQLITE_UTF8                           = 1
 	SQLITE_VDBEINT_H                      = 0
 	SQLITE_VDBE_H                         = 0
-	SQLITE_VERSION                        = "3.41.0"
-	SQLITE_VERSION_NUMBER                 = 3041000
+	SQLITE_VERSION                        = "3.41.2"
+	SQLITE_VERSION_NUMBER                 = 3041002
 	SQLITE_VTABRISK_High                  = 2
 	SQLITE_VTABRISK_Low                   = 0
 	SQLITE_VTABRISK_Normal                = 1
@@ -6087,7 +6087,8 @@ type IndexedExpr1 = struct {
 	FiIdxCur       int32
 	FiIdxCol       int32
 	FbMaybeNullRow U8
-	F__ccgo_pad1   [3]byte
+	Faff           U8
+	F__ccgo_pad1   [2]byte
 	FpIENext       uintptr
 }
 
@@ -6708,17 +6709,18 @@ type Pager = Pager1
 
 // Handle type for pages.
 type PgHdr2 = struct {
-	FpPage      uintptr
-	FpData      uintptr
-	FpExtra     uintptr
-	FpCache     uintptr
-	FpDirty     uintptr
-	FpPager     uintptr
-	Fpgno       Pgno
-	Fflags      U16
-	FnRef       I16
-	FpDirtyNext uintptr
-	FpDirtyPrev uintptr
+	FpPage       uintptr
+	FpData       uintptr
+	FpExtra      uintptr
+	FpCache      uintptr
+	FpDirty      uintptr
+	FpPager      uintptr
+	Fpgno        Pgno
+	Fflags       U16
+	F__ccgo_pad1 [2]byte
+	FnRef        I64
+	FpDirtyNext  uintptr
+	FpDirtyPrev  uintptr
 }
 
 // Handle type for pages.
@@ -6925,7 +6927,7 @@ type PCache2 = struct {
 	FpDirty      uintptr
 	FpDirtyTail  uintptr
 	FpSynced     uintptr
-	FnRefSum     int32
+	FnRefSum     I64
 	FszCache     int32
 	FszSpill     int32
 	FszPage      int32
@@ -7724,7 +7726,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
 	_ = pMutex
 
 	if op < 0 || op >= int32(uint32(unsafe.Sizeof([10]Sqlite3StatValueType{}))/uint32(unsafe.Sizeof(Sqlite3StatValueType(0)))) {
-		return Xsqlite3MisuseError(tls, 23229)
+		return Xsqlite3MisuseError(tls, 23233)
 	}
 	if statMutex[op] != 0 {
 		pMutex = Xsqlite3Pcache1Mutex(tls)
@@ -15798,7 +15800,7 @@ func closePendingFds(tls *libc.TLS, pFile uintptr) {
 
 	for p = (*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused; p != 0; p = pNext {
 		pNext = (*UnixUnusedFd)(unsafe.Pointer(p)).FpNext
-		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38271)
+		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38275)
 		Xsqlite3_free(tls, p)
 	}
 	(*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused = uintptr(0)
@@ -16275,7 +16277,7 @@ func closeUnixFile(tls *libc.TLS, id uintptr) int32 {
 	var pFile uintptr = id
 	unixUnmapfile(tls, pFile)
 	if (*UnixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
-		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39055)
+		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39059)
 		(*UnixFile)(unsafe.Pointer(pFile)).Fh = -1
 	}
 
@@ -16566,7 +16568,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 {
 	if fd >= 0 {
 		return SQLITE_OK
 	}
-	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40676), ts+3378, bp+8, 40676)
+	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40680), ts+3378, bp+8, 40680)
 }
 
 func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
@@ -16583,14 +16585,14 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
 
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3666, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40717)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3666, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40721)
 	}
 
 	if int32((*UnixFile)(unsafe.Pointer(pFile)).FctrlFlags)&UNIXFILE_DIRSYNC != 0 {
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*12 + 4)))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, bp)
 		if rc == SQLITE_OK {
 			full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0)
-			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40731)
+			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40735)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -16610,7 +16612,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 {
 	rc = robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte)
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40762)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40766)
 	} else {
 		if nByte < (*UnixFile)(unsafe.Pointer(pFile)).FmmapSize {
 			(*UnixFile)(unsafe.Pointer(pFile)).FmmapSize = nByte
@@ -16678,7 +16680,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 {
 		if (*UnixFile)(unsafe.Pointer(pFile)).FszChunk <= 0 {
 			if robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte) != 0 {
 				storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
-				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40883)
+				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40887)
 			}
 		}
 
@@ -16905,7 +16907,7 @@ func unixShmPurge(tls *libc.TLS, pFd uintptr) {
 		}
 		Xsqlite3_free(tls, (*UnixShmNode)(unsafe.Pointer(p)).FapRegion)
 		if (*UnixShmNode)(unsafe.Pointer(p)).FhShm >= 0 {
-			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41442)
+			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41446)
 			(*UnixShmNode)(unsafe.Pointer(p)).FhShm = -1
 		}
 		(*UnixInodeInfo)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0)
@@ -16933,7 +16935,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32
 			rc = unixShmSystemLock(tls, pDbFd, F_WRLCK, (22+SQLITE_SHM_NLOCK)*4+SQLITE_SHM_NLOCK, 1)
 
 			if rc == SQLITE_OK && robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3297, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41499)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3297, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41503)
 			}
 		}
 	} else if int32((*flock)(unsafe.Pointer(bp+8)).Fl_type) == F_WRLCK {
@@ -17032,7 +17034,7 @@ __8:
 	if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) {
 		goto __10
 	}
-	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41624), ts+3261, zShm, 41624)
+	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41628), ts+3261, zShm, 41628)
 	goto shm_open_err
 __10:
 	;
@@ -17162,7 +17164,7 @@ __11:
 		goto __14
 	}
 	zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3332, zFile, 41768)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3332, zFile, 41772)
 	goto shmpage_out
 __14:
 	;
@@ -17208,7 +17210,7 @@ __16:
 	if !(pMem == libc.UintptrFromInt32(-1)) {
 		goto __20
 	}
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3419, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41795)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3419, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41799)
 	goto shmpage_out
 __20:
 	;
@@ -17439,7 +17441,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) {
 	if pNew == libc.UintptrFromInt32(-1) {
 		pNew = uintptr(0)
 		nNew = int64(0)
-		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42169)
+		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42173)
 
 		(*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeMax = int64(0)
 	}
@@ -17573,7 +17575,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 		unixEnterMutex(tls)
 		rc = findInodeInfo(tls, pNew, pNew+8)
 		if rc != SQLITE_OK {
-			robust_close(tls, pNew, h, 42672)
+			robust_close(tls, pNew, h, 42676)
 			h = -1
 		}
 		unixLeaveMutex(tls)
@@ -17594,7 +17596,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 	storeLastErrno(tls, pNew, 0)
 	if rc != SQLITE_OK {
 		if h >= 0 {
-			robust_close(tls, pNew, h, 42757)
+			robust_close(tls, pNew, h, 42761)
 		}
 	} else {
 		(*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle
@@ -17910,7 +17912,7 @@ __15:
 	if !(fd < 0) {
 		goto __19
 	}
-	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43198), ts+3261, zName, 43198)
+	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43202), ts+3261, zName, 43202)
 	if !(rc == SQLITE_OK) {
 		goto __20
 	}
@@ -18001,7 +18003,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == ENOENT {
 			rc = SQLITE_IOERR | int32(23)<<8
 		} else {
-			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3371, zPath, 43337)
+			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3371, zPath, 43341)
 		}
 		return rc
 	}
@@ -18009,9 +18011,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*12 + 4)))(tls, zPath, bp)
 		if rc == SQLITE_OK {
 			if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3788, zPath, 43347)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3788, zPath, 43351)
 			}
-			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43349)
+			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43353)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -18075,18 +18077,18 @@ func appendOnePathElement(tls *libc.TLS, pPath uintptr, zName uintptr, nName int
 		zIn = (*DbPath)(unsafe.Pointer(pPath)).FzOut
 		if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*12 + 4)))(tls, zIn, bp) != 0 {
 			if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != ENOENT {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43443), ts+3459, zIn, 43443)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43447), ts+3459, zIn, 43447)
 			}
 		} else if (*stat)(unsafe.Pointer(bp)).Fst_mode&X__mode_t(0170000) == X__mode_t(0120000) {
 			var got Ssize_t
 
 			if libc.PostIncInt32(&(*DbPath)(unsafe.Pointer(pPath)).FnSymlink, 1) > SQLITE_MAX_SYMLINK {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43449)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43453)
 				return
 			}
 			got = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*12 + 4)))(tls, zIn, bp+96, uint32(unsafe.Sizeof([4098]int8{}))-uint32(2))
 			if got <= 0 || got >= Ssize_t(unsafe.Sizeof([4098]int8{}))-2 {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43454), ts+3450, zIn, 43454)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43458), ts+3450, zIn, 43458)
 				return
 			}
 			*(*int8)(unsafe.Pointer(bp + 96 + uintptr(got))) = int8(0)
@@ -18126,14 +18128,14 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO
 	(*DbPath)(unsafe.Pointer(bp + 4100)).FzOut = zOut
 	if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' {
 		if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*12 + 4)))(tls, bp, uint32(unsafe.Sizeof([4098]int8{}))-uint32(2)) == uintptr(0) {
-			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43512), ts+3279, zPath, 43512)
+			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43516), ts+3279, zPath, 43516)
 		}
 		appendAllPathElements(tls, bp+4100, bp)
 	}
 	appendAllPathElements(tls, bp+4100, zPath)
 	*(*int8)(unsafe.Pointer(zOut + uintptr((*DbPath)(unsafe.Pointer(bp+4100)).FnUsed))) = int8(0)
 	if (*DbPath)(unsafe.Pointer(bp+4100)).Frc != 0 || (*DbPath)(unsafe.Pointer(bp+4100)).FnUsed < 2 {
-		return Xsqlite3CantopenError(tls, 43518)
+		return Xsqlite3CantopenError(tls, 43522)
 	}
 	if (*DbPath)(unsafe.Pointer(bp+4100)).FnSymlink != 0 {
 		return SQLITE_OK | int32(2)<<8
@@ -18232,7 +18234,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in
 			for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == EINTR {
 				got = (*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*12 + 4)))(tls, fd, zBuf, uint32(nBuf))
 			}
-			robust_close(tls, uintptr(0), fd, 43619)
+			robust_close(tls, uintptr(0), fd, 43623)
 		}
 
 	}
@@ -19662,7 +19664,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 	libc.Xmemset(tls, pPgHdr+16, 0, uint32(unsafe.Sizeof(PgHdr{}))-uint32(uintptr(0)+16))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpPage = pPage
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpData = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpBuf
-	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*40
+	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*48
 	libc.Xmemset(tls, (*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra, 0, uint32(8))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpCache = pCache
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).Fpgno = pgno
@@ -19692,7 +19694,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 // reference count drops to 0, then it is made eligible for recycling.
 func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) {
 	(*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum--
-	if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 {
+	if libc.PreDecInt64(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1) == int64(0) {
 		if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_CLEAN != 0 {
 			pcacheUnpin(tls, p)
 		} else {
@@ -19743,7 +19745,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) {
 	*(*U16)(unsafe.Pointer(p + 28)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE))
 	*(*U16)(unsafe.Pointer(p + 28)) |= U16(PGHDR_CLEAN)
 
-	if int32((*PgHdr)(unsafe.Pointer(p)).FnRef) == 0 {
+	if (*PgHdr)(unsafe.Pointer(p)).FnRef == int64(0) {
 		pcacheUnpin(tls, p)
 	}
 }
@@ -19847,8 +19849,8 @@ func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) {
 }
 
 func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr {
-	bp := tls.Alloc(40)
-	defer tls.Free(40)
+	bp := tls.Alloc(48)
+	defer tls.Free(48)
 
 	var pTail uintptr
 	pTail = bp
@@ -19926,13 +19928,13 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr {
 //
 // This is not the total number of pages referenced, but the sum of the
 // reference count for all pages.
-func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 {
+func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) I64 {
 	return (*PCache)(unsafe.Pointer(pCache)).FnRefSum
 }
 
 // Return the number of references to the page supplied as an argument.
-func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 {
-	return int32((*PgHdr)(unsafe.Pointer(p)).FnRef)
+func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) I64 {
+	return (*PgHdr)(unsafe.Pointer(p)).FnRef
 }
 
 // Return the total number of pages in the cache.
@@ -22223,7 +22225,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 {
 
 	pPg = Xsqlite3PagerLookup(tls, pPager, iPg)
 	if pPg != 0 {
-		if Xsqlite3PcachePageRefcount(tls, pPg) == 1 {
+		if Xsqlite3PcachePageRefcount(tls, pPg) == int64(1) {
 			Xsqlite3PcacheDrop(tls, pPg)
 		} else {
 			rc = readDbPage(tls, pPg)
@@ -22656,7 +22658,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr,
 	var pageSize U32 = *(*U32)(unsafe.Pointer(pPageSize))
 
 	if (int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) == 0 || (*Pager)(unsafe.Pointer(pPager)).FdbSize == Pgno(0)) &&
-		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 &&
+		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) &&
 		pageSize != 0 && pageSize != U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) {
 		var pNew uintptr = uintptr(0)
 		*(*I64)(unsafe.Pointer(bp)) = int64(0)
@@ -22808,9 +22810,9 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr
 			Xsqlite3OsUnfetch(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, I64(pgno-Pgno(1))*(*Pager)(unsafe.Pointer(pPager)).FpageSize, pData)
 			return SQLITE_NOMEM
 		}
-		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*40
+		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*48
 		(*PgHdr)(unsafe.Pointer(p)).Fflags = U16(PGHDR_MMAP)
-		(*PgHdr)(unsafe.Pointer(p)).FnRef = int16(1)
+		(*PgHdr)(unsafe.Pointer(p)).FnRef = int64(1)
 		(*PgHdr)(unsafe.Pointer(p)).FpPager = pPager
 	}
 
@@ -23142,7 +23144,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 {
 
 		for rc == SQLITE_OK && pList != 0 {
 			var pNext uintptr = (*PgHdr)(unsafe.Pointer(pList)).FpDirty
-			if int32((*PgHdr)(unsafe.Pointer(pList)).FnRef) == 0 {
+			if (*PgHdr)(unsafe.Pointer(pList)).FnRef == int64(0) {
 				rc = pagerStress(tls, pPager, pList)
 			}
 			pList = pNext
@@ -23292,7 +23294,7 @@ __11:
 		goto __12
 	}
 
-	rc = Xsqlite3CantopenError(tls, 60235)
+	rc = Xsqlite3CantopenError(tls, 60239)
 __12:
 	;
 	if !(rc != SQLITE_OK) {
@@ -23673,7 +23675,7 @@ __7:
 	if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) {
 		goto __10
 	}
-	rc = Xsqlite3CantopenError(tls, 60754)
+	rc = Xsqlite3CantopenError(tls, 60758)
 	Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd)
 __10:
 	;
@@ -23779,7 +23781,7 @@ __24:
 }
 
 func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) {
-	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 {
+	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) {
 		pagerUnlockAndRollback(tls, pPager)
 	}
 }
@@ -23797,7 +23799,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla
 	if !(pgno == Pgno(0)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 60967)
+	return Xsqlite3CorruptError(tls, 60971)
 __1:
 	;
 	*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3)
@@ -23836,7 +23838,7 @@ __5:
 	if !(pgno == (*Pager)(unsafe.Pointer(pPager)).FlckPgno) {
 		goto __7
 	}
-	rc = Xsqlite3CorruptError(tls, 60999)
+	rc = Xsqlite3CorruptError(tls, 61003)
 	goto pager_acquire_err
 __7:
 	;
@@ -23913,7 +23915,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags
 		(int32((*Pager)(unsafe.Pointer(pPager)).FeState) == PAGER_READER || flags&PAGER_GET_READONLY != 0))
 
 	if pgno <= Pgno(1) && pgno == Pgno(0) {
-		return Xsqlite3CorruptError(tls, 61078)
+		return Xsqlite3CorruptError(tls, 61082)
 	}
 
 	if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
@@ -24671,7 +24673,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 {
 
 // Return the number of references to the specified page.
 func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 {
-	return Xsqlite3PcachePageRefcount(tls, pPage)
+	return int32(Xsqlite3PcachePageRefcount(tls, pPage))
 }
 
 // Parameter eStat must be one of SQLITE_DBSTATUS_CACHE_HIT, _MISS, _WRITE,
@@ -24914,9 +24916,9 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno
 	pPgOld = Xsqlite3PagerLookup(tls, pPager, pgno)
 
 	if pPgOld != 0 {
-		if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 {
+		if (*PgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
 			Xsqlite3PagerUnrefNotNull(tls, pPgOld)
-			return Xsqlite3CorruptError(tls, 62623)
+			return Xsqlite3CorruptError(tls, 62627)
 		}
 		*(*U16)(unsafe.Pointer(pPg + 28)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC)
 		if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 {
@@ -25670,7 +25672,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 {
 		nCollide = idx
 		for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) {
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 64387)
+				return Xsqlite3CorruptError(tls, 64391)
 			}
 		}
 		*(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaPgno + uintptr(idx-1)*4)) = iPage
@@ -25769,7 +25771,7 @@ __6:
 	if !(version != U32(WAL_MAX_VERSION)) {
 		goto __7
 	}
-	rc = Xsqlite3CantopenError(tls, 64519)
+	rc = Xsqlite3CantopenError(tls, 64523)
 	goto finished
 __7:
 	;
@@ -26354,7 +26356,7 @@ __10:
 		goto __14
 	}
 
-	rc = Xsqlite3CorruptError(tls, 65333)
+	rc = Xsqlite3CorruptError(tls, 65337)
 	goto __15
 __14:
 	Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+12)
@@ -26629,7 +26631,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 {
 	}
 
 	if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) {
-		rc = Xsqlite3CantopenError(tls, 65682)
+		rc = Xsqlite3CantopenError(tls, 65686)
 	}
 	if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
 		if rc != SQLITE_OK {
@@ -27102,7 +27104,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr
 				iRead = iFrame
 			}
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 66419)
+				return Xsqlite3CorruptError(tls, 66423)
 			}
 			iKey = walNextHash(tls, iKey)
 		}
@@ -27607,7 +27609,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
 
 	if rc == SQLITE_OK {
 		if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf {
-			rc = Xsqlite3CorruptError(tls, 67138)
+			rc = Xsqlite3CorruptError(tls, 67142)
 		} else {
 			rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
 		}
@@ -28263,7 +28265,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32
 		}
 		Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
 		if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
-			rc = Xsqlite3CorruptError(tls, 69249)
+			rc = Xsqlite3CorruptError(tls, 69253)
 		} else {
 			rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
 		}
@@ -28400,7 +28402,7 @@ __1:
 	if !(key == Pgno(0)) {
 		goto __2
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69430)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69434)
 	return
 __2:
 	;
@@ -28417,7 +28419,7 @@ __3:
 		goto __4
 	}
 
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69443)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69447)
 	goto ptrmap_exit
 __4:
 	;
@@ -28425,7 +28427,7 @@ __4:
 	if !(offset < 0) {
 		goto __5
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69448)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69452)
 	goto ptrmap_exit
 __5:
 	;
@@ -28468,7 +28470,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 	offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1)))
 	if offset < 0 {
 		Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
-		return Xsqlite3CorruptError(tls, 69493)
+		return Xsqlite3CorruptError(tls, 69497)
 	}
 
 	*(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
@@ -28478,7 +28480,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 
 	Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
 	if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 {
-		return Xsqlite3CorruptError(tls, 69501)
+		return Xsqlite3CorruptError(tls, 69505)
 	}
 	return SQLITE_OK
 }
@@ -28728,7 +28730,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr,
 	if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 		var ovfl Pgno
 		if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) {
-			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69893)
+			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69897)
 			return
 		}
 		ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4))
@@ -28775,7 +28777,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 {
 	if !(iFree > usableSize-4) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 69951)
+	return Xsqlite3CorruptError(tls, 69955)
 __2:
 	;
 	if !(iFree != 0) {
@@ -28785,7 +28787,7 @@ __2:
 	if !(iFree2 > usableSize-4) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 69954)
+	return Xsqlite3CorruptError(tls, 69958)
 __4:
 	;
 	if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) {
@@ -28798,7 +28800,7 @@ __4:
 	if !(top >= iFree) {
 		goto __6
 	}
-	return Xsqlite3CorruptError(tls, 69962)
+	return Xsqlite3CorruptError(tls, 69966)
 __6:
 	;
 	if !(iFree2 != 0) {
@@ -28807,14 +28809,14 @@ __6:
 	if !(iFree+sz > iFree2) {
 		goto __9
 	}
-	return Xsqlite3CorruptError(tls, 69965)
+	return Xsqlite3CorruptError(tls, 69969)
 __9:
 	;
 	sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1)))
 	if !(iFree2+sz2 > usableSize) {
 		goto __10
 	}
-	return Xsqlite3CorruptError(tls, 69967)
+	return Xsqlite3CorruptError(tls, 69971)
 __10:
 	;
 	libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint32(iFree2-(iFree+sz)))
@@ -28824,7 +28826,7 @@ __7:
 	if !(iFree+sz > usableSize) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 69971)
+	return Xsqlite3CorruptError(tls, 69975)
 __11:
 	;
 __8:
@@ -28888,7 +28890,7 @@ __19:
 	if !(pc < iCellStart || pc > iCellLast) {
 		goto __22
 	}
-	return Xsqlite3CorruptError(tls, 70004)
+	return Xsqlite3CorruptError(tls, 70008)
 __22:
 	;
 	size = int32((*struct {
@@ -28898,7 +28900,7 @@ __22:
 	if !(cbrk < iCellStart || pc+size > usableSize) {
 		goto __23
 	}
-	return Xsqlite3CorruptError(tls, 70010)
+	return Xsqlite3CorruptError(tls, 70014)
 __23:
 	;
 	*(*U8)(unsafe.Pointer(pAddr1)) = U8(cbrk >> 8)
@@ -28920,7 +28922,7 @@ defragment_out:
 	if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) {
 		goto __24
 	}
-	return Xsqlite3CorruptError(tls, 70024)
+	return Xsqlite3CorruptError(tls, 70028)
 __24:
 	;
 	*(*uint8)(unsafe.Pointer(data + uintptr(hdr+5))) = U8(cbrk >> 8)
@@ -28955,7 +28957,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 				*(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x)))
 				return aData + uintptr(pc)
 			} else if x+pc > maxPC {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70081)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70085)
 				return uintptr(0)
 			} else {
 				*(*U8)(unsafe.Pointer(aData + uintptr(pc+2))) = U8(x >> 8)
@@ -28968,13 +28970,13 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 		pc = int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1)))
 		if pc <= iAddr {
 			if pc != 0 {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70096)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70100)
 			}
 			return uintptr(0)
 		}
 	}
 	if pc > maxPC+nByte-4 {
-		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70103)
+		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70107)
 	}
 	return uintptr(0)
 }
@@ -28999,7 +29001,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 		if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) {
 			top = 65536
 		} else {
-			return Xsqlite3CorruptError(tls, 70152)
+			return Xsqlite3CorruptError(tls, 70156)
 		}
 	}
 
@@ -29010,7 +29012,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 
 			*(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, (int32(pSpace)-int32(data))/1)
 			if g2 <= gap {
-				return Xsqlite3CorruptError(tls, 70170)
+				return Xsqlite3CorruptError(tls, 70174)
 			} else {
 				return SQLITE_OK
 			}
@@ -29062,22 +29064,22 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 				if int32(iFreeBlk) == 0 {
 					break
 				}
-				return Xsqlite3CorruptError(tls, 70249)
+				return Xsqlite3CorruptError(tls, 70253)
 			}
 			iPtr = iFreeBlk
 		}
 		if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) {
-			return Xsqlite3CorruptError(tls, 70254)
+			return Xsqlite3CorruptError(tls, 70258)
 		}
 
 		if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) {
 			nFrag = U8(U32(iFreeBlk) - iEnd)
 			if iEnd > U32(iFreeBlk) {
-				return Xsqlite3CorruptError(tls, 70266)
+				return Xsqlite3CorruptError(tls, 70270)
 			}
 			iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1)))))
 			if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-				return Xsqlite3CorruptError(tls, 70269)
+				return Xsqlite3CorruptError(tls, 70273)
 			}
 			iSize = U16(iEnd - U32(iStart))
 			iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1))))
@@ -29087,7 +29089,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1))))
 			if iPtrEnd+3 >= int32(iStart) {
 				if iPtrEnd > int32(iStart) {
-					return Xsqlite3CorruptError(tls, 70282)
+					return Xsqlite3CorruptError(tls, 70286)
 				}
 				nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd))
 				iSize = U16(iEnd - U32(iPtr))
@@ -29095,7 +29097,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			}
 		}
 		if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) {
-			return Xsqlite3CorruptError(tls, 70288)
+			return Xsqlite3CorruptError(tls, 70292)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag))
 	}
@@ -29103,10 +29105,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 	x = U16(int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1))))
 	if int32(iStart) <= int32(x) {
 		if int32(iStart) < int32(x) {
-			return Xsqlite3CorruptError(tls, 70297)
+			return Xsqlite3CorruptError(tls, 70301)
 		}
 		if int32(iPtr) != int32(hdr)+1 {
-			return Xsqlite3CorruptError(tls, 70298)
+			return Xsqlite3CorruptError(tls, 70302)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8)
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk)
@@ -29166,7 +29168,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70357)
+			return Xsqlite3CorruptError(tls, 70361)
 		}
 	} else {
 		(*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize = U8(4)
@@ -29202,7 +29204,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70381)
+			return Xsqlite3CorruptError(tls, 70385)
 		}
 	}
 	return SQLITE_OK
@@ -29232,11 +29234,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 		var next U32
 		var size U32
 		if pc < top {
-			return Xsqlite3CorruptError(tls, 70432)
+			return Xsqlite3CorruptError(tls, 70436)
 		}
 		for 1 != 0 {
 			if pc > iCellLast {
-				return Xsqlite3CorruptError(tls, 70437)
+				return Xsqlite3CorruptError(tls, 70441)
 			}
 			next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1))))
 			size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1))))
@@ -29247,15 +29249,15 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 			pc = int32(next)
 		}
 		if next > U32(0) {
-			return Xsqlite3CorruptError(tls, 70447)
+			return Xsqlite3CorruptError(tls, 70451)
 		}
 		if U32(pc)+size > uint32(usableSize) {
-			return Xsqlite3CorruptError(tls, 70451)
+			return Xsqlite3CorruptError(tls, 70455)
 		}
 	}
 
 	if nFree > usableSize || nFree < iCellFirst {
-		return Xsqlite3CorruptError(tls, 70463)
+		return Xsqlite3CorruptError(tls, 70467)
 	}
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst))
 	return SQLITE_OK
@@ -29283,14 +29285,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 {
 		pc = int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(data + uintptr(cellOffset+i*2)))))
 
 		if pc < iCellFirst || pc > iCellLast {
-			return Xsqlite3CorruptError(tls, 70494)
+			return Xsqlite3CorruptError(tls, 70498)
 		}
 		sz = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
 		})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc)))
 
 		if pc+sz > usableSize {
-			return Xsqlite3CorruptError(tls, 70499)
+			return Xsqlite3CorruptError(tls, 70503)
 		}
 	}
 	return SQLITE_OK
@@ -29304,7 +29306,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 	data = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 {
-		return Xsqlite3CorruptError(tls, 70531)
+		return Xsqlite3CorruptError(tls, 70535)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1))
@@ -29316,7 +29318,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1))))
 	if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) {
-		return Xsqlite3CorruptError(tls, 70545)
+		return Xsqlite3CorruptError(tls, 70549)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = -1
@@ -29419,7 +29421,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	rc = Xsqlite3CorruptError(tls, 70700)
+	rc = Xsqlite3CorruptError(tls, 70704)
 	goto getAndInitPage_error1
 __1:
 	;
@@ -29447,7 +29449,7 @@ __3:
 	if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) {
 		goto __5
 	}
-	rc = Xsqlite3CorruptError(tls, 70721)
+	rc = Xsqlite3CorruptError(tls, 70725)
 	goto getAndInitPage_error2
 __5:
 	;
@@ -29486,7 +29488,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 {
 			releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
 			*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
-			return Xsqlite3CorruptError(tls, 70787)
+			return Xsqlite3CorruptError(tls, 70791)
 		}
 		(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0)
 	} else {
@@ -30369,7 +30371,7 @@ __16:
 	if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) {
 		goto __18
 	}
-	rc = Xsqlite3CorruptError(tls, 71722)
+	rc = Xsqlite3CorruptError(tls, 71726)
 	goto page1_init_failed
 	goto __19
 __18:
@@ -30784,7 +30786,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 	if int32(eType) == PTRMAP_OVERFLOW2 {
 		if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
-			return Xsqlite3CorruptError(tls, 72143)
+			return Xsqlite3CorruptError(tls, 72147)
 		}
 		Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo)
 	} else {
@@ -30810,7 +30812,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp)
 				if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 					if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-						return Xsqlite3CorruptError(tls, 72162)
+						return Xsqlite3CorruptError(tls, 72166)
 					}
 					if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) {
 						Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo)
@@ -30819,7 +30821,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				}
 			} else {
 				if pCell+uintptr(4) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-					return Xsqlite3CorruptError(tls, 72171)
+					return Xsqlite3CorruptError(tls, 72175)
 				}
 				if Xsqlite3Get4byte(tls, pCell) == iFrom {
 					Xsqlite3Put4byte(tls, pCell, iTo)
@@ -30830,7 +30832,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 		if i == nCell {
 			if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom {
-				return Xsqlite3CorruptError(tls, 72183)
+				return Xsqlite3CorruptError(tls, 72187)
 			}
 			Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo)
 		}
@@ -30846,7 +30848,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag
 	var pPager uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPager
 
 	if iDbPage < Pgno(3) {
-		return Xsqlite3CorruptError(tls, 72218)
+		return Xsqlite3CorruptError(tls, 72222)
 	}
 
 	*(*int32)(unsafe.Pointer(bp)) = Xsqlite3PagerMovepage(tls, pPager, (*MemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -30907,7 +30909,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 			return rc
 		}
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE {
-			return Xsqlite3CorruptError(tls, 72316)
+			return Xsqlite3CorruptError(tls, 72320)
 		}
 
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE {
@@ -30942,7 +30944,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 20)))
 				if *(*Pgno)(unsafe.Pointer(bp + 24)) > dbSize {
 					releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
-					return Xsqlite3CorruptError(tls, 72368)
+					return Xsqlite3CorruptError(tls, 72372)
 				}
 			}
 
@@ -31002,7 +31004,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 {
 		var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree)
 
 		if nOrig < nFin || nFree >= nOrig {
-			rc = Xsqlite3CorruptError(tls, 72436)
+			rc = Xsqlite3CorruptError(tls, 72440)
 		} else if nFree > Pgno(0) {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
 			if rc == SQLITE_OK {
@@ -31041,7 +31043,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 
 		nOrig = btreePagecount(tls, pBt)
 		if ptrmapPageno(tls, pBt, nOrig) == nOrig || nOrig == U32(Xsqlite3PendingByte)/(*BtShared)(unsafe.Pointer(pBt)).FpageSize+U32(1) {
-			return Xsqlite3CorruptError(tls, 72487)
+			return Xsqlite3CorruptError(tls, 72491)
 		}
 
 		nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
@@ -31072,7 +31074,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 		}
 		nFin = finalDbSize(tls, pBt, nOrig, nVac)
 		if nFin > nOrig {
-			return Xsqlite3CorruptError(tls, 72514)
+			return Xsqlite3CorruptError(tls, 72518)
 		}
 		if nFin < nOrig {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -31413,7 +31415,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u
 
 	if iTable <= Pgno(1) {
 		if iTable < Pgno(1) {
-			return Xsqlite3CorruptError(tls, 72978)
+			return Xsqlite3CorruptError(tls, 72982)
 		} else if btreePagecount(tls, pBt) == Pgno(0) {
 			iTable = Pgno(0)
 		}
@@ -31657,14 +31659,14 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt
 
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
-		return Xsqlite3CorruptError(tls, 73385)
+		return Xsqlite3CorruptError(tls, 73389)
 	}
 
 	getCellInfo(tls, pCur)
 	aPayload = (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
 
 	if Uptr((int32(aPayload)-int32((*MemPage)(unsafe.Pointer(pPage)).FaData))/1) > (*BtShared)(unsafe.Pointer(pBt)).FusableSize-U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
-		return Xsqlite3CorruptError(tls, 73400)
+		return Xsqlite3CorruptError(tls, 73404)
 	}
 
 	if offset < U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -31709,7 +31711,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 
 		for *(*Pgno)(unsafe.Pointer(bp)) != 0 {
 			if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage {
-				return Xsqlite3CorruptError(tls, 73462)
+				return Xsqlite3CorruptError(tls, 73466)
 			}
 
 			*(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp))
@@ -31758,7 +31760,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	}
 
 	if rc == SQLITE_OK && amt > U32(0) {
-		return Xsqlite3CorruptError(tls, 73547)
+		return Xsqlite3CorruptError(tls, 73551)
 	}
 	return rc
 }
@@ -31838,7 +31840,7 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt
 
 func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 {
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 {
-		return Xsqlite3CorruptError(tls, 73684)
+		return Xsqlite3CorruptError(tls, 73688)
 	}
 	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	*(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl))
@@ -31929,7 +31931,7 @@ __2:
 	if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 73823)
+	return Xsqlite3CorruptError(tls, 73827)
 __11:
 	;
 skip_init:
@@ -31949,7 +31951,7 @@ __12:
 	if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) {
 		goto __16
 	}
-	return Xsqlite3CorruptError(tls, 73835)
+	return Xsqlite3CorruptError(tls, 73839)
 __16:
 	;
 	subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8))
@@ -32159,7 +32161,7 @@ __19:
 	if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __21
 	}
-	return Xsqlite3CorruptError(tls, 74077)
+	return Xsqlite3CorruptError(tls, 74081)
 __21:
 	;
 	goto __19
@@ -32363,7 +32365,7 @@ __2:
 	if !!(int32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit) != 0) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 74273)
+	return Xsqlite3CorruptError(tls, 74277)
 __4:
 	;
 	goto bypass_moveto_root
@@ -32428,7 +32430,7 @@ __15:
 	if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) {
 		goto __17
 	}
-	rc = Xsqlite3CorruptError(tls, 74360)
+	rc = Xsqlite3CorruptError(tls, 74364)
 	goto moveto_index_finish
 __17:
 	;
@@ -32476,7 +32478,7 @@ __22:
 	if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) {
 		goto __24
 	}
-	rc = Xsqlite3CorruptError(tls, 74392)
+	rc = Xsqlite3CorruptError(tls, 74396)
 __24:
 	;
 	goto moveto_index_finish
@@ -32595,7 +32597,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 {
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1))
 	if !(int32((*MemPage)(unsafe.Pointer(pPage)).FisInit) != 0) || Xsqlite3FaultSim(tls, 412) != 0 {
-		return Xsqlite3CorruptError(tls, 74508)
+		return Xsqlite3CorruptError(tls, 74512)
 	}
 
 	if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
@@ -32755,7 +32757,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr
 	if !(n >= mxPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74688)
+	return Xsqlite3CorruptError(tls, 74692)
 __1:
 	;
 	if !(n > U32(0)) {
@@ -32820,7 +32822,7 @@ __15:
 	if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) {
 		goto __16
 	}
-	rc = Xsqlite3CorruptError(tls, 74744)
+	rc = Xsqlite3CorruptError(tls, 74748)
 	goto __17
 __16:
 	rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+4, 0)
@@ -32856,7 +32858,7 @@ __19:
 		goto __22
 	}
 
-	rc = Xsqlite3CorruptError(tls, 74773)
+	rc = Xsqlite3CorruptError(tls, 74777)
 	goto end_allocate_page
 	goto __23
 __22:
@@ -32900,7 +32902,7 @@ __27:
 	if !(iNewTrunk > mxPage) {
 		goto __32
 	}
-	rc = Xsqlite3CorruptError(tls, 74807)
+	rc = Xsqlite3CorruptError(tls, 74811)
 	goto end_allocate_page
 __32:
 	;
@@ -33012,7 +33014,7 @@ __40:
 	if !(iPage > mxPage || iPage < Pgno(2)) {
 		goto __51
 	}
-	rc = Xsqlite3CorruptError(tls, 74872)
+	rc = Xsqlite3CorruptError(tls, 74876)
 	goto end_allocate_page
 __51:
 	;
@@ -33170,7 +33172,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 {
 	if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74999)
+	return Xsqlite3CorruptError(tls, 75003)
 __1:
 	;
 	if !(pMemPage != 0) {
@@ -33227,7 +33229,7 @@ __7:
 	if !(iTrunk > btreePagecount(tls, pBt)) {
 		goto __10
 	}
-	*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 75046)
+	*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 75050)
 	goto freepage_out
 __10:
 	;
@@ -33243,7 +33245,7 @@ __11:
 	if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) {
 		goto __12
 	}
-	*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 75057)
+	*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 75061)
 	goto freepage_out
 __12:
 	;
@@ -33317,7 +33319,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 	var ovflPageSize U32
 
 	if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 75146)
+		return Xsqlite3CorruptError(tls, 75150)
 	}
 	ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
 	pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt
@@ -33329,7 +33331,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 		*(*Pgno)(unsafe.Pointer(bp + 4)) = Pgno(0)
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 		if ovflPgno < Pgno(2) || ovflPgno > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 75163)
+			return Xsqlite3CorruptError(tls, 75167)
 		}
 		if nOvfl != 0 {
 			rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+4)
@@ -33340,7 +33342,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 
 		if (*(*uintptr)(unsafe.Pointer(bp)) != 0 || libc.AssignPtrUintptr(bp, btreePageLookup(tls, pBt, ovflPgno)) != uintptr(0)) &&
 			Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 {
-			rc = Xsqlite3CorruptError(tls, 75183)
+			rc = Xsqlite3CorruptError(tls, 75187)
 		} else {
 			rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp)), ovflPgno)
 		}
@@ -33505,7 +33507,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
 	hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75436)
+		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75440)
 		return
 	}
 	rc = freeSpace(tls, pPage, uint16(pc), uint16(sz))
@@ -33783,12 +33785,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 
 		if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) {
 			if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) {
-				return Xsqlite3CorruptError(tls, 75737)
+				return Xsqlite3CorruptError(tls, 75741)
 			}
 			pCell = pTmp + uintptr((int32(pCell)-int32(aData))/1)
 		} else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) &&
 			Uptr(pCell) < Uptr(pSrcEnd) {
-			return Xsqlite3CorruptError(tls, 75742)
+			return Xsqlite3CorruptError(tls, 75746)
 		}
 
 		pData -= uintptr(sz)
@@ -33796,7 +33798,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 		*(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int32(pData) - int32(aData)) / 1)
 		pCellptr += uintptr(2)
 		if pData < pCellptr {
-			return Xsqlite3CorruptError(tls, 75748)
+			return Xsqlite3CorruptError(tls, 75752)
 		}
 		libc.Xmemmove(tls, pData, pCell, uint32(sz))
 
@@ -33856,7 +33858,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr,
 
 		if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4))+uintptr(sz)) > Uptr(pEnd) &&
 			Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4))) < Uptr(pEnd) {
-			Xsqlite3CorruptError(tls, 75833)
+			Xsqlite3CorruptError(tls, 75837)
 			return 1
 		}
 		libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4)), uint32(sz))
@@ -33945,7 +33947,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC
 	if !(nShift > nCell) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 75947)
+	return Xsqlite3CorruptError(tls, 75951)
 __2:
 	;
 	libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint32(nCell*2))
@@ -34061,7 +34063,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr
 	var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt
 
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
-		return Xsqlite3CorruptError(tls, 76060)
+		return Xsqlite3CorruptError(tls, 76064)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 80)) = allocateBtreePage(tls, pBt, bp, bp+4, uint32(0), uint8(0))
@@ -34381,7 +34383,7 @@ __22:
 	if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)))).FaData)))) {
 		goto __25
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76481)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76485)
 	goto balance_cleanup
 __25:
 	;
@@ -34392,7 +34394,7 @@ __25:
 	if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) {
 		goto __27
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76505)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76509)
 	goto balance_cleanup
 __27:
 	;
@@ -34550,7 +34552,7 @@ __52:
 	if !(k > NB+2) {
 		goto __55
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76606)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76610)
 	goto balance_cleanup
 __55:
 	;
@@ -34624,7 +34626,7 @@ __65:
 	}()) {
 		goto __67
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76639)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76643)
 	goto balance_cleanup
 __67:
 	;
@@ -34687,7 +34689,7 @@ __73:
 	}()) {
 		goto __75
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76683)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76687)
 	goto balance_cleanup
 __75:
 	;
@@ -34715,7 +34717,7 @@ __76:
 		*(*int32)(unsafe.Pointer(bp + 112)) == SQLITE_OK) {
 		goto __81
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76716)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76720)
 __81:
 	;
 	if !(*(*int32)(unsafe.Pointer(bp + 112)) != 0) {
@@ -34976,7 +34978,7 @@ __120:
 	if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) {
 		goto __121
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76916)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76920)
 	goto balance_cleanup
 __121:
 	;
@@ -35168,7 +35170,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 {
 		if pOther != pCur &&
 			int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID &&
 			(*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage {
-			return Xsqlite3CorruptError(tls, 77146)
+			return Xsqlite3CorruptError(tls, 77150)
 		}
 	}
 	return SQLITE_OK
@@ -35206,7 +35208,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 {
 				break
 			}
 		} else if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) > 1 {
-			rc = Xsqlite3CorruptError(tls, 77206)
+			rc = Xsqlite3CorruptError(tls, 77210)
 		} else {
 			var pParent uintptr = *(*uintptr)(unsafe.Pointer(pCur + 112 + uintptr(iPage-1)*4))
 			var iIdx int32 = int32(*(*U16)(unsafe.Pointer(pCur + 64 + uintptr(iPage-1)*2)))
@@ -35312,7 +35314,7 @@ func btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 			return rc
 		}
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
-			rc = Xsqlite3CorruptError(tls, 77370)
+			rc = Xsqlite3CorruptError(tls, 77374)
 		} else {
 			if U32(iOffset)+ovflPageSize < U32(nTotal) {
 				ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -35337,7 +35339,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 
 	if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd ||
 		(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FcellOffset) {
-		return Xsqlite3CorruptError(tls, 77398)
+		return Xsqlite3CorruptError(tls, 77402)
 	}
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
 		return btreeOverwriteContent(tls, pPage, (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX,
@@ -35407,7 +35409,7 @@ __2:
 		goto __3
 	}
 
-	return Xsqlite3CorruptError(tls, 77479)
+	return Xsqlite3CorruptError(tls, 77483)
 __3:
 	;
 __1:
@@ -35520,7 +35522,7 @@ __7:
 		goto __21
 	}
 
-	*(*int32)(unsafe.Pointer(bp + 84)) = Xsqlite3CorruptError(tls, 77602)
+	*(*int32)(unsafe.Pointer(bp + 84)) = Xsqlite3CorruptError(tls, 77606)
 	goto __22
 __21:
 	*(*int32)(unsafe.Pointer(bp + 84)) = btreeComputeFreeSpace(tls, pPage)
@@ -35580,6 +35582,7 @@ __30:
 __25:
 	;
 	idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
+	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !(*(*int32)(unsafe.Pointer(bp)) == 0) {
 		goto __31
 	}
@@ -35587,7 +35590,7 @@ __25:
 	if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) {
 		goto __33
 	}
-	return Xsqlite3CorruptError(tls, 77640)
+	return Xsqlite3CorruptError(tls, 77645)
 __33:
 	;
 	*(*int32)(unsafe.Pointer(bp + 84)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage)
@@ -35625,13 +35628,13 @@ __37:
 	if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) {
 		goto __39
 	}
-	return Xsqlite3CorruptError(tls, 77667)
+	return Xsqlite3CorruptError(tls, 77672)
 __39:
 	;
 	if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 88))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __40
 	}
-	return Xsqlite3CorruptError(tls, 77670)
+	return Xsqlite3CorruptError(tls, 77675)
 __40:
 	;
 	libc.Xmemcpy(tls, oldCell, newCell, uint32(*(*int32)(unsafe.Pointer(bp + 88))))
@@ -35662,7 +35665,6 @@ __32:
 	;
 	*(*int32)(unsafe.Pointer(bp + 84)) = insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 88)), uintptr(0), uint32(0))
 
-	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) {
 		goto __44
 	}
@@ -35737,7 +35739,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 	nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
 	aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
 	if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 77773)
+		return Xsqlite3CorruptError(tls, 77777)
 	}
 	nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
 	if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -35762,7 +35764,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 
 		if nRem > nIn {
 			if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-				return Xsqlite3CorruptError(tls, 77798)
+				return Xsqlite3CorruptError(tls, 77802)
 			}
 			ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
 		}
@@ -35863,7 +35865,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 				return *(*int32)(unsafe.Pointer(bp + 20))
 			}
 		} else {
-			return Xsqlite3CorruptError(tls, 77894)
+			return Xsqlite3CorruptError(tls, 77898)
 		}
 	}
 
@@ -35871,11 +35873,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 	iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
-		return Xsqlite3CorruptError(tls, 77903)
+		return Xsqlite3CorruptError(tls, 77907)
 	}
 	pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))))
 	if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 {
-		return Xsqlite3CorruptError(tls, 77907)
+		return Xsqlite3CorruptError(tls, 77911)
 	}
 
 	bPreserve = U8(libc.Bool32(int32(flags)&BTREE_SAVEPOSITION != 0))
@@ -35950,7 +35952,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 		}
 		pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))))
 		if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 {
-			return Xsqlite3CorruptError(tls, 77998)
+			return Xsqlite3CorruptError(tls, 78002)
 		}
 		nCell = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
@@ -36019,7 +36021,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 
 		Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp)
 		if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 78114)
+			return Xsqlite3CorruptError(tls, 78118)
 		}
 		*(*Pgno)(unsafe.Pointer(bp))++
 
@@ -36048,7 +36050,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 			}
 			*(*int32)(unsafe.Pointer(bp + 24)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp)), bp+16, bp+20)
 			if int32(*(*U8)(unsafe.Pointer(bp + 16))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 16))) == PTRMAP_FREEPAGE {
-				*(*int32)(unsafe.Pointer(bp + 24)) = Xsqlite3CorruptError(tls, 78162)
+				*(*int32)(unsafe.Pointer(bp + 24)) = Xsqlite3CorruptError(tls, 78166)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 24)) != SQLITE_OK {
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 12)))
@@ -36124,7 +36126,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 78252)
+	return Xsqlite3CorruptError(tls, 78256)
 __1:
 	;
 	*(*int32)(unsafe.Pointer(bp + 24)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0)
@@ -36138,7 +36140,7 @@ __2:
 		Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) {
 		goto __3
 	}
-	*(*int32)(unsafe.Pointer(bp + 24)) = Xsqlite3CorruptError(tls, 78259)
+	*(*int32)(unsafe.Pointer(bp + 24)) = Xsqlite3CorruptError(tls, 78263)
 	goto cleardatabasepage_out
 __3:
 	;
@@ -36272,7 +36274,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3
 	var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt
 
 	if iTable > btreePagecount(tls, pBt) {
-		return Xsqlite3CorruptError(tls, 78363)
+		return Xsqlite3CorruptError(tls, 78367)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0))
@@ -38742,7 +38744,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32,
 	var rc int32
 	(*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null)
 	if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) {
-		return Xsqlite3CorruptError(tls, 81630)
+		return Xsqlite3CorruptError(tls, 81634)
 	}
 	if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) {
 		rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz)
@@ -39390,7 +39392,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		return Xsqlite3GetVarint32(tls, a, bp)
 	}())
 	if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) {
-		return Xsqlite3CorruptError(tls, 82270)
+		return Xsqlite3CorruptError(tls, 82274)
 	}
 	iField = *(*int32)(unsafe.Pointer(bp))
 	for i = 0; i <= iCol; i++ {
@@ -39405,14 +39407,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		}())
 
 		if iHdr > *(*int32)(unsafe.Pointer(bp)) {
-			return Xsqlite3CorruptError(tls, 82276)
+			return Xsqlite3CorruptError(tls, 82280)
 		}
 		szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4))))
 		iField = iField + szField
 	}
 
 	if iField > nRec {
-		return Xsqlite3CorruptError(tls, 82282)
+		return Xsqlite3CorruptError(tls, 82286)
 	}
 	if pMem == uintptr(0) {
 		pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db))
@@ -41716,7 +41718,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 {
 		return rc
 	}
 	if *(*int32)(unsafe.Pointer(bp)) != 0 {
-		return Xsqlite3CorruptError(tls, 86058)
+		return Xsqlite3CorruptError(tls, 86062)
 	}
 	(*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0)
 	(*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE)
@@ -42267,7 +42269,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		i = 0
 	}
 	if d1 > uint32(nKey1) {
-		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86985))
+		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86989))
 		return 0
 	}
 
@@ -42332,7 +42334,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 
 				if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) ||
 					int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87062))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87066))
 					return 0
 				} else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 20 + uintptr(i)*4)) != 0 {
 					(*Mem)(unsafe.Pointer(bp + 8)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc
@@ -42366,7 +42368,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 				var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 48)) - U32(12)) / U32(2))
 
 				if d1+U32(nStr) > uint32(nKey1) {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87092))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87096))
 					return 0
 				} else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 {
 					if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) {
@@ -42416,7 +42418,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		}
 		idx1 = idx1 + U32(Xsqlite3VarintLen(tls, uint64(*(*U32)(unsafe.Pointer(bp + 48)))))
 		if idx1 >= *(*U32)(unsafe.Pointer(bp + 4)) {
-			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87136))
+			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87140))
 			return 0
 		}
 	}
@@ -42562,7 +42564,7 @@ __5:
 	if !(szHdr+nStr > nKey1) {
 		goto __7
 	}
-	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87299))
+	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87303))
 	return 0
 __7:
 	;
@@ -42733,7 +42735,7 @@ __6:
 idx_rowid_corruption:
 	;
 	Xsqlite3VdbeMemReleaseMalloc(tls, bp)
-	return Xsqlite3CorruptError(tls, 87457)
+	return Xsqlite3CorruptError(tls, 87461)
 }
 
 // Compare the key of the index entry that cursor pC is pointing to against
@@ -42759,7 +42761,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
 
 	if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) {
 		*(*int32)(unsafe.Pointer(res)) = 0
-		return Xsqlite3CorruptError(tls, 87490)
+		return Xsqlite3CorruptError(tls, 87494)
 	}
 	Xsqlite3VdbeMemInit(tls, bp, db, uint16(0))
 	rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp)
@@ -43033,7 +43035,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 {
 		var v uintptr = pStmt
 		var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb
 		if vdbeSafety(tls, v) != 0 {
-			return Xsqlite3MisuseError(tls, 87854)
+			return Xsqlite3MisuseError(tls, 87858)
 		}
 		Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) {
@@ -43648,7 +43650,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 {
 	var db uintptr
 
 	if vdbeSafetyNotNull(tls, v) != 0 {
-		return Xsqlite3MisuseError(tls, 88544)
+		return Xsqlite3MisuseError(tls, 88548)
 	}
 	db = (*Vdbe)(unsafe.Pointer(v)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -44168,7 +44170,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 
 	var pVar uintptr
 	if vdbeSafetyNotNull(tls, p) != 0 {
-		return Xsqlite3MisuseError(tls, 89208)
+		return Xsqlite3MisuseError(tls, 89212)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 	if int32((*Vdbe)(unsafe.Pointer(p)).FeVdbeState) != VDBE_READY_STATE {
@@ -44176,7 +44178,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 		Xsqlite3_log(tls, SQLITE_MISUSE,
 			ts+5357, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql))
-		return Xsqlite3MisuseError(tls, 89216)
+		return Xsqlite3MisuseError(tls, 89220)
 	}
 	if i >= uint32((*Vdbe)(unsafe.Pointer(p)).FnVar) {
 		Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE)
@@ -44581,7 +44583,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89707)
+	rc = Xsqlite3MisuseError(tls, 89711)
 	goto preupdate_old_out
 __1:
 	;
@@ -44725,7 +44727,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89809)
+	rc = Xsqlite3MisuseError(tls, 89813)
 	goto preupdate_new_out
 __1:
 	;
@@ -45169,10 +45171,6 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 {
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Real != 0 {
 			h = h + U64(Xsqlite3VdbeIntValue(tls, p))
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 {
-			h = h + U64((*Mem)(unsafe.Pointer(p)).Fn)
-			if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Zero != 0 {
-				h = h + U64(*(*int32)(unsafe.Pointer(p)))
-			}
 		}
 	}
 	return h
@@ -47820,7 +47818,7 @@ op_column_corrupt:
 	goto __9
 	goto __425
 __424:
-	rc = Xsqlite3CorruptError(tls, 93317)
+	rc = Xsqlite3CorruptError(tls, 93320)
 	goto abort_due_to_error
 __425:
 	;
@@ -49580,7 +49578,7 @@ notExistsWithKey:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) {
 		goto __682
 	}
-	rc = Xsqlite3CorruptError(tls, 95560)
+	rc = Xsqlite3CorruptError(tls, 95563)
 	goto __683
 __682:
 	goto jump_to_p2
@@ -50358,7 +50356,7 @@ __767:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) {
 		goto __770
 	}
-	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96635, ts+5866)
+	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96638, ts+5866)
 	goto abort_due_to_error
 __770:
 	;
@@ -50468,7 +50466,7 @@ __780:
 	if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) {
 		goto __781
 	}
-	rc = Xsqlite3CorruptError(tls, 96840)
+	rc = Xsqlite3CorruptError(tls, 96843)
 	goto abort_due_to_error
 __781:
 	;
@@ -50662,7 +50660,7 @@ __802:
 		goto __803
 	}
 
-	rc = Xsqlite3CorruptError(tls, 97092)
+	rc = Xsqlite3CorruptError(tls, 97095)
 __803:
 	;
 	Xsqlite3DbFreeNN(tls, db, zSql)
@@ -52029,7 +52027,7 @@ __955:
 	if !(rc == SQLITE_IOERR|int32(33)<<8) {
 		goto __957
 	}
-	rc = Xsqlite3CorruptError(tls, 99031)
+	rc = Xsqlite3CorruptError(tls, 99034)
 __957:
 	;
 __956:
@@ -52549,7 +52547,7 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99516)
+		return Xsqlite3MisuseError(tls, 99519)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -52632,7 +52630,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99616)
+		return Xsqlite3MisuseError(tls, 99619)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -56065,14 +56063,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			;
 			Xsqlite3WalkExpr(tls, pWalker, (*Expr)(unsafe.Pointer(pExpr)).FpLeft)
 			if 0 == Xsqlite3ExprCanBeNull(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
-				if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6764
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsTrue)
-				} else {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6769
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
-				}
-				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
+				*(*int32)(unsafe.Pointer(pExpr + 8)) = libc.Bool32(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL)
+				*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IntValue)
+				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_INTEGER)
+
 				i = 0
 				p = pNC
 			__4:
@@ -56116,7 +56110,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_GenCol) != 0 {
-					notValidImpl(tls, pParse, pNC, ts+6775, uintptr(0), pExpr)
+					notValidImpl(tls, pParse, pNC, ts+6764, uintptr(0), pExpr)
 				}
 
 				pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight
@@ -56180,7 +56174,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 						(*Expr)(unsafe.Pointer(pExpr)).FiTable = exprProbability(tls, (*ExprList_item)(unsafe.Pointer(pList+8+1*20)).FpExpr)
 						if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 {
 							Xsqlite3ErrorMsg(tls, pParse,
-								ts+6792, libc.VaList(bp, pExpr))
+								ts+6781, libc.VaList(bp, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
 					} else {
@@ -56196,7 +56190,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 					var auth int32 = Xsqlite3AuthCheck(tls, pParse, SQLITE_FUNCTION, uintptr(0), (*FuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0))
 					if auth != SQLITE_OK {
 						if auth == SQLITE_DENY {
-							Xsqlite3ErrorMsg(tls, pParse, ts+6856,
+							Xsqlite3ErrorMsg(tls, pParse, ts+6845,
 								libc.VaList(bp+8, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
@@ -56210,7 +56204,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				}
 				if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_CONSTANT) == U32(0) {
 					if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_PartIdx|NC_GenCol) != 0 {
-						notValidImpl(tls, pParse, pNC, ts+6892, uintptr(0), pExpr)
+						notValidImpl(tls, pParse, pNC, ts+6881, uintptr(0), pExpr)
 					}
 
 				} else {
@@ -56233,30 +56227,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			if 0 == libc.Bool32(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 				if pDef != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+6920, libc.VaList(bp+16, pExpr))
+						ts+6909, libc.VaList(bp+16, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowAgg == 0 ||
 					is_agg != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) ||
 					is_agg != 0 && pWin != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowWin == 0 {
 					var zType uintptr
 					if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 {
-						zType = ts + 6963
+						zType = ts + 6952
 					} else {
-						zType = ts + 6970
+						zType = ts + 6959
 					}
-					Xsqlite3ErrorMsg(tls, pParse, ts+6980, libc.VaList(bp+24, zType, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6969, libc.VaList(bp+24, zType, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 					is_agg = 0
 				} else if no_such_func != 0 && int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7008, libc.VaList(bp+40, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6997, libc.VaList(bp+40, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if wrong_num_args != 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7030,
+					Xsqlite3ErrorMsg(tls, pParse, ts+7019,
 						libc.VaList(bp+48, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg == 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7074,
+						ts+7063,
 						libc.VaList(bp+56, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				}
@@ -56328,15 +56322,15 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_SelfRef != 0 {
-					notValidImpl(tls, pParse, pNC, ts+7122, pExpr, pExpr)
+					notValidImpl(tls, pParse, pNC, ts+7111, pExpr, pExpr)
 				} else {
 					Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 20)))
 				}
 
 				if nRef != (*NameContext)(unsafe.Pointer(pNC)).FnRef {
 					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_VarSelect)
-					*(*int32)(unsafe.Pointer(pNC + 24)) |= NC_VarSelect
 				}
+				*(*int32)(unsafe.Pointer(pNC + 24)) |= NC_Subquery
 			}
 			break
 
@@ -56344,7 +56338,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 	case TK_VARIABLE:
 		{
 			if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IsCheck|NC_PartIdx|NC_IdxExpr|NC_GenCol) != 0 {
-				notValidImpl(tls, pParse, pNC, ts+7133, pExpr, pExpr)
+				notValidImpl(tls, pParse, pNC, ts+7122, pExpr, pExpr)
 			}
 
 			break
@@ -56475,7 +56469,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3
 	defer tls.Free(24)
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+7144, libc.VaList(bp, i, zType, mx))
+		ts+7133, libc.VaList(bp, i, zType, mx))
 	Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pError)
 }
 
@@ -56495,7 +56489,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	}
 	db = (*Parse)(unsafe.Pointer(pParse)).Fdb
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 116 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7200, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7189, 0)
 		return 1
 	}
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
@@ -56530,7 +56524,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 			}
 			if Xsqlite3ExprIsInteger(tls, pE, bp+8) != 0 {
 				if *(*int32)(unsafe.Pointer(bp + 8)) <= 0 || *(*int32)(unsafe.Pointer(bp + 8)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr {
-					resolveOutOfRangeError(tls, pParse, ts+7234, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
+					resolveOutOfRangeError(tls, pParse, ts+7223, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
 					return 1
 				}
 			} else {
@@ -56587,7 +56581,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
 		if int32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*20 + 8 + 4))&0x4>>2) == 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+7240, libc.VaList(bp, i+1))
+				ts+7229, libc.VaList(bp, i+1))
 			return 1
 		}
 	}
@@ -56615,7 +56609,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr,
 		return 0
 	}
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 116 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7301, libc.VaList(bp, zType))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7290, libc.VaList(bp, zType))
 		return 1
 	}
 	pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList
@@ -56829,7 +56823,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		*(*int32)(unsafe.Pointer(bp + 24)) |= NC_UEList
 		if (*Select)(unsafe.Pointer(p)).FpHaving != 0 {
 			if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Aggregate) == U32(0) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7332, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+7321, 0)
 				return WRC_Abort
 			}
 			if Xsqlite3ResolveExprNames(tls, bp, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 {
@@ -56869,7 +56863,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 
 		if (*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) &&
 			isCompound <= nCompound &&
-			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7234) != 0 {
+			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7223) != 0 {
 			return WRC_Abort
 		}
 		if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -56880,7 +56874,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		if pGroupBy != 0 {
 			var pItem uintptr
 
-			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7371) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
+			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7360) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 				return WRC_Abort
 			}
 			i = 0
@@ -56892,7 +56886,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 			{
 				if (*Expr)(unsafe.Pointer((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr)).Fflags&U32(EP_Agg) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7377, 0)
+						ts+7366, 0)
 					return WRC_Abort
 				}
 
@@ -57756,7 +57750,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32
 	var mxHeight int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 116 + 3*4))
 	if nHeight > mxHeight {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+7436, libc.VaList(bp, mxHeight))
+			ts+7425, libc.VaList(bp, mxHeight))
 		rc = SQLITE_ERROR
 	}
 	return rc
@@ -58005,10 +57999,10 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList
 			nExprElem = 1
 		}
 		if nExprElem != nElem {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7484,
+			Xsqlite3ErrorMsg(tls, pParse, ts+7473,
 				libc.VaList(bp, nExprElem, func() uintptr {
 					if nExprElem > 1 {
-						return ts + 7528
+						return ts + 7517
 					}
 					return ts + 1554
 				}(), nElem))
@@ -58049,7 +58043,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt
 		!(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 		Xsqlite3ExprDeferredDelete(tls, pParse, pLeft)
 		Xsqlite3ExprDeferredDelete(tls, pParse, pRight)
-		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7530)
+		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7519)
 	} else {
 		return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight)
 	}
@@ -58075,7 +58069,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u
 	if pList != 0 &&
 		(*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 116 + 6*4)) &&
 		!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7532, libc.VaList(bp, pToken))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7521, libc.VaList(bp, pToken))
 	}
 	*(*uintptr)(unsafe.Pointer(pNew + 20)) = pList
 	*(*U32)(unsafe.Pointer(pNew + 4)) |= U32(EP_HasFunc)
@@ -58103,7 +58097,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD
 	if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromDDL) != U32(0) {
 		if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_DIRECT) != U32(0) ||
 			(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) == uint64(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7566, libc.VaList(bp, pExpr))
+			Xsqlite3ErrorMsg(tls, pParse, ts+7555, libc.VaList(bp, pExpr))
 		}
 	}
 }
@@ -58150,7 +58144,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 			}
 
 			if bOk == 0 || *(*I64)(unsafe.Pointer(bp + 8)) < int64(1) || *(*I64)(unsafe.Pointer(bp + 8)) > I64(*(*int32)(unsafe.Pointer(db + 116 + 9*4))) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7586,
+				Xsqlite3ErrorMsg(tls, pParse, ts+7575,
 					libc.VaList(bp, *(*int32)(unsafe.Pointer(db + 116 + 9*4))))
 				Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 				return
@@ -58175,7 +58169,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 	}
 	(*Expr)(unsafe.Pointer(pExpr)).FiColumn = x
 	if int32(x) > *(*int32)(unsafe.Pointer(db + 116 + 9*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7629, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7618, 0)
 		Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 	}
 }
@@ -58750,7 +58744,7 @@ __2:
 	if !(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_SELECT && (*IdList)(unsafe.Pointer(pColumns)).FnId != libc.AssignInt32(&n, Xsqlite3ExprVectorSize(tls, pExpr))) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7652,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7641,
 		libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n))
 	goto vector_append_error
 __3:
@@ -58873,7 +58867,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr,
 	var mx int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 116 + 2*4))
 
 	if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7682, libc.VaList(bp, zObject))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7671, libc.VaList(bp, zObject))
 	}
 }
 
@@ -58929,10 +58923,10 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int
 //	  "false"                        EP_IsFalse
 //	  anything else                  0
 func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 {
-	if Xsqlite3StrICmp(tls, zIn, ts+6764) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7694) == 0 {
 		return U32(EP_IsTrue)
 	}
-	if Xsqlite3StrICmp(tls, zIn, ts+6769) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7699) == 0 {
 		return U32(EP_IsFalse)
 	}
 	return U32(0)
@@ -60006,7 +60000,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 {
 	}
 	if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
-		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7530)
+		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7519)
 		if pLimit != 0 {
 			(*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC)
 			pLimit = Xsqlite3PExpr(tls, pParse, TK_NE,
@@ -60444,6 +60438,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr
 func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) {
 	var iAddr int32
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
+	var nErr int32 = (*Parse)(unsafe.Pointer(pParse)).FnErr
 
 	if (*Parse)(unsafe.Pointer(pParse)).FiSelfTab > 0 {
 		iAddr = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Parse)(unsafe.Pointer(pParse)).FiSelfTab-1, 0, regOut)
@@ -60457,6 +60452,9 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr
 	if iAddr != 0 {
 		Xsqlite3VdbeJumpHere(tls, v, iAddr)
 	}
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr > nErr {
+		(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FerrByteOffset = -1
+	}
 }
 
 // Generate code to extract the value of the iCol-th column of a table.
@@ -60675,6 +60673,7 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 	var p uintptr
 	var v uintptr
 	for p = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr; p != 0; p = (*IndexedExpr)(unsafe.Pointer(p)).FpIENext {
+		var exprAff U8
 		var iDataCur int32 = (*IndexedExpr)(unsafe.Pointer(p)).FiDataCur
 		if iDataCur < 0 {
 			continue
@@ -60688,6 +60687,14 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 		if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IndexedExpr)(unsafe.Pointer(p)).FpExpr, iDataCur) != 0 {
 			continue
 		}
+
+		exprAff = U8(Xsqlite3ExprAffinity(tls, pExpr))
+		if int32(exprAff) <= SQLITE_AFF_BLOB && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_BLOB ||
+			int32(exprAff) == SQLITE_AFF_TEXT && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_TEXT ||
+			int32(exprAff) >= SQLITE_AFF_NUMERIC && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_NUMERIC {
+			continue
+		}
+
 		v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 
 		if (*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow != 0 {
@@ -61461,7 +61468,7 @@ __121:
 	if !((*Expr)(unsafe.Pointer(pExpr)).FiTable != n1) {
 		goto __122
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7652,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7641,
 		libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1))
 __122:
 	;
@@ -61483,11 +61490,10 @@ __49:
 	return target
 
 __50:
-	if !(!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) &&
-		(*Expr)(unsafe.Pointer(pExpr)).FpLeft != 0 &&
-		int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_FUNCTION) {
+	if !!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) {
 		goto __123
 	}
+
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	if !(inReg != target) {
 		goto __125
@@ -61558,13 +61564,19 @@ __129:
 	;
 __127:
 	;
-	addrINR = Xsqlite3VdbeAddOp1(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable)
+	addrINR = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable, 0, target)
 
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = U8(0)
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = okConstFactor
+	if !(inReg != target) {
+		goto __130
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, inReg, target)
+	inReg = target
+__130:
+	;
 	Xsqlite3VdbeJumpHere(tls, v, addrINR)
-	Xsqlite3VdbeChangeP3(tls, v, addrINR, inReg)
 	goto __5
 
 __56:
@@ -61577,15 +61589,15 @@ __56:
 	nExpr = (*ExprList)(unsafe.Pointer(pEList)).FnExpr
 	endLabel = Xsqlite3VdbeMakeLabel(tls, pParse)
 	if !(libc.AssignUintptr(&pX, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) != uintptr(0)) {
-		goto __130
+		goto __131
 	}
 	pDel = Xsqlite3ExprDup(tls, db1, pX, 0)
 	if !((*Sqlite3)(unsafe.Pointer(db1)).FmallocFailed != 0) {
-		goto __131
+		goto __132
 	}
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	goto __5
-__131:
+__132:
 	;
 	exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+40))
 
@@ -61595,22 +61607,22 @@ __131:
 	pTest = bp + 100
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = 0
-__130:
+__131:
 	;
 	i1 = 0
-__132:
+__133:
 	if !(i1 < nExpr-1) {
-		goto __134
+		goto __135
 	}
 	if !(pX != 0) {
-		goto __135
+		goto __136
 	}
 
 	(*Expr)(unsafe.Pointer(bp + 100)).FpRight = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*20)).FpExpr
-	goto __136
-__135:
-	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*20)).FpExpr
+	goto __137
 __136:
+	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*20)).FpExpr
+__137:
 	;
 	nextCase = Xsqlite3VdbeMakeLabel(tls, pParse)
 
@@ -61619,21 +61631,21 @@ __136:
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(aListelem+uintptr(i1+1)*20)).FpExpr, target)
 	Xsqlite3VdbeGoto(tls, v, endLabel)
 	Xsqlite3VdbeResolveLabel(tls, v, nextCase)
-	goto __133
-__133:
-	i1 = i1 + 2
-	goto __132
 	goto __134
 __134:
+	i1 = i1 + 2
+	goto __133
+	goto __135
+__135:
 	;
 	if !(nExpr&1 != 0) {
-		goto __137
+		goto __138
 	}
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(pEList+8+uintptr(nExpr-1)*20)).FpExpr, target)
-	goto __138
-__137:
-	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+	goto __139
 __138:
+	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+__139:
 	;
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	setDoNotMergeFlagOnCopy(tls, v)
@@ -61643,27 +61655,27 @@ __138:
 __57:
 	;
 	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).FpTriggerTab) != 0) && !(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0)) {
-		goto __139
+		goto __140
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
 		ts+8082, 0)
 	return 0
-__139:
-	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
-		goto __140
-	}
-	Xsqlite3MayAbort(tls, pParse)
 __140:
 	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
 		goto __141
 	}
+	Xsqlite3MayAbort(tls, pParse)
+__141:
+	;
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+		goto __142
+	}
 	Xsqlite3VdbeAddOp4(tls,
 		v, OP_Halt, SQLITE_OK, OE_Ignore, 0, *(*uintptr)(unsafe.Pointer(pExpr + 8)), 0)
 
-	goto __142
-__141:
+	goto __143
+__142:
 	Xsqlite3HaltConstraint(tls, pParse,
 		func() int32 {
 			if (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab != 0 {
@@ -61672,7 +61684,7 @@ __141:
 			return SQLITE_ERROR
 		}(),
 		int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr), *(*uintptr)(unsafe.Pointer(pExpr + 8)), int8(0), uint8(0))
-__142:
+__143:
 	;
 	goto __5
 
@@ -64340,7 +64352,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 		return SQLITE_NOMEM
 	}
 	if Xsqlite3_strnicmp(tls, zSql, ts+10922, 7) != 0 {
-		return Xsqlite3CorruptError(tls, 113494)
+		return Xsqlite3CorruptError(tls, 113516)
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 {
 		if bTemp != 0 {
@@ -64357,7 +64369,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 	}
 	if rc == SQLITE_OK &&
 		((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
-		rc = Xsqlite3CorruptError(tls, 113505)
+		rc = Xsqlite3CorruptError(tls, 113527)
 	}
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
@@ -65278,7 +65290,7 @@ __1:
 		goto __2
 	}
 
-	rc = Xsqlite3CorruptError(tls, 114441)
+	rc = Xsqlite3CorruptError(tls, 114463)
 	goto drop_column_done
 __2:
 	;
@@ -69641,6 +69653,12 @@ __10:
 
 	pExpr = Xsqlite3PExpr(tls, pParse, TK_UPLUS, pExpr, uintptr(0))
 __11:
+	;
+	if !(pExpr != 0 && int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_RAISE) {
+		goto __12
+	}
+	(*Expr)(unsafe.Pointer(pExpr)).FaffExpr = (*Column)(unsafe.Pointer(pCol)).Faffinity
+__12:
 	;
 	Xsqlite3ColumnSetExpr(tls, pParse, pTab, pCol, pExpr)
 	pExpr = uintptr(0)
@@ -70806,7 +70824,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 {
 		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3286, 4) == 0 {
 			return 0
 		}
-		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7133, 10) == 0 {
+		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7122, 10) == 0 {
 			return 0
 		}
 		return 1
@@ -72052,7 +72070,7 @@ __81:
 		goto __101
 	}
 	Xsqlite3ErrorMsg(tls, pParse, ts+14140, 0)
-	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121835)
+	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121859)
 	goto exit_create_index
 __101:
 	;
@@ -74097,7 +74115,7 @@ __20:
 	goto __16
 __15:
 	wcf = U16(WHERE_ONEPASS_DESIRED | WHERE_DUPLICATES_OK)
-	if !((*NameContext)(unsafe.Pointer(bp+8)).FncFlags&NC_VarSelect != 0) {
+	if !((*NameContext)(unsafe.Pointer(bp+8)).FncFlags&NC_Subquery != 0) {
 		goto __23
 	}
 	bComplex = 1
@@ -80564,7 +80582,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca
 	if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) {
 		goto __1
 	}
-	return Xsqlite3MisuseError(tls, 131895)
+	return Xsqlite3MisuseError(tls, 131931)
 __1:
 	;
 	if !(zSql == uintptr(0)) {
@@ -81961,7 +81979,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh
 		} else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) {
 			zType = ts + 17513
 		} else {
-			zType = ts + 7528
+			zType = ts + 7517
 		}
 		Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17515,
 			libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin,
@@ -82122,6 +82140,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p
 	var zErr2 uintptr
 	var k3 int32
 	var pCheck uintptr
+	var jmp7 int32
 	var jmp6 int32
 	var iCol1 int32
 	var uniqOk int32
@@ -83440,7 +83459,7 @@ __215:
 		goto __217
 	}
 	pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7528, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7517, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
 	goto __216
 __216:
 	j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext
@@ -83456,7 +83475,7 @@ __218:
 	if !(i6 < int32(uint32(unsafe.Sizeof(aPragmaName))/uint32(unsafe.Sizeof(PragmaName{})))) {
 		goto __220
 	}
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7528, libc.VaList(bp+272, aPragmaName[i6].FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7517, libc.VaList(bp+272, aPragmaName[i6].FzName))
 	goto __219
 __219:
 	i6++
@@ -84261,80 +84280,94 @@ __344:
 	jmp4 = integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, jmp21)
 
+	if !((*Table)(unsafe.Pointer(pTab9)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) {
+		goto __345
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_IdxRowid, *(*int32)(unsafe.Pointer(bp + 568))+j4, 3)
+	jmp7 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 3, 0, r1+int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)-1)
+
+	Xsqlite3VdbeLoadString(tls, v, 3,
+		ts+17929)
+	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17965)
+	Xsqlite3VdbeGoto(tls, v, jmp5-1)
+	Xsqlite3VdbeJumpHere(tls, v, jmp7)
+__345:
+	;
 	label6 = 0
 	kk = 0
-__345:
+__346:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __347
-	}
-	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*4)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __348
 	}
-	goto __346
-__348:
-	;
-	if !(label6 == 0) {
+	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*4)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __349
 	}
-	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+	goto __347
 __349:
+	;
+	if !(label6 == 0) {
+		goto __350
+	}
+	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+__350:
 	;
 	Xsqlite3VdbeAddOp3(tls, v, OP_Column, *(*int32)(unsafe.Pointer(bp + 568))+j4, kk, 3)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Ne, 3, label6, r1+kk)
-	goto __346
-__346:
-	kk++
-	goto __345
 	goto __347
 __347:
+	kk++
+	goto __346
+	goto __348
+__348:
 	;
 	if !(label6 != 0) {
-		goto __350
+		goto __351
 	}
 	jmp6 = Xsqlite3VdbeAddOp0(tls, v, OP_Goto)
 	Xsqlite3VdbeResolveLabel(tls, v, label6)
 	Xsqlite3VdbeLoadString(tls, v, 3, ts+17903)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
-	Xsqlite3VdbeLoadString(tls, v, 4, ts+17929)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17976)
 	Xsqlite3VdbeGoto(tls, v, jmp5-1)
 	Xsqlite3VdbeJumpHere(tls, v, jmp6)
-__350:
+__351:
 	;
 	if !(int32((*Index)(unsafe.Pointer(pIdx5)).FonError) != OE_None) {
-		goto __351
+		goto __352
 	}
 	uniqOk = Xsqlite3VdbeMakeLabel(tls, pParse)
 	kk = 0
-__352:
+__353:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __354
+		goto __355
 	}
 	iCol1 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2)))
 
 	if !(iCol1 >= 0 && uint32(int32(*(*uint8)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*16 + 4))&0xf>>0)) != 0) {
-		goto __355
+		goto __356
 	}
-	goto __353
-__355:
+	goto __354
+__356:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_IsNull, r1+kk, uniqOk)
 
-	goto __353
-__353:
-	kk++
-	goto __352
 	goto __354
 __354:
+	kk++
+	goto __353
+	goto __355
+__355:
 	;
 	jmp61 = Xsqlite3VdbeAddOp1(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 568))+j4)
 	Xsqlite3VdbeGoto(tls, v, uniqOk)
 	Xsqlite3VdbeJumpHere(tls, v, jmp61)
 	Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, *(*int32)(unsafe.Pointer(bp + 568))+j4, uniqOk, r1,
 		int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol))
-	Xsqlite3VdbeLoadString(tls, v, 3, ts+17956)
+	Xsqlite3VdbeLoadString(tls, v, 3, ts+18003)
 	Xsqlite3VdbeGoto(tls, v, jmp5)
 	Xsqlite3VdbeResolveLabel(tls, v, uniqOk)
-__351:
+__352:
 	;
 	Xsqlite3VdbeJumpHere(tls, v, jmp4)
 	Xsqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 576)))
@@ -84351,20 +84384,20 @@ __340:
 	Xsqlite3VdbeAddOp2(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 564)), loopTop)
 	Xsqlite3VdbeJumpHere(tls, v, loopTop-1)
 	if !!(isQuick != 0) {
-		goto __356
+		goto __357
 	}
-	Xsqlite3VdbeLoadString(tls, v, 2, ts+17983)
+	Xsqlite3VdbeLoadString(tls, v, 2, ts+18030)
 	j4 = 0
 	pIdx5 = (*Table)(unsafe.Pointer(pTab9)).FpIndex
-__357:
+__358:
 	if !(pIdx5 != 0) {
-		goto __359
-	}
-	if !(pPk1 == pIdx5) {
 		goto __360
 	}
-	goto __358
-__360:
+	if !(pPk1 == pIdx5) {
+		goto __361
+	}
+	goto __359
+__361:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_Count, *(*int32)(unsafe.Pointer(bp + 568))+j4, 3)
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 8+j4, 0, 3)
@@ -84373,21 +84406,21 @@ __360:
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 2, 3)
 	integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
-	goto __358
-__358:
-	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
-	j4++
-	goto __357
 	goto __359
 __359:
+	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
+	j4++
+	goto __358
+	goto __360
+__360:
 	;
 	if !(pPk1 != 0) {
-		goto __361
+		goto __362
 	}
 	Xsqlite3ReleaseTempRange(tls, pParse, r2, int32((*Index)(unsafe.Pointer(pPk1)).FnKeyCol))
-__361:
+__362:
 	;
-__356:
+__357:
 	;
 	goto __291
 __291:
@@ -84405,14 +84438,14 @@ __266:
 	;
 	aOp2 = Xsqlite3VdbeAddOpList(tls, v, int32(uint32(unsafe.Sizeof(endCode))/uint32(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&endCode)), iLn5)
 	if !(aOp2 != 0) {
-		goto __362
+		goto __363
 	}
 	(*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = 1 - *(*int32)(unsafe.Pointer(bp + 560))
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 2*20)).Fp4type = int8(-1)
-	*(*uintptr)(unsafe.Pointer(aOp2 + 2*20 + 16)) = ts + 18012
+	*(*uintptr)(unsafe.Pointer(aOp2 + 2*20 + 16)) = ts + 18059
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 5*20)).Fp4type = int8(-1)
 	*(*uintptr)(unsafe.Pointer(aOp2 + 5*20 + 16)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT)
-__362:
+__363:
 	;
 	Xsqlite3VdbeChangeP3(tls, v, 0, Xsqlite3VdbeCurrentAddr(tls, v)-2)
 
@@ -84420,27 +84453,27 @@ __362:
 
 __45:
 	if !!(zRight != 0) {
-		goto __363
+		goto __364
 	}
 	if !(Xsqlite3ReadSchema(tls, pParse) != 0) {
-		goto __365
-	}
-	goto pragma_out
-__365:
-	;
-	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
-	goto __364
-__363:
-	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
 		goto __366
 	}
+	goto pragma_out
+__366:
+	;
+	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
+	goto __365
+__364:
+	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
+		goto __367
+	}
 	pEnc = uintptr(unsafe.Pointer(&encnames1))
-__367:
+__368:
 	if !((*EncName)(unsafe.Pointer(pEnc)).FzName != 0) {
-		goto __369
+		goto __370
 	}
 	if !(0 == Xsqlite3StrICmp(tls, zRight, (*EncName)(unsafe.Pointer(pEnc)).FzName)) {
-		goto __370
+		goto __371
 	}
 	if (*EncName)(unsafe.Pointer(pEnc)).Fenc != 0 {
 		enc = (*EncName)(unsafe.Pointer(pEnc)).Fenc
@@ -84449,25 +84482,25 @@ __367:
 	}
 	(*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema)).Fenc = enc
 	Xsqlite3SetTextEncoding(tls, db, enc)
-	goto __369
-__370:
-	;
-	goto __368
-__368:
-	pEnc += 8
-	goto __367
-	goto __369
-__369:
-	;
-	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
-		goto __371
-	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18015, libc.VaList(bp+456, zRight))
+	goto __370
 __371:
 	;
-__366:
+	goto __369
+__369:
+	pEnc += 8
+	goto __368
+	goto __370
+__370:
 	;
-__364:
+	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
+		goto __372
+	}
+	Xsqlite3ErrorMsg(tls, pParse, ts+18062, libc.VaList(bp+456, zRight))
+__372:
+	;
+__367:
+	;
+__365:
 	;
 	goto __15
 
@@ -84475,15 +84508,15 @@ __46:
 	iCookie = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiArg)
 	Xsqlite3VdbeUsesBtree(tls, v, iDb)
 	if !(zRight != 0 && int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_ReadOnly == 0) {
-		goto __372
+		goto __373
 	}
 
 	aOp3 = Xsqlite3VdbeAddOpList(tls, v, int32(uint32(unsafe.Sizeof(setCookie))/uint32(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&setCookie)), 0)
 	if !(0 != 0) {
-		goto __374
+		goto __375
 	}
 	goto __15
-__374:
+__375:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp3)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*20)).Fp1 = iDb
@@ -84491,41 +84524,41 @@ __374:
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*20)).Fp3 = Xsqlite3Atoi(tls, zRight)
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*20)).Fp5 = U16(1)
 	if !(iCookie == BTREE_SCHEMA_VERSION && (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0)) {
-		goto __375
+		goto __376
 	}
 
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*20)).Fopcode = U8(OP_Noop)
-__375:
+__376:
 	;
-	goto __373
-__372:
+	goto __374
+__373:
 	;
 	aOp4 = Xsqlite3VdbeAddOpList(tls, v, int32(uint32(unsafe.Sizeof(readCookie))/uint32(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&readCookie)), 0)
 	if !(0 != 0) {
-		goto __376
+		goto __377
 	}
 	goto __15
-__376:
+__377:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp4)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*20)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*20)).Fp3 = iCookie
 	Xsqlite3VdbeReusable(tls, v)
-__373:
+__374:
 	;
 	goto __15
 
 __47:
 	i10 = 0
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 1
-__377:
+__378:
 	if !(libc.AssignUintptr(&zOpt, Xsqlite3_compileoption_get(tls, libc.PostIncInt32(&i10, 1))) != uintptr(0)) {
-		goto __378
+		goto __379
 	}
 	Xsqlite3VdbeLoadString(tls, v, 1, zOpt)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1)
-	goto __377
-__378:
+	goto __378
+__379:
 	;
 	Xsqlite3VdbeReusable(tls, v)
 
@@ -84540,31 +84573,31 @@ __48:
 	}()
 	eMode2 = SQLITE_CHECKPOINT_PASSIVE
 	if !(zRight != 0) {
-		goto __379
-	}
-	if !(Xsqlite3StrICmp(tls, zRight, ts+17345) == 0) {
 		goto __380
 	}
+	if !(Xsqlite3StrICmp(tls, zRight, ts+17345) == 0) {
+		goto __381
+	}
 	eMode2 = SQLITE_CHECKPOINT_FULL
-	goto __381
-__380:
-	if !(Xsqlite3StrICmp(tls, zRight, ts+18040) == 0) {
-		goto __382
+	goto __382
+__381:
+	if !(Xsqlite3StrICmp(tls, zRight, ts+18087) == 0) {
+		goto __383
 	}
 	eMode2 = SQLITE_CHECKPOINT_RESTART
-	goto __383
-__382:
+	goto __384
+__383:
 	if !(Xsqlite3StrICmp(tls, zRight, ts+17498) == 0) {
-		goto __384
+		goto __385
 	}
 	eMode2 = SQLITE_CHECKPOINT_TRUNCATE
+__385:
+	;
 __384:
 	;
-__383:
+__382:
 	;
-__381:
-	;
-__379:
+__380:
 	;
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 3
 	Xsqlite3VdbeAddOp3(tls, v, OP_Checkpoint, iBt, eMode2, 1)
@@ -84574,10 +84607,10 @@ __379:
 
 __49:
 	if !(zRight != 0) {
-		goto __385
+		goto __386
 	}
 	Xsqlite3_wal_autocheckpoint(tls, db, Xsqlite3Atoi(tls, zRight))
-__385:
+__386:
 	;
 	returnSingleInt(tls, v,
 		func() int64 {
@@ -84597,19 +84630,19 @@ __50:
 
 __51:
 	if !(zRight != 0) {
-		goto __386
+		goto __387
 	}
 	opMask = U32(Xsqlite3Atoi(tls, zRight))
 	if !(opMask&U32(0x02) == U32(0)) {
-		goto __388
+		goto __389
 	}
 	goto __15
-__388:
+__389:
 	;
-	goto __387
-__386:
-	opMask = U32(0xfffe)
+	goto __388
 __387:
+	opMask = U32(0xfffe)
+__388:
 	;
 	iTabCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1)
 	iDbLast = func() int32 {
@@ -84618,86 +84651,86 @@ __387:
 		}
 		return (*Sqlite3)(unsafe.Pointer(db)).FnDb - 1
 	}()
-__389:
+__390:
 	if !(iDb <= iDbLast) {
-		goto __391
-	}
-	if !(iDb == 1) {
 		goto __392
 	}
-	goto __390
-__392:
+	if !(iDb == 1) {
+		goto __393
+	}
+	goto __391
+__393:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
 	pSchema = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FpSchema
 	k4 = (*Hash)(unsafe.Pointer(pSchema + 8)).Ffirst
-__393:
+__394:
 	if !(k4 != 0) {
-		goto __395
+		goto __396
 	}
 	pTab10 = (*HashElem)(unsafe.Pointer(k4)).Fdata
 
 	if !((*Table)(unsafe.Pointer(pTab10)).FtabFlags&U32(TF_StatsUsed) == U32(0)) {
-		goto __396
+		goto __397
 	}
-	goto __394
-__396:
+	goto __395
+__397:
 	;
 	szThreshold = LogEst(int32((*Table)(unsafe.Pointer(pTab10)).FnRowLogEst) + 46)
 	pIdx6 = (*Table)(unsafe.Pointer(pTab10)).FpIndex
-__397:
+__398:
 	if !(pIdx6 != 0) {
-		goto __399
-	}
-	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 56))&0x80>>7) != 0) {
 		goto __400
 	}
+	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 56))&0x80>>7) != 0) {
+		goto __401
+	}
 	szThreshold = int16(0)
-	goto __399
-__400:
+	goto __400
+__401:
 	;
-	goto __398
-__398:
-	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
-	goto __397
 	goto __399
 __399:
+	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
+	goto __398
+	goto __400
+__400:
 	;
 	if !(szThreshold != 0) {
-		goto __401
+		goto __402
 	}
 	Xsqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab10, OP_OpenRead)
 	Xsqlite3VdbeAddOp3(tls, v, OP_IfSmaller, iTabCur,
 		int32(U32(Xsqlite3VdbeCurrentAddr(tls, v)+2)+opMask&U32(1)), int32(szThreshold))
 
-__401:
+__402:
 	;
-	zSubSql = Xsqlite3MPrintf(tls, db, ts+18048,
+	zSubSql = Xsqlite3MPrintf(tls, db, ts+18095,
 		libc.VaList(bp+464, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, (*Table)(unsafe.Pointer(pTab10)).FzName))
 	if !(opMask&U32(0x01) != 0) {
-		goto __402
+		goto __403
 	}
 	r11 = Xsqlite3GetTempReg(tls, pParse)
 	Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, r11, 0, zSubSql, -6)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, r11, 1)
-	goto __403
-__402:
-	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+	goto __404
 __403:
+	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+__404:
 	;
-	goto __394
-__394:
-	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
-	goto __393
 	goto __395
 __395:
+	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
+	goto __394
+	goto __396
+__396:
 	;
-	goto __390
-__390:
-	iDb++
-	goto __389
 	goto __391
 __391:
+	iDb++
+	goto __390
+	goto __392
+__392:
 	;
 	Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
 	goto __15
@@ -84705,36 +84738,36 @@ __391:
 __52:
 	;
 	if !(zRight != 0) {
-		goto __404
+		goto __405
 	}
 	Xsqlite3_busy_timeout(tls, db, Xsqlite3Atoi(tls, zRight))
-__404:
+__405:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout))
 	goto __15
 
 __53:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+580) == SQLITE_OK) {
-		goto __405
+		goto __406
 	}
 	Xsqlite3_soft_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 580)))
-__405:
+__406:
 	;
 	returnSingleInt(tls, v, Xsqlite3_soft_heap_limit64(tls, int64(-1)))
 	goto __15
 
 __54:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+588) == SQLITE_OK) {
-		goto __406
+		goto __407
 	}
 	iPrior = Xsqlite3_hard_heap_limit64(tls, int64(-1))
 	if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 588)) > int64(0) && (iPrior == int64(0) || iPrior > *(*Sqlite3_int64)(unsafe.Pointer(bp + 588)))) {
-		goto __407
+		goto __408
 	}
 	Xsqlite3_hard_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 588)))
-__407:
+__408:
 	;
-__406:
+__407:
 	;
 	returnSingleInt(tls, v, Xsqlite3_hard_heap_limit64(tls, int64(-1)))
 	goto __15
@@ -84743,10 +84776,10 @@ __55:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+596) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 596)) >= int64(0)) {
-		goto __408
+		goto __409
 	}
 	Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 596))&int64(0x7fffffff)))
-__408:
+__409:
 	;
 	returnSingleInt(tls, v, int64(Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, -1)))
 	goto __15
@@ -84755,10 +84788,10 @@ __56:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+604) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 604)) >= int64(0)) {
-		goto __409
+		goto __410
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 604)) & int64(0x7fffffff))
-__409:
+__410:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit))
 	goto __15
@@ -84766,10 +84799,10 @@ __409:
 __15:
 	;
 	if !(int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_NoColumns1 != 0 && zRight != 0) {
-		goto __410
+		goto __411
 	}
 
-__410:
+__411:
 	;
 pragma_out:
 	Xsqlite3DbFree(tls, db, zLeft)
@@ -84821,14 +84854,14 @@ var endCode = [7]VdbeOpList{
 	{Fopcode: U8(OP_Goto), Fp2: int8(3)},
 }
 var encnames1 = [9]EncName{
-	{FzName: ts + 18066, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18071, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18077, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18086, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18095, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18103, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18111},
-	{FzName: ts + 18118},
+	{FzName: ts + 18113, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18118, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18124, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18133, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18142, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18150, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18158},
+	{FzName: ts + 18165},
 	{},
 }
 var setCookie = [2]VdbeOpList{
@@ -84880,7 +84913,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	_ = argc
 	_ = argv
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), bp+56, int32(unsafe.Sizeof([200]int8{})), 0)
-	Xsqlite3_str_appendall(tls, bp+32, ts+18124)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18171)
 	i = 0
 	j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName)
 __1:
@@ -84888,7 +84921,7 @@ __1:
 		goto __3
 	}
 	{
-		Xsqlite3_str_appendf(tls, bp+32, ts+18139, libc.VaList(bp, int32(cSep), pragCName[j]))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18186, libc.VaList(bp, int32(cSep), pragCName[j]))
 		cSep = int8(',')
 
 	}
@@ -84901,16 +84934,16 @@ __2:
 __3:
 	;
 	if i == 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18146, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18193, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
 		i++
 	}
 	j = 0
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_Result1 != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18152)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18199)
 		j++
 	}
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(PragFlg_SchemaOpt|PragFlg_SchemaReq) != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18164)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18211)
 		j++
 	}
 	Xsqlite3_str_append(tls, bp+32, ts+4957, 1)
@@ -85093,13 +85126,13 @@ __2:
 __3:
 	;
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 116 + 1*4)))
-	Xsqlite3_str_appendall(tls, bp+32, ts+18179)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18226)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 16 + 1*4)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18187, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 16 + 1*4))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18234, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 16 + 1*4))))
 	}
 	Xsqlite3_str_appendall(tls, bp+32, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 16)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18191, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 16))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18238, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 16))))
 	}
 	zSql = Xsqlite3StrAccumFinish(tls, bp+32)
 	if zSql == uintptr(0) {
@@ -85176,12 +85209,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 	} else if *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) != uintptr(0) {
 	} else if (*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask) != 0 {
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db,
-			ts+18195, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*4)),
+			ts+18242, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*4)),
 				azAlterType[(*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask)-U32(1)],
 				zExtra))
 		(*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR
 	} else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137196)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137249)
 	} else {
 		var z uintptr
 		var zObj uintptr
@@ -85190,19 +85223,19 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 		} else {
 			zObj = ts + 5008
 		}
-		z = Xsqlite3MPrintf(tls, db, ts+18223, libc.VaList(bp+32, zObj))
+		z = Xsqlite3MPrintf(tls, db, ts+18270, libc.VaList(bp+32, zObj))
 		if zExtra != 0 && *(*int8)(unsafe.Pointer(zExtra)) != 0 {
-			z = Xsqlite3MPrintf(tls, db, ts+18254, libc.VaList(bp+40, z, zExtra))
+			z = Xsqlite3MPrintf(tls, db, ts+18301, libc.VaList(bp+40, z, zExtra))
 		}
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137203)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137256)
 	}
 }
 
 var azAlterType = [3]uintptr{
-	ts + 18262,
-	ts + 18269,
-	ts + 18281,
+	ts + 18309,
+	ts + 18316,
+	ts + 18328,
 }
 
 // Check to see if any sibling index (another index on the same table)
@@ -85294,7 +85327,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr
 		var pIndex uintptr
 		pIndex = Xsqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*4)), (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName)
 		if pIndex == uintptr(0) {
-			corruptSchema(tls, pData, argv, ts+18292)
+			corruptSchema(tls, pData, argv, ts+18339)
 		} else if Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4)), pIndex+44) == 0 ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2) ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage ||
@@ -85342,7 +85375,7 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl
 	}())
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 2*4)) = *(*uintptr)(unsafe.Pointer(bp + 16 + 1*4))
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 3*4)) = ts + 7938
-	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*4)) = ts + 18305
+	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*4)) = ts + 18352
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 5*4)) = uintptr(0)
 	(*InitData)(unsafe.Pointer(bp + 40)).Fdb = db
 	(*InitData)(unsafe.Pointer(bp + 40)).FiDb = iDb
@@ -85471,7 +85504,7 @@ __18:
 	if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) {
 		goto __19
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+18377)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+18424)
 	rc = SQLITE_ERROR
 	goto initone_error_out
 __19:
@@ -85485,7 +85518,7 @@ __20:
 	(*InitData)(unsafe.Pointer(bp + 40)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt)
 
 	zSql = Xsqlite3MPrintf(tls, db,
-		ts+18401,
+		ts+18448,
 		libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zSchemaTabName))
 
 	xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth
@@ -85817,7 +85850,7 @@ __4:
 		goto __8
 	}
 	zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*16)).FzDbSName
-	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18435, libc.VaList(bp, zDb))
+	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18482, libc.VaList(bp, zDb))
 
 	goto end_prepare
 __8:
@@ -85847,7 +85880,7 @@ __9:
 	if !(nBytes > mxLen) {
 		goto __12
 	}
-	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18465, 0)
+	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18512, 0)
 	rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG)
 	goto end_prepare
 __12:
@@ -85943,7 +85976,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 137995)
+		return Xsqlite3MisuseError(tls, 138048)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	Xsqlite3BtreeEnterAll(tls, db)
@@ -86042,7 +86075,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 138143)
+		return Xsqlite3MisuseError(tls, 138196)
 	}
 	if nBytes >= 0 {
 		var sz int32
@@ -86369,13 +86402,13 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC
 			zSp2++
 		}
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+18484, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
+			ts+18531, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
 		jointype = JT_INNER
 	}
 	return jointype
 }
 
-var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18514))
+var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18561))
 var aKeyword = [7]struct {
 	Fi     U8
 	FnChar U8
@@ -86550,7 +86583,7 @@ __1:
 			var pUsing uintptr = uintptr(0)
 			if uint32(int32(*(*uint16)(unsafe.Pointer(pRight + 36 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 48)) != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+18548, libc.VaList(bp, 0))
+					ts+18595, libc.VaList(bp, 0))
 				return 1
 			}
 			for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ {
@@ -86595,7 +86628,7 @@ __1:
 					tableAndColumnIndex(tls, pSrc, 0, i, zName, bp+24, bp+28,
 						int32(*(*uint16)(unsafe.Pointer(pRight + 36 + 4))&0x1000>>12)) == 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+18598, libc.VaList(bp+8, zName))
+						ts+18645, libc.VaList(bp+8, zName))
 					return 1
 				}
 				pE1 = Xsqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 28)))
@@ -86606,7 +86639,7 @@ __1:
 						int32(*(*uint16)(unsafe.Pointer(pRight + 36 + 4))&0x1000>>12)) != 0 {
 						if int32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*68 + 36 + 4))&0x400>>10) == 0 ||
 							Xsqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*68 + 48)), zName) < 0 {
-							Xsqlite3ErrorMsg(tls, pParse, ts+18662,
+							Xsqlite3ErrorMsg(tls, pParse, ts+18709,
 								libc.VaList(bp+16, zName))
 							break
 						}
@@ -87234,16 +87267,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr {
 	var z uintptr
 	switch id {
 	case TK_ALL:
-		z = ts + 18699
+		z = ts + 18746
 		break
 	case TK_INTERSECT:
-		z = ts + 18709
+		z = ts + 18756
 		break
 	case TK_EXCEPT:
-		z = ts + 18719
+		z = ts + 18766
 		break
 	default:
-		z = ts + 18726
+		z = ts + 18773
 		break
 	}
 	return z
@@ -87253,7 +87286,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18732, libc.VaList(bp, zUsage))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18779, libc.VaList(bp, zUsage))
 }
 
 func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) {
@@ -87279,9 +87312,9 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n
 	var nRefKey int32 = 0
 	var aOutEx uintptr = (*Select)(unsafe.Pointer(p)).FpEList + 8
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18755, libc.VaList(bp, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18802, libc.VaList(bp, func() uintptr {
 		if (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 {
-			return ts + 18786
+			return ts + 18833
 		}
 		return ts + 1554
 	}()))
@@ -87625,7 +87658,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr)
 		} else {
 			var z uintptr = (*ExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*20)).FzEName
 			if z == uintptr(0) {
-				z = Xsqlite3MPrintf(tls, db, ts+18801, libc.VaList(bp+16, i+1))
+				z = Xsqlite3MPrintf(tls, db, ts+18848, libc.VaList(bp+16, i+1))
 			} else {
 				z = Xsqlite3DbStrDup(tls, db, z)
 			}
@@ -87725,7 +87758,7 @@ __1:
 		if zName != 0 && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) {
 			zName = Xsqlite3DbStrDup(tls, db, zName)
 		} else {
-			zName = Xsqlite3MPrintf(tls, db, ts+18801, libc.VaList(bp, i+1))
+			zName = Xsqlite3MPrintf(tls, db, ts+18848, libc.VaList(bp, i+1))
 		}
 
 		*(*U32)(unsafe.Pointer(bp + 48)) = U32(0)
@@ -87741,7 +87774,7 @@ __1:
 					nName = j
 				}
 			}
-			zName = Xsqlite3MPrintf(tls, db, ts+18810, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 48)), 1)))
+			zName = Xsqlite3MPrintf(tls, db, ts+18857, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 48)), 1)))
 			Xsqlite3ProgressCheck(tls, pParse)
 			if *(*U32)(unsafe.Pointer(bp + 48)) > U32(3) {
 				Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+48)
@@ -87824,8 +87857,6 @@ __1:
 		(*Column)(unsafe.Pointer(pCol)).Faffinity = Xsqlite3ExprAffinity(tls, p)
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) <= SQLITE_AFF_NONE {
 			(*Column)(unsafe.Pointer(pCol)).Faffinity = aff
-		} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
-			(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
 		}
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_TEXT && (*Select)(unsafe.Pointer(pSelect)).FpNext != 0 {
 			var m int32 = 0
@@ -87840,12 +87871,15 @@ __1:
 			} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && m&0x02 != 0 {
 				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_BLOB)
 			}
+			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
+				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
+			}
 		}
 		zType = columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0))
 		if zType == uintptr(0) || int32((*Column)(unsafe.Pointer(pCol)).Faffinity) != int32(Xsqlite3AffinityType(tls, zType, uintptr(0))) {
 			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_NUMERIC ||
 				int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_FLEXNUM {
-				zType = ts + 18818
+				zType = ts + 18865
 			} else {
 				zType = uintptr(0)
 				for j = 1; j < SQLITE_N_STDTYPE; j++ {
@@ -88061,7 +88095,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest
 	if !((*Select)(unsafe.Pointer(p)).FpWin != 0) {
 		goto __1
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18822, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18869, 0)
 	return
 __1:
 	;
@@ -88152,7 +88186,7 @@ __12:
 	if !((*Select)(unsafe.Pointer(pFirstRec)).FselFlags&U32(SF_Aggregate) != 0) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18871, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18918, 0)
 	goto end_of_recursive_query
 __15:
 	;
@@ -88172,7 +88206,7 @@ __14:
 	;
 	pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18913, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18960, 0)
 	rc = Xsqlite3Select(tls, pParse, pSetup, bp)
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = p
 	if !(rc != 0) {
@@ -88209,7 +88243,7 @@ __20:
 	Xsqlite3VdbeResolveLabel(tls, v, addrCont)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18919, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18966, 0)
 	Xsqlite3Select(tls, pParse, p, bp)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup
@@ -88243,11 +88277,11 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 		p = (*Select)(unsafe.Pointer(p)).FpPrior
 		nRow = nRow + bShowAll
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18934, libc.VaList(bp, nRow, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18981, libc.VaList(bp, nRow, func() uintptr {
 		if nRow == 1 {
 			return ts + 1554
 		}
-		return ts + 18957
+		return ts + 19004
 	}()))
 	for p != 0 {
 		selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1)
@@ -88348,8 +88382,8 @@ __6:
 	if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) {
 		goto __8
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18959, 0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18974, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19006, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19021, 0)
 __8:
 	;
 	switch int32((*Select)(unsafe.Pointer(p)).Fop) {
@@ -88396,7 +88430,7 @@ __16:
 	;
 __15:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18699, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18746, 0)
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+16)
 
@@ -88463,7 +88497,7 @@ __23:
 	pLimit = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 48)).FeDest = op
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18993, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19040, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+48)
 
@@ -88525,7 +88559,7 @@ __26:
 	pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 76)).FiSDParm = tab2
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18993, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19040, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+76)
 
@@ -88678,10 +88712,10 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr)
 	defer tls.Free(8)
 
 	if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Values) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19014, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+19061, 0)
 	} else {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+19060,
+			ts+19107,
 			libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 	}
 }
@@ -88935,8 +88969,8 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	(*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0)
 
 	(*Select)(unsafe.Pointer(pPrior)).FpOrderBy = Xsqlite3ExprListDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7234)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7234)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7223)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7223)
 
 	computeLimitRegisters(tls, pParse, p, labelEnd)
 	if (*Select)(unsafe.Pointer(p)).FiLimit != 0 && op == TK_ALL {
@@ -88963,13 +88997,13 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	Xsqlite3SelectDestInit(tls, bp+8, SRT_Coroutine, regAddrA)
 	Xsqlite3SelectDestInit(tls, bp+36, SRT_Coroutine, regAddrB)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19142, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19189, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	addrSelectA = Xsqlite3VdbeCurrentAddr(tls, v) + 1
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA)
 
 	(*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19153, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19200, 0)
 	Xsqlite3Select(tls, pParse, pPrior, bp+8)
 	Xsqlite3VdbeEndCoroutine(tls, v, regAddrA)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
@@ -88981,7 +89015,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset
 	(*Select)(unsafe.Pointer(p)).FiLimit = regLimitB
 	(*Select)(unsafe.Pointer(p)).FiOffset = 0
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19158, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19205, 0)
 	Xsqlite3Select(tls, pParse, p, bp+36)
 	(*Select)(unsafe.Pointer(p)).FiLimit = savedLimit
 	(*Select)(unsafe.Pointer(p)).FiOffset = savedOffset
@@ -89168,7 +89202,8 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr {
 				Xsqlite3VectorErrorMsg(tls, (*SubstContext)(unsafe.Pointer(pSubst)).FpParse, pCopy)
 			} else {
 				var db uintptr = (*Parse)(unsafe.Pointer((*SubstContext)(unsafe.Pointer(pSubst)).FpParse)).Fdb
-				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 && int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN {
+				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 &&
+					(int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN || (*Expr)(unsafe.Pointer(pCopy)).FiTable != (*SubstContext)(unsafe.Pointer(pSubst)).FiNewTable) {
 					libc.Xmemset(tls, bp, 0, uint32(unsafe.Sizeof(Expr{})))
 					(*Expr)(unsafe.Pointer(bp)).Fop = U8(TK_IF_NULL_ROW)
 					(*Expr)(unsafe.Pointer(bp)).FpLeft = pCopy
@@ -90067,7 +90102,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	for pIdx = (*Table)(unsafe.Pointer(pTab)).FpIndex; pIdx != 0 && Xsqlite3StrICmp(tls, (*Index)(unsafe.Pointer(pIdx)).FzName, zIndexedBy) != 0; pIdx = (*Index)(unsafe.Pointer(pIdx)).FpNext {
 	}
 	if !(pIdx != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19164, libc.VaList(bp, zIndexedBy, 0))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19211, libc.VaList(bp, zIndexedBy, 0))
 		(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 		return SQLITE_ERROR
 	}
@@ -90150,7 +90185,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 {
 	defer tls.Free(8)
 
 	if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 36 + 4))&0x4>>2)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19182, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19229, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
 		return 1
 	}
 	return 0
@@ -90279,7 +90314,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		*(*U32)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= U32(SF_CopyCte)
 
 		if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 36 + 4))&0x2>>1)) != 0 {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19205, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 60))))
+			Xsqlite3ErrorMsg(tls, pParse, ts+19252, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 60))))
 			return 2
 		}
 		libc.SetBitFieldPtr16Uint32(pFrom+36+4, uint32(1), 8, 0x100)
@@ -90302,7 +90337,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 					libc.SetBitFieldPtr16Uint32(pItem+36+4, uint32(1), 6, 0x40)
 					if (*Select)(unsafe.Pointer(pRecTerm)).FselFlags&U32(SF_Recursive) != 0 {
 						Xsqlite3ErrorMsg(tls, pParse,
-							ts+19225, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
+							ts+19272, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
 						return 2
 					}
 					*(*U32)(unsafe.Pointer(pRecTerm + 4)) |= U32(SF_Recursive)
@@ -90318,7 +90353,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 			pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior
 		}
 
-		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19268
+		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19315
 		pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith
 		(*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 48))
 		if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
@@ -90344,7 +90379,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		pEList = (*Select)(unsafe.Pointer(pLeft)).FpEList
 		if (*Cte)(unsafe.Pointer(pCte)).FpCols != 0 {
 			if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr != (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19291,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19338,
 					libc.VaList(bp+24, (*Cte)(unsafe.Pointer(pCte)).FzName, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr))
 				(*Parse)(unsafe.Pointer(pParse)).FpWith = pSavedWith
 				return 2
@@ -90355,9 +90390,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		Xsqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+34, pTab+4)
 		if bMayRecursive != 0 {
 			if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19329
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19376
 			} else {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19363
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19410
 			}
 			Xsqlite3WalkSelect(tls, pWalker, pSel)
 		}
@@ -90404,7 +90439,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	if (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 {
 		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3DbStrDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias)
 	} else {
-		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19401, libc.VaList(bp, pFrom))
+		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19448, libc.VaList(bp, pFrom))
 	}
 	for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 {
 		pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior
@@ -90516,7 +90551,7 @@ __1:
 				return WRC_Abort
 			}
 			if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19405,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19452,
 					libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 				(*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0)
 				return WRC_Abort
@@ -90535,7 +90570,7 @@ __1:
 				if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW {
 					if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) &&
 						(*Table)(unsafe.Pointer(pTab)).FpSchema != (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19444,
+						Xsqlite3ErrorMsg(tls, pParse, ts+19491,
 							libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName))
 					}
 					(*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, *(*uintptr)(unsafe.Pointer(pTab + 44)), 0)
@@ -90659,7 +90694,7 @@ __3:
 							if pNew != 0 {
 								var pX uintptr = pNew + 8 + uintptr((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1)*20
 
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19475, libc.VaList(bp+24, zUName))
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19522, libc.VaList(bp+24, zUName))
 								libc.SetBitFieldPtr16Uint32(pX+8+4, uint32(ENAME_TAB), 0, 0x3)
 								libc.SetBitFieldPtr16Uint32(pX+8+4, uint32(1), 7, 0x80)
 							}
@@ -90724,7 +90759,7 @@ __3:
 								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(pNestedFrom+8+uintptr(j)*20)).FzEName)
 
 							} else {
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19480,
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19527,
 									libc.VaList(bp+32, zSchemaName, zTabName, zName))
 
 							}
@@ -90755,9 +90790,9 @@ __3:
 				;
 				if !(tableSeen != 0) {
 					if zTName != 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19489, libc.VaList(bp+72, zTName))
+						Xsqlite3ErrorMsg(tls, pParse, ts+19536, libc.VaList(bp+72, zTName))
 					} else {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19507, 0)
+						Xsqlite3ErrorMsg(tls, pParse, ts+19554, 0)
 					}
 				}
 			}
@@ -90767,7 +90802,7 @@ __3:
 	}
 	if (*Select)(unsafe.Pointer(p)).FpEList != 0 {
 		if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 116 + 2*4)) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19527, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+19574, 0)
 			return WRC_Abort
 		}
 		if elistFlags&U32(EP_HasFunc|EP_Subquery) != U32(0) {
@@ -90905,7 +90940,7 @@ func optimizeAggregateUseOfIndexedExpr(tls *libc.TLS, pParse uintptr, pSelect ui
 	(*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn = (*AggInfo)(unsafe.Pointer(pAggInfo)).FnAccumulator
 	if int32((*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn) > 0 {
 		if (*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn == 0 {
-			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(0)
+			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpGroupBy)).FnExpr)
 		} else {
 			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(int32((*AggInfo_col)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaCol+uintptr((*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn-1)*16)).FiSorterColumn) + 1)
 		}
@@ -90989,13 +91024,13 @@ __1:
 
 			if *(*uintptr)(unsafe.Pointer(pE + 20)) == uintptr(0) || (*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 20)))).FnExpr != 1 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+19558, 0)
+					ts+19605, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1
 			} else {
 				var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 20)), 0, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral,
 					(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -8)
-				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19609, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
+				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19656, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
 			}
 		}
 
@@ -91184,11 +91219,11 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt
 
 	if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 {
 		var bCover int32 = libc.Bool32(pIdx != uintptr(0) && ((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0) || !(int32(*(*uint16)(unsafe.Pointer(pIdx + 56))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY)))
-		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19642,
+		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19689,
 			libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName,
 				func() uintptr {
 					if bCover != 0 {
-						return ts + 19654
+						return ts + 19701
 					}
 					return ts + 1554
 				}(),
@@ -91516,7 +91551,7 @@ __5:
 		goto __7
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+19677,
+		ts+19724,
 		libc.VaList(bp, func() uintptr {
 			if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 {
 				return (*SrcItem)(unsafe.Pointer(p0)).FzAlias
@@ -91577,7 +91612,7 @@ __14:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19731,
+	Xsqlite3ErrorMsg(tls, pParse, ts+19778,
 		libc.VaList(bp+8, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr))
 	goto select_end
 __15:
@@ -91719,7 +91754,7 @@ __33:
 
 	(*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop
 	Xsqlite3SelectDestInit(tls, bp+88, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19771, libc.VaList(bp+32, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19818, libc.VaList(bp+32, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+88)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	libc.SetBitFieldPtr16Uint32(pItem1+36+4, uint32(1), 5, 0x20)
@@ -91778,7 +91813,7 @@ __43:
 	;
 	Xsqlite3SelectDestInit(tls, bp+88, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19786, libc.VaList(bp+40, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19833, libc.VaList(bp+40, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+88)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	if !(onceAddr != 0) {
@@ -92249,9 +92284,9 @@ __101:
 	explainTempTable(tls, pParse,
 		func() uintptr {
 			if (*DistinctCtx)(unsafe.Pointer(bp+116)).FisTnct != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct) == U32(0) {
-				return ts + 19802
+				return ts + 19849
 			}
-			return ts + 19811
+			return ts + 19858
 		}())
 
 	groupBySort = 1
@@ -92602,7 +92637,7 @@ __65:
 	if !(int32((*DistinctCtx)(unsafe.Pointer(bp+116)).FeTnctType) == WHERE_DISTINCT_UNORDERED) {
 		goto __146
 	}
-	explainTempTable(tls, pParse, ts+19802)
+	explainTempTable(tls, pParse, ts+19849)
 __146:
 	;
 	if !((*SortCtx)(unsafe.Pointer(bp+48)).FpOrderBy != 0) {
@@ -92706,7 +92741,7 @@ __5:
 	}
 	Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg)
 	(*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+19820, 0)
+		ts+19867, 0)
 	(*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 	return 1
 __11:
@@ -92939,7 +92974,7 @@ func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2
 	if !((*Token)(unsafe.Pointer(pName2)).Fn > uint32(0)) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19885, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19932, 0)
 	goto trigger_cleanup
 __3:
 	;
@@ -92983,7 +93018,7 @@ __7:
 	goto trigger_cleanup
 __8:
 	;
-	Xsqlite3FixInit(tls, bp+36, pParse, iDb, ts+19931, *(*uintptr)(unsafe.Pointer(bp + 32)))
+	Xsqlite3FixInit(tls, bp+36, pParse, iDb, ts+19978, *(*uintptr)(unsafe.Pointer(bp + 32)))
 	if !(Xsqlite3FixSrcList(tls, bp+36, pTableName) != 0) {
 		goto __9
 	}
@@ -93001,7 +93036,7 @@ __10:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB) {
 		goto __11
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19939, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19986, 0)
 	goto trigger_orphan_error
 __11:
 	;
@@ -93013,7 +93048,7 @@ __11:
 	goto trigger_cleanup
 __12:
 	;
-	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19931, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
+	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19978, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
 		goto __13
 	}
 	goto trigger_cleanup
@@ -93028,11 +93063,12 @@ __13:
 	if !!(noErr != 0) {
 		goto __16
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19980, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20027, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
 	goto __17
 __16:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
+
 __17:
 	;
 	goto trigger_cleanup
@@ -93043,19 +93079,19 @@ __14:
 	if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+6381, 7) == 0) {
 		goto __18
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20006, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20053, 0)
 	goto trigger_cleanup
 __18:
 	;
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW && tr_tm != TK_INSTEAD) {
 		goto __19
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20044,
+	Xsqlite3ErrorMsg(tls, pParse, ts+20091,
 		libc.VaList(bp+8, func() uintptr {
 			if tr_tm == TK_BEFORE {
-				return ts + 20081
+				return ts + 20128
 			}
-			return ts + 20088
+			return ts + 20135
 		}(), pTableName+8))
 	goto trigger_orphan_error
 __19:
@@ -93064,7 +93100,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20094, libc.VaList(bp+24, pTableName+8))
+		ts+20141, libc.VaList(bp+24, pTableName+8))
 	goto trigger_orphan_error
 __20:
 	;
@@ -93213,7 +93249,7 @@ __2:
 __3:
 	;
 	Xsqlite3TokenInit(tls, bp+56, (*Trigger)(unsafe.Pointer(pTrig)).FzName)
-	Xsqlite3FixInit(tls, bp+64, pParse, iDb, ts+19931, bp+56)
+	Xsqlite3FixInit(tls, bp+64, pParse, iDb, ts+19978, bp+56)
 	if !(Xsqlite3FixTriggerStep(tls, bp+64, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 ||
 		Xsqlite3FixExpr(tls, bp+64, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0) {
 		goto __4
@@ -93246,7 +93282,7 @@ __9:
 		goto __12
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20140,
+		ts+20187,
 		libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrig)).FzName, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget))
 	goto triggerfinish_cleanup
 __12:
@@ -93271,13 +93307,13 @@ __13:
 	z = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pAll)).Fz, uint64((*Token)(unsafe.Pointer(pAll)).Fn))
 
 	Xsqlite3NestedParse(tls, pParse,
-		ts+20188,
+		ts+20235,
 		libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zName,
 			(*Trigger)(unsafe.Pointer(pTrig)).Ftable, z))
 	Xsqlite3DbFree(tls, db, z)
 	Xsqlite3ChangeCookie(tls, pParse, iDb)
 	Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb,
-		Xsqlite3MPrintf(tls, db, ts+20263, libc.VaList(bp+48, zName)), uint16(0))
+		Xsqlite3MPrintf(tls, db, ts+20310, libc.VaList(bp+48, zName)), uint16(0))
 __7:
 	;
 __6:
@@ -93533,7 +93569,7 @@ __5:
 	if !!(noErr != 0) {
 		goto __9
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20292, libc.VaList(bp, pName+8))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20339, libc.VaList(bp, pName+8))
 	goto __10
 __9:
 	Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb)
@@ -93586,7 +93622,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) {
 
 	if libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse)) != uintptr(0) {
 		Xsqlite3NestedParse(tls, pParse,
-			ts+20312,
+			ts+20359,
 			libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, (*Trigger)(unsafe.Pointer(pTrigger)).FzName))
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 		Xsqlite3VdbeAddOp4(tls, v, OP_DropTrigger, iDb, 0, 0, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, 0)
@@ -93700,12 +93736,12 @@ __9:
 		goto __15
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20374,
+		ts+20421,
 		libc.VaList(bp, func() uintptr {
 			if op == TK_DELETE {
-				return ts + 20422
+				return ts + 20469
 			}
-			return ts + 20429
+			return ts + 20476
 		}()))
 __15:
 	;
@@ -93819,7 +93855,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 {
 	if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK {
 		return 0
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20436, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20483, 0)
 	return 1
 }
 
@@ -93885,7 +93921,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab
 	}
 	Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(bp)).FpEList)
 	pNew = sqlite3ExpandReturning(tls, pParse, (*Returning)(unsafe.Pointer(pReturning)).FpReturnEL, pTab)
-	if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) {
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 {
 		libc.Xmemset(tls, bp+152, 0, uint32(unsafe.Sizeof(NameContext{})))
 		if (*Returning)(unsafe.Pointer(pReturning)).FnRetCol == 0 {
 			(*Returning)(unsafe.Pointer(pReturning)).FnRetCol = (*ExprList)(unsafe.Pointer(pNew)).FnExpr
@@ -94049,7 +94085,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt
 	if v != 0 {
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 {
 			Xsqlite3VdbeChangeP4(tls, v, -1,
-				Xsqlite3MPrintf(tls, db, ts+20478, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
+				Xsqlite3MPrintf(tls, db, ts+20525, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
 		}
 
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FpWhen != 0 {
@@ -94642,7 +94678,7 @@ __25:
 	}
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20492,
+		ts+20539,
 		libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*16)).FzCnName))
 	goto update_cleanup
 __27:
@@ -94674,7 +94710,7 @@ __21:
 	iRowidExpr = i
 	goto __30
 __29:
-	Xsqlite3ErrorMsg(tls, pParse, ts+20528, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*20)).FzEName))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20575, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*20)).FzEName))
 	(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 	goto update_cleanup
 __30:
@@ -95000,7 +95036,12 @@ __74:
 	goto __77
 __76:
 	flags = WHERE_ONEPASS_DESIRED
-	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) && !(pTrigger != 0) && !(hasFK != 0) && !(chngKey != 0) && !(*(*int32)(unsafe.Pointer(bp + 68)) != 0)) {
+	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) &&
+		!(pTrigger != 0) &&
+		!(hasFK != 0) &&
+		!(chngKey != 0) &&
+		!(*(*int32)(unsafe.Pointer(bp + 68)) != 0) &&
+		(*NameContext)(unsafe.Pointer(bp+28)).FncFlags&NC_Subquery == 0) {
 		goto __78
 	}
 	flags = flags | WHERE_ONEPASS_MULTIROW
@@ -95554,7 +95595,7 @@ __168:
 	if !(regRowCount != 0) {
 		goto __169
 	}
-	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20547)
+	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20594)
 __169:
 	;
 update_cleanup:
@@ -95860,10 +95901,10 @@ __1:
 			if nClause == 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) {
 				*(*int8)(unsafe.Pointer(bp + 152)) = int8(0)
 			} else {
-				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+152, ts+20560, libc.VaList(bp, nClause+1))
+				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+152, ts+20607, libc.VaList(bp, nClause+1))
 			}
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+20564, libc.VaList(bp+8, bp+152))
+				ts+20611, libc.VaList(bp+8, bp+152))
 			return SQLITE_ERROR
 		}
 
@@ -95986,7 +96027,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 {
 		var zSubSql uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
 
 		if zSubSql != 0 &&
-			(libc.Xstrncmp(tls, zSubSql, ts+20637, uint32(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20641, uint32(3)) == 0) {
+			(libc.Xstrncmp(tls, zSubSql, ts+20684, uint32(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20688, uint32(3)) == 0) {
 			rc = execSql(tls, db, pzErrMsg, zSubSql)
 			if rc != SQLITE_OK {
 				break
@@ -96134,14 +96175,14 @@ func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p
 	if !!(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) {
 		goto __1
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20645)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20692)
 	return SQLITE_ERROR
 __1:
 	;
 	if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) {
 		goto __2
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20685)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20732)
 	return SQLITE_ERROR
 __2:
 	;
@@ -96152,7 +96193,7 @@ __2:
 	if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) {
 		goto __5
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20728)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20775)
 	return SQLITE_ERROR
 __5:
 	;
@@ -96180,7 +96221,7 @@ __4:
 	isMemDb = Xsqlite3PagerIsMemdb(tls, Xsqlite3BtreePager(tls, pMain))
 
 	nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb
-	rc = execSqlF(tls, db, pzErrMsg, ts+20746, libc.VaList(bp, zOut))
+	rc = execSqlF(tls, db, pzErrMsg, ts+20793, libc.VaList(bp, zOut))
 	(*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags
 	if !(rc != SQLITE_OK) {
 		goto __6
@@ -96200,7 +96241,7 @@ __6:
 		goto __8
 	}
 	rc = SQLITE_ERROR
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20769)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20816)
 	goto end_of_vacuum
 __8:
 	;
@@ -96260,7 +96301,7 @@ __12:
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb)
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20796,
+		ts+20843,
 		libc.VaList(bp+8, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __13
@@ -96269,7 +96310,7 @@ __12:
 __13:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20904,
+		ts+20951,
 		libc.VaList(bp+16, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __14
@@ -96280,7 +96321,7 @@ __14:
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
 
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20958,
+		ts+21005,
 		libc.VaList(bp+24, zDbMain))
 
 	*(*U32)(unsafe.Pointer(db + 24)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))
@@ -96291,7 +96332,7 @@ __14:
 __15:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+21109,
+		ts+21156,
 		libc.VaList(bp+32, zDbMain))
 	if !(rc != 0) {
 		goto __16
@@ -96720,11 +96761,11 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		if pEnd != 0 {
 			(*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32((int32((*Token)(unsafe.Pointer(pEnd)).Fz)-int32((*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz))/1) + (*Token)(unsafe.Pointer(pEnd)).Fn
 		}
-		zStmt = Xsqlite3MPrintf(tls, db, ts+21239, libc.VaList(bp, pParse+196))
+		zStmt = Xsqlite3MPrintf(tls, db, ts+21286, libc.VaList(bp, pParse+196))
 
 		iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema)
 		Xsqlite3NestedParse(tls, pParse,
-			ts+21263,
+			ts+21310,
 			libc.VaList(bp+8, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
@@ -96734,7 +96775,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 
 		Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
-		zWhere = Xsqlite3MPrintf(tls, db, ts+21362, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
+		zWhere = Xsqlite3MPrintf(tls, db, ts+21409, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
 		Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0))
 		Xsqlite3DbFree(tls, db, zStmt)
 
@@ -96795,7 +96836,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	for pCtx = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx; pCtx != 0; pCtx = (*VtabCtx)(unsafe.Pointer(pCtx)).FpPrior {
 		if (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db,
-				ts+21381, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
+				ts+21428, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 			return SQLITE_LOCKED
 		}
 	}
@@ -96823,9 +96864,11 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FbDeclared = 0
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32
+	(*Table)(unsafe.Pointer(pTab)).FnTabRef++
 	rc = (*struct {
 		f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32
 	})(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+8, bp+48)
+	Xsqlite3DeleteTable(tls, db, pTab)
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior
 	if rc == SQLITE_NOMEM {
 		Xsqlite3OomFault(tls, db)
@@ -96833,7 +96876,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 
 	if SQLITE_OK != rc {
 		if *(*uintptr)(unsafe.Pointer(bp + 48)) == uintptr(0) {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21423, libc.VaList(bp+8, zModuleName))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21470, libc.VaList(bp+8, zModuleName))
 		} else {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+3663, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 48))))
 			Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 48)))
@@ -96845,7 +96888,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 		(*Module)(unsafe.Pointer(pMod)).FnRefModule++
 		(*VTable)(unsafe.Pointer(pVTable)).FnRef = 1
 		if (*VtabCtx)(unsafe.Pointer(bp+32)).FbDeclared == 0 {
-			var zFormat uintptr = ts + 21453
+			var zFormat uintptr = ts + 21500
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName))
 			Xsqlite3VtabUnlock(tls, pVTable)
 			rc = SQLITE_ERROR
@@ -96919,7 +96962,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32
 
 	if !(pMod != 0) {
 		var zModule uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pTab + 44 + 4))))
-		Xsqlite3ErrorMsg(tls, pParse, ts+21499, libc.VaList(bp, zModule))
+		Xsqlite3ErrorMsg(tls, pParse, ts+21546, libc.VaList(bp, zModule))
 		rc = SQLITE_ERROR
 	} else {
 		*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
@@ -96977,7 +97020,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr,
 	pMod = Xsqlite3HashFind(tls, db+396, zMod)
 
 	if pMod == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21499, libc.VaList(bp, zMod))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21546, libc.VaList(bp, zMod))
 		rc = SQLITE_ERROR
 	} else {
 		rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr)
@@ -97011,7 +97054,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3
 	if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
 		Xsqlite3Error(tls, db, SQLITE_MISUSE)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
-		return Xsqlite3MisuseError(tls, 151030)
+		return Xsqlite3MisuseError(tls, 151102)
 	}
 	pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab
 
@@ -97464,7 +97507,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	if !(p != 0) {
-		rc = Xsqlite3MisuseError(tls, 151521)
+		rc = Xsqlite3MisuseError(tls, 151593)
 	} else {
 		ap = va
 		switch op {
@@ -97491,7 +97534,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 			fallthrough
 		default:
 			{
-				rc = Xsqlite3MisuseError(tls, 151539)
+				rc = Xsqlite3MisuseError(tls, 151611)
 				break
 
 			}
@@ -97717,7 +97760,7 @@ type InLoop = struct {
 func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr {
 	i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2)))
 	if i == -2 {
-		return ts + 21518
+		return ts + 21565
 	}
 	if i == -1 {
 		return ts + 16267
@@ -97729,11 +97772,11 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	var i int32
 
 	if bAnd != 0 {
-		Xsqlite3_str_append(tls, pStr, ts+21525, 5)
+		Xsqlite3_str_append(tls, pStr, ts+21572, 5)
 	}
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21531, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21578, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97748,7 +97791,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	Xsqlite3_str_append(tls, pStr, zOp, 1)
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21531, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21578, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97774,27 +97817,27 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) {
 	if int32(nEq) == 0 && (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT|WHERE_TOP_LIMIT) == U32(0) {
 		return
 	}
-	Xsqlite3_str_append(tls, pStr, ts+21533, 2)
+	Xsqlite3_str_append(tls, pStr, ts+21580, 2)
 	for i = 0; i < int32(nEq); i++ {
 		var z uintptr = explainIndexColumnName(tls, pIndex, i)
 		if i != 0 {
-			Xsqlite3_str_append(tls, pStr, ts+21525, 5)
+			Xsqlite3_str_append(tls, pStr, ts+21572, 5)
 		}
 		Xsqlite3_str_appendf(tls, pStr, func() uintptr {
 			if i >= int32(nSkip) {
-				return ts + 21536
+				return ts + 21583
 			}
-			return ts + 21541
+			return ts + 21588
 		}(), libc.VaList(bp, z))
 	}
 
 	j = i
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21549)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21596)
 		i = 1
 	}
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_TOP_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21551)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21598)
 	}
 	Xsqlite3_str_append(tls, pStr, ts+4957, 1)
 }
@@ -97837,11 +97880,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 
 		Xsqlite3StrAccumInit(tls, bp+64, db, bp+88, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 		(*StrAccum)(unsafe.Pointer(bp + 64)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-		Xsqlite3_str_appendf(tls, bp+64, ts+21553, libc.VaList(bp, func() uintptr {
+		Xsqlite3_str_appendf(tls, bp+64, ts+21600, libc.VaList(bp, func() uintptr {
 			if isSearch != 0 {
-				return ts + 21559
+				return ts + 21606
 			}
-			return ts + 21566
+			return ts + 21613
 		}(), pItem))
 		if flags&U32(WHERE_IPK|WHERE_VIRTUALTABLE) == U32(0) {
 			var zFmt uintptr = uintptr(0)
@@ -97854,40 +97897,40 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 					zFmt = ts + 10976
 				}
 			} else if flags&U32(WHERE_PARTIALIDX) != 0 {
-				zFmt = ts + 21571
+				zFmt = ts + 21618
 			} else if flags&U32(WHERE_AUTO_INDEX) != 0 {
-				zFmt = ts + 21604
+				zFmt = ts + 21651
 			} else if flags&U32(WHERE_IDX_ONLY) != 0 {
-				zFmt = ts + 21629
+				zFmt = ts + 21676
 			} else {
-				zFmt = ts + 21647
+				zFmt = ts + 21694
 			}
 			if zFmt != 0 {
-				Xsqlite3_str_append(tls, bp+64, ts+21656, 7)
+				Xsqlite3_str_append(tls, bp+64, ts+21703, 7)
 				Xsqlite3_str_appendf(tls, bp+64, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName))
 				explainIndexRange(tls, bp+64, pLoop)
 			}
 		} else if flags&U32(WHERE_IPK) != U32(0) && flags&U32(WHERE_CONSTRAINT) != U32(0) {
 			var cRangeOp int8
 			var zRowid uintptr = ts + 16267
-			Xsqlite3_str_appendf(tls, bp+64, ts+21664, libc.VaList(bp+24, zRowid))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21711, libc.VaList(bp+24, zRowid))
 			if flags&U32(WHERE_COLUMN_EQ|WHERE_COLUMN_IN) != 0 {
 				cRangeOp = int8('=')
 			} else if flags&U32(WHERE_BOTH_LIMIT) == U32(WHERE_BOTH_LIMIT) {
-				Xsqlite3_str_appendf(tls, bp+64, ts+21695, libc.VaList(bp+32, zRowid))
+				Xsqlite3_str_appendf(tls, bp+64, ts+21742, libc.VaList(bp+32, zRowid))
 				cRangeOp = int8('<')
 			} else if flags&U32(WHERE_BTM_LIMIT) != 0 {
 				cRangeOp = int8('>')
 			} else {
 				cRangeOp = int8('<')
 			}
-			Xsqlite3_str_appendf(tls, bp+64, ts+21705, libc.VaList(bp+40, int32(cRangeOp)))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21752, libc.VaList(bp+40, int32(cRangeOp)))
 		} else if flags&U32(WHERE_VIRTUALTABLE) != U32(0) {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21710,
+			Xsqlite3_str_appendf(tls, bp+64, ts+21757,
 				libc.VaList(bp+48, *(*int32)(unsafe.Pointer(pLoop + 24)), *(*uintptr)(unsafe.Pointer(pLoop + 24 + 12))))
 		}
 		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&JT_LEFT != 0 {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21737, 0)
+			Xsqlite3_str_appendf(tls, bp+64, ts+21784, 0)
 		}
 		zMsg = Xsqlite3StrAccumFinish(tls, bp+64)
 
@@ -97919,22 +97962,22 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp
 
 	Xsqlite3StrAccumInit(tls, bp+24, db, bp+48, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 	(*StrAccum)(unsafe.Pointer(bp + 24)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-	Xsqlite3_str_appendf(tls, bp+24, ts+21748, libc.VaList(bp, pItem))
+	Xsqlite3_str_appendf(tls, bp+24, ts+21795, libc.VaList(bp, pItem))
 	pLoop = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_IPK) != 0 {
 		var pTab uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FpTab
 		if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21536, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*16)).FzCnName))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21583, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*16)).FzCnName))
 		} else {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21769, 0)
+			Xsqlite3_str_appendf(tls, bp+24, ts+21816, 0)
 		}
 	} else {
 		for i = int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip); i < int32(*(*U16)(unsafe.Pointer(pLoop + 24))); i++ {
 			var z uintptr = explainIndexColumnName(tls, *(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)), i)
 			if i > int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip) {
-				Xsqlite3_str_append(tls, bp+24, ts+21525, 5)
+				Xsqlite3_str_append(tls, bp+24, ts+21572, 5)
 			}
-			Xsqlite3_str_appendf(tls, bp+24, ts+21536, libc.VaList(bp+16, z))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21583, libc.VaList(bp+16, z))
 		}
 	}
 	Xsqlite3_str_append(tls, bp+24, ts+4957, 1)
@@ -99531,7 +99574,7 @@ __134:
 	;
 __126:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21777, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21824, 0)
 	ii = 0
 __135:
 	if !(ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm) {
@@ -99559,7 +99602,7 @@ __139:
 	pOrExpr = pAndExpr
 __140:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21792, libc.VaList(bp, ii+1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21839, libc.VaList(bp, ii+1))
 
 	pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0),
 		uint16(WHERE_OR_SUBCLAUSE), iCovCur)
@@ -100077,7 +100120,7 @@ func Xsqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
 	var mAll Bitmask = uint64(0)
 	var k int32
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21801, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21848, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
 
 	for k = 0; k < iLevel; k++ {
 		var iIdxCur int32
@@ -100438,7 +100481,7 @@ var aOp = [4]Op2{
 	{FzOp: ts + 16116, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)},
 	{FzOp: ts + 15447, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)},
 	{FzOp: ts + 14967, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)},
-	{FzOp: ts + 21815, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
+	{FzOp: ts + 21862, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
 }
 
 func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) {
@@ -100928,12 +100971,12 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			extraRight = x - uint64(1)
 
 			if prereqAll>>1 >= x {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21822, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21869, 0)
 				return
 			}
 		} else if prereqAll>>1 >= x {
 			if (*SrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*SrcItem)(unsafe.Pointer(pSrc+8)).Ffg.Fjointype)&JT_LTORJ != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21822, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21869, 0)
 				return
 			}
 			*(*U32)(unsafe.Pointer(pExpr + 4)) &= libc.Uint32FromInt32(libc.CplInt32(EP_InnerON))
@@ -101012,7 +101055,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_OuterON) != U32(0)) &&
 			0 == Xsqlite3ExprCanBeNull(tls, pLeft) {
 			(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
-			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6769
+			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 7699
 			*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0)
@@ -101106,7 +101149,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 		}
 		zCollSeqName = func() uintptr {
 			if *(*int32)(unsafe.Pointer(bp + 16)) != 0 {
-				return ts + 21863
+				return ts + 21910
 			}
 			return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))
 		}()
@@ -101482,7 +101525,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 			k++
 		}
 		if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21870,
+			Xsqlite3ErrorMsg(tls, pParse, ts+21917,
 				libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j))
 			return
 		}
@@ -101498,7 +101541,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 		pRhs = Xsqlite3PExpr(tls, pParse, TK_UPLUS,
 			Xsqlite3ExprDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*ExprList_item)(unsafe.Pointer(pArgs+8+uintptr(j)*20)).FpExpr, 0), uintptr(0))
 		pTerm = Xsqlite3PExpr(tls, pParse, TK_EQ, pColRef, pRhs)
-		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ) != 0 {
+		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ|JT_RIGHT) != 0 {
 			joinType = U32(EP_OuterON)
 		} else {
 			joinType = U32(EP_InnerON)
@@ -102215,7 +102258,7 @@ __4:
 		goto __6
 	}
 	Xsqlite3_log(tls, SQLITE_WARNING|int32(1)<<8,
-		ts+21906, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
+		ts+21953, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
 			(*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*16)).FzCnName))
 	sentWarning = U8(1)
 __6:
@@ -102286,7 +102329,7 @@ __13:
 __14:
 	;
 	*(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)) = pIdx
-	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21932
+	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21979
 	(*Index)(unsafe.Pointer(pIdx)).FpTable = pTable
 	n = 0
 	idxCols = uint64(0)
@@ -102460,6 +102503,10 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 	var pLoop uintptr = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	var iCur int32
+	var saved_pIdxEpr uintptr
+
+	saved_pIdxEpr = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = uintptr(0)
 
 	addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once)
 	for __ccgo := true; __ccgo; __ccgo = iLevel < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel) {
@@ -102503,9 +102550,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 			var r1 int32 = Xsqlite3GetTempRange(tls, pParse, n)
 			var jj int32
 			for jj = 0; jj < n; jj++ {
-				var iCol int32 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(jj)*2)))
-
-				Xsqlite3ExprCodeGetColumnOfTable(tls, v, (*Index)(unsafe.Pointer(pIdx)).FpTable, iCur, iCol, r1+jj)
+				Xsqlite3ExprCodeLoadIndexColumn(tls, pParse, pIdx, iCur, jj, r1+jj)
 			}
 			Xsqlite3VdbeAddOp4Int(tls, v, OP_FilterAdd, (*WhereLevel)(unsafe.Pointer(pLevel)).FregFilter, 0, r1, n)
 			Xsqlite3ReleaseTempRange(tls, pParse, r1, n)
@@ -102539,6 +102584,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 		}
 	}
 	Xsqlite3VdbeJumpHere(tls, v, addrOnce)
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = saved_pIdxEpr
 }
 
 func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr {
@@ -102797,11 +102843,16 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro
 
 	_ = pParse
 
+	if !((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) && int32(*(*uint16)(unsafe.Pointer(pIdx + 56))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol)
+	} else {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnColumn)
+	}
 	nField = func() int32 {
-		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < (*Index)(unsafe.Pointer(pIdx)).FnSample {
+		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < nField {
 			return int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField)
 		}
-		return (*Index)(unsafe.Pointer(pIdx)).FnSample
+		return nField
 	}()
 	iCol = 0
 	iSample = (*Index)(unsafe.Pointer(pIdx)).FnSample * nField
@@ -104381,7 +104432,7 @@ __4:
 				j >= (*WhereClause)(unsafe.Pointer(pWC)).FnTerm ||
 				*(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*4)) != uintptr(0) ||
 				int32((*sqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21943, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+				Xsqlite3ErrorMsg(tls, pParse, ts+21990, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 				return SQLITE_ERROR
 			}
@@ -104439,7 +104490,7 @@ __6:
 	(*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm = U16(mxTerm + 1)
 	for i = 0; i <= mxTerm; i++ {
 		if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*4)) == uintptr(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21943, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+			Xsqlite3ErrorMsg(tls, pParse, ts+21990, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 			return SQLITE_ERROR
 		}
@@ -104837,7 +104888,7 @@ __1:
 		mPrior = mPrior | (*WhereLoop)(unsafe.Pointer(pNew)).FmaskSelf
 		if rc != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 			if rc == SQLITE_DONE {
-				Xsqlite3_log(tls, SQLITE_WARNING, ts+21969, 0)
+				Xsqlite3_log(tls, SQLITE_WARNING, ts+22016, 0)
 				rc = SQLITE_OK
 			} else {
 				goto __3
@@ -105444,7 +105495,7 @@ __3:
 	}
 
 	if nFrom == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22004, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+22051, 0)
 		Xsqlite3DbFreeNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pSpace)
 		return SQLITE_ERROR
 	}
@@ -105479,6 +105530,10 @@ __3:
 			if int32((*WherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*ExprList)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr {
 				(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_ORDERED)
 			}
+			if (*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 &&
+				int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr {
+				(*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = I8((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr)
+			}
 		} else {
 			(*WhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*WherePath)(unsafe.Pointer(pFrom)).FrevLoop
 			if int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 {
@@ -105773,6 +105828,9 @@ func whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur in
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCur = iIdxCur
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCol = i
 		(*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow = U8(bMaybeNullRow)
+		if Xsqlite3IndexAffinityStr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pIdx) != 0 {
+			(*IndexedExpr)(unsafe.Pointer(p)).Faff = U8(*(*int8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(i))))
+		}
 		(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = p
 		if (*IndexedExpr)(unsafe.Pointer(p)).FpIENext == uintptr(0) {
 			Xsqlite3ParserAddCleanup(tls, pParse, *(*uintptr)(unsafe.Pointer(&struct {
@@ -105925,7 +105983,7 @@ __1:
 	if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(uint32(unsafe.Sizeof(Bitmask(0)))*uint32(8))) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22022, libc.VaList(bp, int32(uint32(unsafe.Sizeof(Bitmask(0)))*uint32(8))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+22069, libc.VaList(bp, int32(uint32(unsafe.Sizeof(Bitmask(0)))*uint32(8))))
 	return uintptr(0)
 __2:
 	;
@@ -105989,7 +106047,7 @@ __6:
 	(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE)
 __7:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22050, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22097, 0)
 	goto __5
 __4:
 	ii = 0
@@ -106871,7 +106929,7 @@ __1:
 
 error_out:
 	Xsqlite3_result_error(tls,
-		pCtx, ts+22068, -1)
+		pCtx, ts+22115, -1)
 }
 
 func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
@@ -107004,7 +107062,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 			(*NtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 			if (*NtileCtx)(unsafe.Pointer(p)).FnParam <= int64(0) {
 				Xsqlite3_result_error(tls,
-					pCtx, ts+22124, -1)
+					pCtx, ts+22171, -1)
 			}
 		}
 		(*NtileCtx)(unsafe.Pointer(p)).FnTotal++
@@ -107093,17 +107151,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
 	}
 }
 
-var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22169))
-var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22180))
-var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22191))
-var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22196))
-var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22209))
-var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22219))
-var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22225))
-var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22236))
-var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22246))
-var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22258))
-var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22263))
+var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22216))
+var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22227))
+var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22238))
+var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22243))
+var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22256))
+var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22266))
+var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22272))
+var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22283))
+var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22293))
+var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22305))
+var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22310))
 
 func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) {
 	_ = p
@@ -107149,7 +107207,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin
 		}
 	}
 	if p == uintptr(0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22267, libc.VaList(bp, zName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+22314, libc.VaList(bp, zName))
 	}
 	return p
 }
@@ -107193,12 +107251,12 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin
 		((*Window)(unsafe.Pointer(pWin)).FpStart != 0 || (*Window)(unsafe.Pointer(pWin)).FpEnd != 0) &&
 		((*Window)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*ExprList)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != 1) {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+22286, 0)
+			ts+22333, 0)
 	} else if (*FuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
 		if (*Window)(unsafe.Pointer(pWin)).FpFilter != 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22357, 0)
+				ts+22404, 0)
 		} else {
 			*(*[8]WindowUpdate)(unsafe.Pointer(bp)) = [8]WindowUpdate{
 				{FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT},
@@ -107426,7 +107484,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr
 
 	if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) {
 		Xsqlite3ErrorMsg(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse,
-			ts+22420, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
+			ts+22467, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
 	}
 	return WRC_Continue
 }
@@ -107542,7 +107600,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 {
 
 		if *(*uintptr)(unsafe.Pointer(bp + 28)) == uintptr(0) {
 			*(*uintptr)(unsafe.Pointer(bp + 28)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0),
-				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7530))
+				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7519))
 		}
 
 		pSub = Xsqlite3SelectNew(tls,
@@ -107657,7 +107715,7 @@ __1:
 		eStart == TK_FOLLOWING && (eEnd == TK_PRECEDING || eEnd == TK_CURRENT)) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22446, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22493, 0)
 	goto windowAllocErr
 __2:
 	;
@@ -107722,15 +107780,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint
 			var zErr uintptr = uintptr(0)
 
 			if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 {
-				zErr = ts + 22478
+				zErr = ts + 22525
 			} else if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0 {
-				zErr = ts + 22495
+				zErr = ts + 22542
 			} else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 {
-				zErr = ts + 22511
+				zErr = ts + 22558
 			}
 			if zErr != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+22531, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
+					ts+22578, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
 			} else {
 				(*Window)(unsafe.Pointer(pWin)).FpPartition = Xsqlite3ExprListDup(tls, db, (*Window)(unsafe.Pointer(pExist)).FpPartition, 0)
 				if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 {
@@ -107751,7 +107809,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr
 		(*Window)(unsafe.Pointer(pWin)).FpOwner = p
 		if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Distinct) != 0 && int32((*Window)(unsafe.Pointer(pWin)).FeFrmType) != TK_FILTER {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22564, 0)
+				ts+22611, 0)
 		}
 	} else {
 		Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin)
@@ -107907,11 +107965,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) {
 }
 
 var azErr = [5]uintptr{
-	ts + 22611,
-	ts + 22664,
-	ts + 22068,
-	ts + 22715,
-	ts + 22767,
+	ts + 22658,
+	ts + 22711,
+	ts + 22115,
+	ts + 22762,
+	ts + 22814,
 }
 var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge}
 
@@ -109303,19 +109361,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) {
 			}
 			cnt++
 			if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*Select)(unsafe.Pointer(pLoop)).FpLimit != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+22817,
+				Xsqlite3ErrorMsg(tls, pParse, ts+22864,
 					libc.VaList(bp, func() uintptr {
 						if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) {
-							return ts + 22859
+							return ts + 22906
 						}
-						return ts + 22868
+						return ts + 22915
 					}(),
 						Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(pNext)).Fop))))
 				break
 			}
 		}
 		if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_MultiValue) == U32(0) && libc.AssignInt32(&mxSelect, *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 116 + 4*4))) > 0 && cnt > mxSelect {
-			Xsqlite3ErrorMsg(tls, pParse, ts+22874, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+22921, 0)
 		}
 	}
 
@@ -109386,7 +109444,7 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT
 	var p uintptr = Xsqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0))
 	if (hasCollate != 0 || sortOrder != -1) &&
 		int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22908,
+		Xsqlite3ErrorMsg(tls, pParse, ts+22955,
 			libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz))
 	}
 	Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1)
@@ -110481,7 +110539,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) {
 		yy_pop_parser_stack(tls, yypParser)
 	}
 
-	Xsqlite3ErrorMsg(tls, pParse, ts+22946, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22993, 0)
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
 }
@@ -111460,7 +111518,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4)) = U32(TF_WithoutRowid | TF_NoVisibleRowid)
 				} else {
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22968, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+4)).Fn, (*Token)(unsafe.Pointer(yymsp+4)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23015, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+4)).Fn, (*Token)(unsafe.Pointer(yymsp+4)).Fz))
 				}
 			}
 			break
@@ -111470,7 +111528,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(TF_Strict)
 				} else {
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22968, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+4)).Fn, (*Token)(unsafe.Pointer(yymsp+4)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23015, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+4)).Fn, (*Token)(unsafe.Pointer(yymsp+4)).Fz))
 				}
 			}
 			*(*U32)(unsafe.Pointer(yymsp + 4)) = *(*U32)(unsafe.Pointer(bp + 40))
@@ -112213,7 +112271,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 		case uint32(157):
 			{
 				Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4)), yymsp+libc.UintptrFromInt32(-4)*12+4)
-				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4)), ts+22995)
+				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4)), ts+23042)
 				if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4)) != 0 {
 					var pFromClause uintptr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4))
 					if (*SrcList)(unsafe.Pointer(pFromClause)).FnSrc > 1 {
@@ -112377,7 +112435,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*Token)(unsafe.Pointer(bp + 92)) = *(*Token)(unsafe.Pointer(yymsp + 4))
 
 					if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+23004, libc.VaList(bp+32, bp+92))
+						Xsqlite3ErrorMsg(tls, pParse, ts+23051, libc.VaList(bp+32, bp+92))
 						*(*uintptr)(unsafe.Pointer(yymsp + 4)) = uintptr(0)
 					} else {
 						*(*uintptr)(unsafe.Pointer(yymsp + 4)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0))
@@ -112594,9 +112652,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					Xsqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*12 + 4)))
 					*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*12 + 4)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_STRING, func() uintptr {
 						if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*12 + 4)) != 0 {
-							return ts + 6764
+							return ts + 7694
 						}
-						return ts + 6769
+						return ts + 7699
 					}())
 					if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*12 + 4)) != 0 {
 						Xsqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*12 + 4)))
@@ -112880,19 +112938,19 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 			{
 				*(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4)) = *(*Token)(unsafe.Pointer(yymsp + 4))
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23028, 0)
+					ts+23075, 0)
 			}
 			break
 		case uint32(271):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23123, 0)
+					ts+23170, 0)
 			}
 			break
 		case uint32(272):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23207, 0)
+					ts+23254, 0)
 			}
 			break
 		case uint32(273):
@@ -113271,9 +113329,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To
 
 	_ = yymajor
 	if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8)).Fz)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23004, libc.VaList(bp, bp+8))
+		Xsqlite3ErrorMsg(tls, pParse, ts+23051, libc.VaList(bp, bp+8))
 	} else {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23292, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+23339, 0)
 	}
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
@@ -114041,7 +114099,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 			} else {
 				(*Token)(unsafe.Pointer(bp + 1248)).Fz = zSql
 				(*Token)(unsafe.Pointer(bp + 1248)).Fn = uint32(n)
-				Xsqlite3ErrorMsg(tls, pParse, ts+23309, libc.VaList(bp, bp+1248))
+				Xsqlite3ErrorMsg(tls, pParse, ts+23356, libc.VaList(bp, bp+1248))
 				break
 			}
 		}
@@ -114064,7 +114122,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 		if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) {
 			(*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+3663, libc.VaList(bp+8, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc)))
 		}
-		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23334, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
+		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23381, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
 		nErr++
 	}
 	(*Parse)(unsafe.Pointer(pParse)).FzTail = zSql
@@ -114237,7 +114295,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'C':
 						{
-							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23345, 6) == 0 {
+							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23392, 6) == 0 {
 								token = U8(TkCREATE)
 							} else {
 								token = U8(TkOTHER)
@@ -114250,11 +114308,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'T':
 						{
-							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19931, 7) == 0 {
+							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19978, 7) == 0 {
 								token = U8(TkTRIGGER)
-							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23352, 4) == 0 {
+							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23399, 4) == 0 {
 								token = U8(TkTEMP)
-							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23357, 9) == 0 {
+							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23404, 9) == 0 {
 								token = U8(TkTEMP)
 							} else {
 								token = U8(TkOTHER)
@@ -114267,9 +114325,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'E':
 						{
-							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23367, 3) == 0 {
+							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23414, 3) == 0 {
 								token = U8(TkEND)
-							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23371, 7) == 0 {
+							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23418, 7) == 0 {
 								token = U8(TkEXPLAIN)
 							} else {
 								token = U8(TkOTHER)
@@ -114503,7 +114561,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 {
 	var rc int32 = SQLITE_OK
 
 	if Xsqlite3Config.FisInit != 0 {
-		return Xsqlite3MisuseError(tls, 174337)
+		return Xsqlite3MisuseError(tls, 174426)
 	}
 
 	ap = va
@@ -115078,7 +115136,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 		return SQLITE_OK
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 175111)
+		return Xsqlite3MisuseError(tls, 175200)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 {
@@ -115093,7 +115151,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 
 	if !(forceZombie != 0) && connectionIsBusy(tls, db) != 0 {
 		Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-			ts+23379, 0)
+			ts+23426, 0)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		return SQLITE_BUSY
 	}
@@ -115284,23 +115342,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) {
 // Return a static string that describes the kind of error specified in the
 // argument.
 func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
-	var zErr uintptr = ts + 23447
+	var zErr uintptr = ts + 23494
 	switch rc {
 	case SQLITE_ABORT | int32(2)<<8:
 		{
-			zErr = ts + 23461
+			zErr = ts + 23508
 			break
 
 		}
 	case SQLITE_ROW:
 		{
-			zErr = ts + 23483
+			zErr = ts + 23530
 			break
 
 		}
 	case SQLITE_DONE:
 		{
-			zErr = ts + 23505
+			zErr = ts + 23552
 			break
 
 		}
@@ -115318,35 +115376,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
 }
 
 var aMsg = [29]uintptr{
-	ts + 23528,
-	ts + 23541,
+	ts + 23575,
+	ts + 23588,
 	uintptr(0),
-	ts + 23557,
-	ts + 23582,
-	ts + 23596,
-	ts + 23615,
+	ts + 23604,
+	ts + 23629,
+	ts + 23643,
+	ts + 23662,
 	ts + 1490,
-	ts + 23640,
-	ts + 23677,
-	ts + 23689,
-	ts + 23704,
-	ts + 23737,
-	ts + 23755,
-	ts + 23780,
-	ts + 23809,
+	ts + 23687,
+	ts + 23724,
+	ts + 23736,
+	ts + 23751,
+	ts + 23784,
+	ts + 23802,
+	ts + 23827,
+	ts + 23856,
 	uintptr(0),
 	ts + 5838,
 	ts + 5334,
-	ts + 23826,
-	ts + 23844,
-	ts + 23862,
+	ts + 23873,
+	ts + 23891,
+	ts + 23909,
 	uintptr(0),
-	ts + 23896,
-	uintptr(0),
-	ts + 23917,
 	ts + 23943,
-	ts + 23966,
-	ts + 23987,
+	uintptr(0),
+	ts + 23964,
+	ts + 23990,
+	ts + 24013,
+	ts + 24034,
 }
 
 func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 {
@@ -115467,7 +115525,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 		libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) ||
 		(nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) ||
 		255 < Xsqlite3Strlen30(tls, zFunctionName) {
-		return Xsqlite3MisuseError(tls, 175758)
+		return Xsqlite3MisuseError(tls, 175847)
 	}
 
 	extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS)
@@ -115512,7 +115570,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 	if p != 0 && (*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK) == U32(enc) && int32((*FuncDef)(unsafe.Pointer(p)).FnArg) == nArg {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24003, 0)
+				ts+24050, 0)
 
 			return SQLITE_BUSY
 		} else {
@@ -115629,7 +115687,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs
 	_ = NotUsed
 	_ = NotUsed2
 	zErr = Xsqlite3_mprintf(tls,
-		ts+24066, libc.VaList(bp, zName))
+		ts+24113, libc.VaList(bp, zName))
 	Xsqlite3_result_error(tls, context, zErr, -1)
 	Xsqlite3_free(tls, zErr)
 }
@@ -115865,7 +115923,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
 	}
 	if iDb < 0 {
 		rc = SQLITE_ERROR
-		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24117, libc.VaList(bp, zDb))
+		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24164, libc.VaList(bp, zDb))
 	} else {
 		(*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0
 		rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt)
@@ -115958,7 +116016,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr {
 		return Xsqlite3ErrStr(tls, SQLITE_NOMEM)
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176503))
+		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176592))
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -116028,7 +116086,7 @@ var misuse = [34]U16{
 // passed to this function, we assume a malloc() failed during sqlite3_open().
 func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176582)
+		return Xsqlite3MisuseError(tls, 176671)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -116038,7 +116096,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 
 func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176591)
+		return Xsqlite3MisuseError(tls, 176680)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -116070,14 +116128,14 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint
 		enc2 = SQLITE_UTF16LE
 	}
 	if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE {
-		return Xsqlite3MisuseError(tls, 176639)
+		return Xsqlite3MisuseError(tls, 176728)
 	}
 
 	pColl = Xsqlite3FindCollSeq(tls, db, U8(enc2), zName, 0)
 	if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24138, 0)
+				ts+24185, 0)
 			return SQLITE_BUSY
 		}
 		Xsqlite3ExpirePreparedStatements(tls, db, 0)
@@ -116207,7 +116265,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u
 
 	if !((flags&uint32(SQLITE_OPEN_URI) != 0 ||
 		Xsqlite3Config.FbOpenUri != 0) &&
-		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24206, uint32(5)) == 0) {
+		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24253, uint32(5)) == 0) {
 		goto __1
 	}
 	iOut = 0
@@ -116252,10 +116310,10 @@ __8:
 	goto __8
 __9:
 	;
-	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24212, zUri+7, uint32(9)) != 0)) {
+	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24259, zUri+7, uint32(9)) != 0)) {
 		goto __10
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24222,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24269,
 		libc.VaList(bp, iIn-7, zUri+7))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
@@ -116360,7 +116418,7 @@ __27:
 	zVal = zOpt + uintptr(nOpt+1)
 	nVal = Xsqlite3Strlen30(tls, zVal)
 
-	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24250, zOpt, uint32(3)) == 0) {
+	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24297, zOpt, uint32(3)) == 0) {
 		goto __29
 	}
 	zVfs = zVal
@@ -116371,17 +116429,17 @@ __29:
 	mask = 0
 	limit = 0
 
-	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24254, zOpt, uint32(5)) == 0) {
+	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24301, zOpt, uint32(5)) == 0) {
 		goto __31
 	}
 
 	mask = SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE
 	aMode = uintptr(unsafe.Pointer(&aCacheMode))
 	limit = mask
-	zModeType = ts + 24254
+	zModeType = ts + 24301
 __31:
 	;
-	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24260, zOpt, uint32(4)) == 0) {
+	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24307, zOpt, uint32(4)) == 0) {
 		goto __32
 	}
 
@@ -116419,7 +116477,7 @@ __36:
 	if !(mode == 0) {
 		goto __38
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24265, libc.VaList(bp+16, zModeType, zVal))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24312, libc.VaList(bp+16, zModeType, zVal))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
 __38:
@@ -116427,7 +116485,7 @@ __38:
 	if !(mode&libc.CplInt32(SQLITE_OPEN_MEMORY) > limit) {
 		goto __39
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24285,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24332,
 		libc.VaList(bp+32, zModeType, zVal))
 	rc = SQLITE_PERM
 	goto parse_uri_out
@@ -116467,7 +116525,7 @@ __2:
 	if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) {
 		goto __42
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24309, libc.VaList(bp+48, zVfs))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24356, libc.VaList(bp+48, zVfs))
 	rc = SQLITE_ERROR
 __42:
 	;
@@ -116490,14 +116548,14 @@ type OpenMode = struct {
 }
 
 var aCacheMode = [3]OpenMode{
-	{Fz: ts + 24325, Fmode: SQLITE_OPEN_SHAREDCACHE},
-	{Fz: ts + 24332, Fmode: SQLITE_OPEN_PRIVATECACHE},
+	{Fz: ts + 24372, Fmode: SQLITE_OPEN_SHAREDCACHE},
+	{Fz: ts + 24379, Fmode: SQLITE_OPEN_PRIVATECACHE},
 	{},
 }
 var aOpenMode = [5]OpenMode{
-	{Fz: ts + 24340, Fmode: SQLITE_OPEN_READONLY},
-	{Fz: ts + 24343, Fmode: SQLITE_OPEN_READWRITE},
-	{Fz: ts + 24346, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
+	{Fz: ts + 24387, Fmode: SQLITE_OPEN_READONLY},
+	{Fz: ts + 24390, Fmode: SQLITE_OPEN_READWRITE},
+	{Fz: ts + 24393, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
 	{Fz: ts + 17362, Fmode: SQLITE_OPEN_MEMORY},
 	{},
 }
@@ -116644,10 +116702,10 @@ __12:
 	createCollation(tls, db, uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{binCollFunc})), uintptr(0))
-	createCollation(tls, db, ts+21863, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+21910, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{nocaseCollatingFunc})), uintptr(0))
-	createCollation(tls, db, ts+24350, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+24397, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{rtrimCollFunc})), uintptr(0))
 	if !((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) {
@@ -116661,7 +116719,7 @@ __15:
 	if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) {
 		goto __16
 	}
-	rc = Xsqlite3MisuseError(tls, 177308)
+	rc = Xsqlite3MisuseError(tls, 177397)
 	goto __17
 __16:
 	rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+12, bp+16)
@@ -116714,7 +116772,7 @@ __22:
 
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 6441
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).Fsafety_level = U8(SQLITE_DEFAULT_SYNCHRONOUS + 1)
-	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*16)).FzDbSName = ts + 23352
+	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*16)).FzDbSName = ts + 23399
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*16)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF)
 
 	(*Sqlite3)(unsafe.Pointer(db)).FeOpenState = U8(SQLITE_STATE_OPEN)
@@ -116819,7 +116877,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 {
 		return rc
 	}
 	if zFilename == uintptr(0) {
-		zFilename = ts + 24356
+		zFilename = ts + 24403
 	}
 	pVal = Xsqlite3ValueNew(tls, uintptr(0))
 	Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0))
@@ -116922,21 +116980,21 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr)
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	Xsqlite3_log(tls, iErr, ts+24359,
+	Xsqlite3_log(tls, iErr, ts+24406,
 		libc.VaList(bp, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls)))
 	return iErr
 }
 
 func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24384)
+	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24431)
 }
 
 func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24404)
+	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24451)
 }
 
 func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24411)
+	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24458)
 }
 
 // This is a convenience routine that makes sure that all thread-specific
@@ -117094,7 +117152,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24)))
-	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24428, libc.VaList(bp, zTableName,
+	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24475, libc.VaList(bp, zTableName,
 		zColumnName))
 	rc = SQLITE_ERROR
 __20:
@@ -117750,7 +117808,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 {
 
 	azCompileOpt = Xsqlite3CompileOptions(tls, bp)
 
-	if Xsqlite3_strnicmp(tls, zOptName, ts+24456, 7) == 0 {
+	if Xsqlite3_strnicmp(tls, zOptName, ts+24503, 7) == 0 {
 		zOptName += uintptr(7)
 	}
 	n = Xsqlite3Strlen30(tls, zOptName)
@@ -117868,7 +117926,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin
 
 	Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr {
 		if rc != 0 {
-			return ts + 24464
+			return ts + 24511
 		}
 		return uintptr(0)
 	}(), 0)
@@ -118045,7 +118103,7 @@ type JsonParse1 = struct {
 type JsonParse = JsonParse1
 
 var jsonType = [8]uintptr{
-	ts + 6181, ts + 6764, ts + 6769, ts + 6191, ts + 6186, ts + 8005, ts + 24487, ts + 24493,
+	ts + 6181, ts + 7694, ts + 7699, ts + 6191, ts + 6186, ts + 8005, ts + 24534, ts + 24540,
 }
 
 func jsonZero(tls *libc.TLS, p uintptr) {
@@ -118198,7 +118256,7 @@ __10:
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0' + int32(c)>>4)
-	c = uint8(*(*int8)(unsafe.Pointer(ts + 24500 + uintptr(int32(c)&0xf))))
+	c = uint8(*(*int8)(unsafe.Pointer(ts + 24547 + uintptr(int32(c)&0xf))))
 __8:
 	;
 __6:
@@ -118253,7 +118311,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) {
 	default:
 		{
 			if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 {
-				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24517, -1)
+				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24564, -1)
 				(*JsonString)(unsafe.Pointer(p)).FbErr = U8(2)
 				jsonReset(tls, p)
 			}
@@ -118317,13 +118375,13 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr
 		}
 	case JSON_TRUE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6764, uint32(4))
+			jsonAppendRaw(tls, pOut, ts+7694, uint32(4))
 			break
 
 		}
 	case JSON_FALSE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6769, uint32(5))
+			jsonAppendRaw(tls, pOut, ts+7699, uint32(5))
 			break
 
 		}
@@ -118873,12 +118931,12 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 't' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6764, uint32(4)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7694, uint32(4)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(4)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_TRUE), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 'f' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6769, uint32(5)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7699, uint32(5)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(5)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_FALSE), uint32(0), uintptr(0))
 		return int32(i + U32(5))
@@ -118979,7 +119037,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32
 			if (*JsonParse)(unsafe.Pointer(pParse)).Foom != 0 {
 				Xsqlite3_result_error_nomem(tls, pCtx)
 			} else {
-				Xsqlite3_result_error(tls, pCtx, ts+24546, -1)
+				Xsqlite3_result_error(tls, pCtx, ts+24593, -1)
 			}
 		}
 		jsonParseReset(tls, pParse)
@@ -119285,7 +119343,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt
 	}
 	if int32(*(*int8)(unsafe.Pointer(zPath))) == '.' {
 		jsonParseAddNode(tls, pParse, uint32(JSON_OBJECT), uint32(0), uintptr(0))
-	} else if libc.Xstrncmp(tls, zPath, ts+24561, uint32(3)) == 0 {
+	} else if libc.Xstrncmp(tls, zPath, ts+24608, uint32(3)) == 0 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0))
 	} else {
 		return uintptr(0)
@@ -119300,7 +119358,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	return Xsqlite3_mprintf(tls, ts+24565, libc.VaList(bp, zErr))
+	return Xsqlite3_mprintf(tls, ts+24612, libc.VaList(bp, zErr))
 }
 
 func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr {
@@ -119354,7 +119412,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24591,
+	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24638,
 		libc.VaList(bp, zFuncName))
 	Xsqlite3_result_error(tls, pCtx, zMsg, -1)
 	Xsqlite3_free(tls, zMsg)
@@ -119459,11 +119517,11 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 			if int32(*(*int8)(unsafe.Pointer(zPath))) != '$' {
 				jsonInit(tls, bp, ctx)
 				if int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zPath)))])&0x04 != 0 {
-					jsonAppendRaw(tls, bp, ts+24634, uint32(2))
+					jsonAppendRaw(tls, bp, ts+24681, uint32(2))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendRaw(tls, bp, ts+4998, uint32(2))
 				} else {
-					jsonAppendRaw(tls, bp, ts+24637, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
+					jsonAppendRaw(tls, bp, ts+24684, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendChar(tls, bp, int8(0))
 				}
@@ -119620,14 +119678,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 
 	if argc&1 != 0 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+24640, -1)
+			ts+24687, -1)
 		return
 	}
 	jsonInit(tls, bp, ctx)
 	jsonAppendChar(tls, bp, int8('{'))
 	for i = 0; i < argc; i = i + 2 {
 		if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) != SQLITE_TEXT {
-			Xsqlite3_result_error(tls, ctx, ts+24691, -1)
+			Xsqlite3_result_error(tls, ctx, ts+24738, -1)
 			jsonReset(tls, bp)
 			return
 		}
@@ -119797,9 +119855,9 @@ __1:
 	}
 	jsonWrongNumArgs(tls, ctx, func() uintptr {
 		if bIsSet != 0 {
-			return ts + 24725
+			return ts + 24772
 		}
-		return ts + 24729
+		return ts + 24776
 	}())
 	return
 __2:
@@ -119932,7 +119990,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24736, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24783, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -120029,7 +120087,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24739, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24786, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -120073,7 +120131,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u
 	_ = argc
 	_ = pAux
 	rc = Xsqlite3_declare_vtab(tls, db,
-		ts+24742)
+		ts+24789)
 	if rc == SQLITE_OK {
 		pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{}))))
 		if pNew == uintptr(0) {
@@ -120204,7 +120262,7 @@ func jsonAppendObjectPathElement(tls *libc.TLS, pStr uintptr, pNode uintptr) {
 			nn = nn - 2
 		}
 	}
-	jsonPrintf(tls, nn+2, pStr, ts+24825, libc.VaList(bp, nn, z))
+	jsonPrintf(tls, nn+2, pStr, ts+24872, libc.VaList(bp, nn, z))
 }
 
 func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
@@ -120223,7 +120281,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
 	pNode = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(i)*12
 	pUp = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(iUp)*12
 	if int32((*JsonNode)(unsafe.Pointer(pUp)).FeType) == JSON_ARRAY {
-		jsonPrintf(tls, 30, pStr, ts+24831, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
+		jsonPrintf(tls, 30, pStr, ts+24878, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
 	} else {
 		if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_LABEL == 0 {
 			pNode -= 12
@@ -120319,7 +120377,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 					jsonAppendChar(tls, bp+8, int8('$'))
 				}
 				if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY {
-					jsonPrintf(tls, 30, bp+8, ts+24831, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
+					jsonPrintf(tls, 30, bp+8, ts+24878, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
 				} else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT {
 					jsonAppendObjectPathElement(tls, bp+8, pThis)
 				}
@@ -120343,7 +120401,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 		{
 			var zRoot uintptr = (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot
 			if zRoot == uintptr(0) {
-				zRoot = ts + 24836
+				zRoot = ts + 24883
 			}
 			Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0))
 			break
@@ -120465,7 +120523,7 @@ func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, ar
 		var rc int32 = SQLITE_NOMEM
 		if int32((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.Foom) == 0 {
 			Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg)
-			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24546, 0)
+			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24593, 0)
 			if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 {
 				rc = SQLITE_ERROR
 			}
@@ -120560,25 +120618,25 @@ func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) {
 }
 
 var aJsonFunc = [19]FuncDef{
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24838},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24843},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24854},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24854},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24872},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_JSON), FxSFunc: 0, FzName: ts + 24885},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_SQL), FxSFunc: 0, FzName: ts + 24888},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24892},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24904},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24916},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24927},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24938},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24950},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_ISSET), FxSFunc: 0, FzName: ts + 24963},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24972},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24972},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24982},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24993},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25010}}
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24885},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24890},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24901},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24901},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24919},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_JSON), FxSFunc: 0, FzName: ts + 24932},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_SQL), FxSFunc: 0, FzName: ts + 24935},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24939},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24951},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24963},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24974},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24985},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24997},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_ISSET), FxSFunc: 0, FzName: ts + 25010},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25019},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25019},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25029},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25040},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25057}}
 
 // Register the JSON table-valued functions
 func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 {
@@ -120597,8 +120655,8 @@ var aMod = [2]struct {
 	FzName   uintptr
 	FpModule uintptr
 }{
-	{FzName: ts + 25028, FpModule: 0},
-	{FzName: ts + 25038, FpModule: 0},
+	{FzName: ts + 25075, FpModule: 0},
+	{FzName: ts + 25085, FpModule: 0},
 }
 
 type Rtree1 = struct {
@@ -120851,11 +120909,11 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo
 		}
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) {
-		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25048, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25095, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		if zTab == uintptr(0) {
 			return SQLITE_NOMEM
 		}
-		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25056, iNode, 0,
+		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25103, iNode, 0,
 			pRtree+72)
 		Xsqlite3_free(tls, zTab)
 	}
@@ -121066,7 +121124,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32
 	var zCreate uintptr = Xsqlite3_mprintf(tls,
-		ts+25061,
+		ts+25108,
 		libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
@@ -121764,7 +121822,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 {
 	var pSrc uintptr
 	var pInfo uintptr
 
-	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25143)
+	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25190)
 	if pSrc == uintptr(0) {
 		return SQLITE_ERROR
 	}
@@ -123105,7 +123163,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+25157, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+	zSql = Xsqlite3_mprintf(tls, ts+25204, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 	if zSql != 0 {
 		rc = Xsqlite3_prepare_v2(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -1, bp+56, uintptr(0))
 	} else {
@@ -123117,12 +123175,12 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 		if iCol == 0 {
 			var zCol uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 0)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25177, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
+				ts+25224, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
 		} else {
 			var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol)
 			var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol+1)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25209, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
+				ts+25256, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
 		}
 	}
 
@@ -123348,7 +123406,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32 = SQLITE_NOMEM
 	var zSql uintptr = Xsqlite3_mprintf(tls,
-		ts+25246, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
+		ts+25293, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
 	if zSql != 0 {
 		nodeBlobReset(tls, pRtree)
 		rc = Xsqlite3_exec(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0))
@@ -123371,7 +123429,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 {
 	bp := tls.Alloc(20)
 	defer tls.Free(20)
 
-	var zFmt uintptr = ts + 25391
+	var zFmt uintptr = ts + 25438
 	var zSql uintptr
 
 	var rc int32
@@ -123419,7 +123477,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName1 = [3]uintptr{
-	ts + 25447, ts + 5060, ts + 16267,
+	ts + 25494, ts + 5060, ts + 16267,
 }
 
 var rtreeModule = Sqlite3_module{
@@ -123462,19 +123520,19 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		var p uintptr = Xsqlite3_str_new(tls, db)
 		var ii int32
 		Xsqlite3_str_appendf(tls, p,
-			ts+25452,
+			ts+25499,
 			libc.VaList(bp, zDb, zPrefix))
 		for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
-			Xsqlite3_str_appendf(tls, p, ts+25514, libc.VaList(bp+16, ii))
+			Xsqlite3_str_appendf(tls, p, ts+25561, libc.VaList(bp+16, ii))
 		}
 		Xsqlite3_str_appendf(tls, p,
-			ts+25519,
+			ts+25566,
 			libc.VaList(bp+24, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25583,
+			ts+25630,
 			libc.VaList(bp+40, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25653,
+			ts+25700,
 			libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))
 		zCreate = Xsqlite3_str_finish(tls, p)
 		if !(zCreate != 0) {
@@ -123503,7 +123561,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		if i != 3 || int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) == 0 {
 			zFormat = azSql[i]
 		} else {
-			zFormat = ts + 25702
+			zFormat = ts + 25749
 		}
 		zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix))
 		if zSql != 0 {
@@ -123515,7 +123573,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FnAux != 0 {
 		(*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls,
-			ts+25810,
+			ts+25857,
 			libc.VaList(bp+96, zDb, zPrefix))
 		if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -123523,18 +123581,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 			var p uintptr = Xsqlite3_str_new(tls, db)
 			var ii int32
 			var zSql uintptr
-			Xsqlite3_str_appendf(tls, p, ts+25855, libc.VaList(bp+112, zDb, zPrefix))
+			Xsqlite3_str_appendf(tls, p, ts+25902, libc.VaList(bp+112, zDb, zPrefix))
 			for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
 				if ii != 0 {
 					Xsqlite3_str_append(tls, p, ts+12767, 1)
 				}
 				if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) {
-					Xsqlite3_str_appendf(tls, p, ts+25882, libc.VaList(bp+128, ii, ii+2, ii))
+					Xsqlite3_str_appendf(tls, p, ts+25929, libc.VaList(bp+128, ii, ii+2, ii))
 				} else {
-					Xsqlite3_str_appendf(tls, p, ts+25904, libc.VaList(bp+152, ii, ii+2))
+					Xsqlite3_str_appendf(tls, p, ts+25951, libc.VaList(bp+152, ii, ii+2))
 				}
 			}
-			Xsqlite3_str_appendf(tls, p, ts+25912, 0)
+			Xsqlite3_str_appendf(tls, p, ts+25959, 0)
 			zSql = Xsqlite3_str_finish(tls, p)
 			if zSql == uintptr(0) {
 				rc = SQLITE_NOMEM
@@ -123549,14 +123607,14 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 }
 
 var azSql = [8]uintptr{
-	ts + 25928,
-	ts + 25981,
-	ts + 26026,
-	ts + 26078,
-	ts + 26132,
-	ts + 26177,
-	ts + 26235,
-	ts + 26290,
+	ts + 25975,
+	ts + 26028,
+	ts + 26073,
+	ts + 26125,
+	ts + 26179,
+	ts + 26224,
+	ts + 26282,
+	ts + 26337,
 }
 
 func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 {
@@ -123585,7 +123643,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 	var zSql uintptr
 	if isCreate != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = 0
-		zSql = Xsqlite3_mprintf(tls, ts+26337, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
+		zSql = Xsqlite3_mprintf(tls, ts+26384, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
 		rc = getIntFromStmt(tls, db, zSql, bp+48)
 		if rc == SQLITE_OK {
 			(*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp + 48)) - 64
@@ -123597,7 +123655,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		}
 	} else {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+26357,
+			ts+26404,
 			libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		rc = getIntFromStmt(tls, db, zSql, pRtree+16)
 		if rc != SQLITE_OK {
@@ -123605,7 +123663,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		} else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < 512-64 {
 			rc = SQLITE_CORRUPT | int32(1)<<8
 
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26414,
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26461,
 				libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		}
 	}
@@ -123647,10 +123705,10 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr
 	ii = 4
 	*(*[5]uintptr)(unsafe.Pointer(bp + 96)) = [5]uintptr{
 		uintptr(0),
-		ts + 26449,
-		ts + 26492,
-		ts + 26527,
-		ts + 26563,
+		ts + 26496,
+		ts + 26539,
+		ts + 26574,
+		ts + 26610,
 	}
 
 	if !(argc < 6 || argc > RTREE_MAX_AUX_COLUMN+3) {
@@ -123681,7 +123739,7 @@ __2:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*4)), uint32(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+26600,
+	Xsqlite3_str_appendf(tls, pSql, ts+26647,
 		libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4))), *(*uintptr)(unsafe.Pointer(argv + 3*4))))
 	ii = 4
 __3:
@@ -123693,7 +123751,7 @@ __3:
 		goto __6
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+26624, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
+	Xsqlite3_str_appendf(tls, pSql, ts+26671, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
 	goto __7
 __6:
 	if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) {
@@ -123716,7 +123774,7 @@ __4:
 	goto __5
 __5:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26630, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26677, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __10
@@ -123812,7 +123870,7 @@ __25:
 	return rc
 }
 
-var azFormat = [2]uintptr{ts + 26633, ts + 26644}
+var azFormat = [2]uintptr{ts + 26680, ts + 26691}
 
 func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	bp := tls.Alloc(592)
@@ -123852,11 +123910,11 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 		if ii > 0 {
 			Xsqlite3_str_append(tls, pOut, ts+10920, 1)
 		}
-		Xsqlite3_str_appendf(tls, pOut, ts+26654, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+544)).FiRowid))
+		Xsqlite3_str_appendf(tls, pOut, ts+26701, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+544)).FiRowid))
 		for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+44)).FnDim2); jj++ {
-			Xsqlite3_str_appendf(tls, pOut, ts+26660, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 544 + 8 + uintptr(jj)*4)))))
+			Xsqlite3_str_appendf(tls, pOut, ts+26707, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 544 + 8 + uintptr(jj)*4)))))
 		}
-		Xsqlite3_str_append(tls, pOut, ts+26664, 1)
+		Xsqlite3_str_append(tls, pOut, ts+26711, 1)
 	}
 	errCode = Xsqlite3_str_errcode(tls, pOut)
 	Xsqlite3_result_text(tls, ctx, Xsqlite3_str_finish(tls, pOut), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
@@ -123867,7 +123925,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	_ = nArg
 	if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB ||
 		Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 {
-		Xsqlite3_result_error(tls, ctx, ts+26666, -1)
+		Xsqlite3_result_error(tls, ctx, ts+26713, -1)
 	} else {
 		var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 		if zBlob != 0 {
@@ -123943,7 +124001,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr
 		if z == uintptr(0) {
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM
 		} else {
-			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26699,
+			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26746,
 				libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr {
 					if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 {
 						return ts + 4062
@@ -123967,7 +124025,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) {
 		(*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = rtreeCheckPrepare(tls, pCheck,
-			ts+26706,
+			ts+26753,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab))
 	}
 
@@ -123986,7 +124044,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 		}
 		rtreeCheckReset(tls, pCheck, (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode)
 		if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) {
-			rtreeCheckAppendMsg(tls, pCheck, ts+26751, libc.VaList(bp+16, iNode))
+			rtreeCheckAppendMsg(tls, pCheck, ts+26798, libc.VaList(bp+16, iNode))
 		}
 	}
 
@@ -124000,8 +124058,8 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	var rc int32
 	var pStmt uintptr
 	*(*[2]uintptr)(unsafe.Pointer(bp + 80)) = [2]uintptr{
-		ts + 26783,
-		ts + 26837,
+		ts + 26830,
+		ts + 26884,
 	}
 
 	if *(*uintptr)(unsafe.Pointer(pCheck + 24 + uintptr(bLeaf)*4)) == uintptr(0) {
@@ -124016,23 +124074,23 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	Xsqlite3_bind_int64(tls, pStmt, 1, iKey)
 	rc = Xsqlite3_step(tls, pStmt)
 	if rc == SQLITE_DONE {
-		rtreeCheckAppendMsg(tls, pCheck, ts+26885,
+		rtreeCheckAppendMsg(tls, pCheck, ts+26932,
 			libc.VaList(bp+16, iKey, iVal, func() uintptr {
 				if bLeaf != 0 {
-					return ts + 26930
+					return ts + 26977
 				}
-				return ts + 26938
+				return ts + 26985
 			}()))
 	} else if rc == SQLITE_ROW {
 		var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0)
 		if ii != iVal {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+26947,
+				ts+26994,
 				libc.VaList(bp+40, iKey, ii, func() uintptr {
 					if bLeaf != 0 {
-						return ts + 26930
+						return ts + 26977
 					}
-					return ts + 26938
+					return ts + 26985
 				}(), iKey, iVal))
 		}
 	}
@@ -124056,7 +124114,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 			return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48)) > *(*RtreeValue)(unsafe.Pointer(bp + 52)))
 		}() != 0 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27005, libc.VaList(bp, i, iCell, iNode))
+				ts+27052, libc.VaList(bp, i, iCell, iNode))
 		}
 
 		if pParent != 0 {
@@ -124076,7 +124134,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 					return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52)) > *(*RtreeValue)(unsafe.Pointer(bp + 60)))
 				}() != 0 {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27053, libc.VaList(bp+24, i, iCell, iNode))
+					ts+27100, libc.VaList(bp+24, i, iCell, iNode))
 			}
 		}
 	}
@@ -124093,14 +124151,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 	if aNode != 0 {
 		if *(*int32)(unsafe.Pointer(bp + 48)) < 4 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27120, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
+				ts+27167, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
 		} else {
 			var nCell int32
 			var i int32
 			if aParent == uintptr(0) {
 				iDepth = readInt16(tls, aNode)
 				if iDepth > RTREE_MAX_DEPTH {
-					rtreeCheckAppendMsg(tls, pCheck, ts+27154, libc.VaList(bp+16, iDepth))
+					rtreeCheckAppendMsg(tls, pCheck, ts+27201, libc.VaList(bp+16, iDepth))
 					Xsqlite3_free(tls, aNode)
 					return
 				}
@@ -124108,7 +124166,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 			nCell = readInt16(tls, aNode+2)
 			if 4+nCell*(8+(*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim*2*4) > *(*int32)(unsafe.Pointer(bp + 48)) {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27184,
+					ts+27231,
 					libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48))))
 			} else {
 				for i = 0; i < nCell; i++ {
@@ -124137,14 +124195,14 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) {
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK {
 		var pCount uintptr
-		pCount = rtreeCheckPrepare(tls, pCheck, ts+27239,
+		pCount = rtreeCheckPrepare(tls, pCheck, ts+27286,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl))
 		if pCount != 0 {
 			if Xsqlite3_step(tls, pCount) == SQLITE_ROW {
 				var nActual I64 = Xsqlite3_column_int64(tls, pCount, 0)
 				if nActual != nExpect {
 					rtreeCheckAppendMsg(tls, pCheck,
-						ts+27270, libc.VaList(bp+24, zTbl, nExpect, nActual))
+						ts+27317, libc.VaList(bp+24, zTbl, nExpect, nActual))
 				}
 			}
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount)
@@ -124171,7 +124229,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	}
 
 	if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
-		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27337, libc.VaList(bp, zDb, zTab))
+		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27384, libc.VaList(bp, zDb, zTab))
 		if pStmt != 0 {
 			nAux = Xsqlite3_column_count(tls, pStmt) - 2
 			Xsqlite3_finalize(tls, pStmt)
@@ -124180,12 +124238,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		}
 	}
 
-	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25157, libc.VaList(bp+16, zDb, zTab))
+	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25204, libc.VaList(bp+16, zDb, zTab))
 	if pStmt != 0 {
 		var rc int32
 		(*RtreeCheck)(unsafe.Pointer(bp + 32)).FnDim = (Xsqlite3_column_count(tls, pStmt) - 1 - nAux) / 2
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).FnDim < 1 {
-			rtreeCheckAppendMsg(tls, bp+32, ts+27365, 0)
+			rtreeCheckAppendMsg(tls, bp+32, ts+27412, 0)
 		} else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).FbInt = libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)
 		}
@@ -124199,8 +124257,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			rtreeCheckNode(tls, bp+32, 0, uintptr(0), int64(1))
 		}
-		rtreeCheckCount(tls, bp+32, ts+27396, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
-		rtreeCheckCount(tls, bp+32, ts+27403, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27443, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27450, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
 	}
 
 	Xsqlite3_finalize(tls, (*RtreeCheck)(unsafe.Pointer(bp+32)).FpGetNode)
@@ -124208,7 +124266,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 + 24 + 1*4)))
 
 	if bEnd != 0 {
-		var rc int32 = Xsqlite3_exec(tls, db, ts+27411, uintptr(0), uintptr(0), uintptr(0))
+		var rc int32 = Xsqlite3_exec(tls, db, ts+27458, uintptr(0), uintptr(0), uintptr(0))
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).Frc = rc
 		}
@@ -124223,7 +124281,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 
 	if nArg != 1 && nArg != 2 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+27415, -1)
+			ts+27462, -1)
 	} else {
 		var rc int32
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
@@ -124241,7 +124299,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 				if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
 					return *(*uintptr)(unsafe.Pointer(bp))
 				}
-				return ts + 18012
+				return ts + 18059
 			}(), -1, libc.UintptrFromInt32(-1))
 		} else {
 			Xsqlite3_result_error_code(tls, ctx, rc)
@@ -124611,11 +124669,11 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var db uintptr = Xsqlite3_context_db_handle(tls, context)
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
-		Xsqlite3_str_append(tls, x, ts+27466, 1)
+		Xsqlite3_str_append(tls, x, ts+27513, 1)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27468, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27515, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27479, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27526, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -124635,19 +124693,19 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
 		var cSep int8 = int8('\'')
-		Xsqlite3_str_appendf(tls, x, ts+27490, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27537, 0)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27508, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27555, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 			cSep = int8(' ')
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27516, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27563, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		for i = 1; i < argc; i++ {
 			var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))
 			if z != 0 && *(*int8)(unsafe.Pointer(z)) != 0 {
-				Xsqlite3_str_appendf(tls, x, ts+27524, libc.VaList(bp+40, z))
+				Xsqlite3_str_appendf(tls, x, ts+27571, libc.VaList(bp+40, z))
 			}
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27528, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27575, 0)
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -125565,7 +125623,7 @@ __1:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*4)), uint32(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+27541, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+27588, 0)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1)
 	ii = 3
@@ -125574,7 +125632,7 @@ __2:
 		goto __4
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+27563, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4))))
+	Xsqlite3_str_appendf(tls, pSql, ts+27610, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4))))
 	goto __3
 __3:
 	ii++
@@ -125582,7 +125640,7 @@ __3:
 	goto __4
 __4:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26630, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26677, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __5
@@ -125819,7 +125877,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 	}
 	if iFuncTerm >= 0 {
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum
-		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27567
+		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27614
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).FargvIndex = 1
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).Fomit = uint8(0)
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 300.0
@@ -125827,7 +125885,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 		return SQLITE_OK
 	}
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4
-	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27573
+	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27620
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000)
 	return SQLITE_OK
@@ -125939,7 +125997,7 @@ __1:
 	if !(*(*int32)(unsafe.Pointer(bp + 48)) == SQLITE_ERROR) {
 		goto __4
 	}
-	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27582, 0)
+	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27629, 0)
 __4:
 	;
 	goto geopoly_update_end
@@ -126071,14 +126129,14 @@ geopoly_update_end:
 func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 {
 	_ = pVtab
 	_ = nArg
-	if Xsqlite3_stricmp(tls, zName, ts+27622) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27669) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyOverlapFunc}))
 		*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
 		return SQLITE_INDEX_CONSTRAINT_FUNCTION
 	}
-	if Xsqlite3_stricmp(tls, zName, ts+27638) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27685) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyWithinFunc}))
@@ -126143,7 +126201,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 {
 			uintptr(0), aAgg[i].FxStep, aAgg[i].FxFinal)
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27653, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27700, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
 	}
 	return rc
 }
@@ -126155,25 +126213,25 @@ var aFunc = [12]struct {
 	F__ccgo_pad1 [2]byte
 	FzName       uintptr
 }{
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27661},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27674},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27687},
-	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27700},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27638},
-	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27712},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27622},
-	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27735},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27749},
-	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27762},
-	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27776},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27792},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27708},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27721},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27734},
+	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27747},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27685},
+	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27759},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27669},
+	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27782},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27796},
+	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27809},
+	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27823},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27839},
 }
 var aAgg = [1]struct {
 	FxStep  uintptr
 	FxFinal uintptr
 	FzName  uintptr
 }{
-	{FxStep: 0, FxFinal: 0, FzName: ts + 27804},
+	{FxStep: 0, FxFinal: 0, FzName: ts + 27851},
 }
 
 // Register the r-tree module with database handle db. This creates the
@@ -126183,26 +126241,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 {
 	var utf8 int32 = SQLITE_UTF8
 	var rc int32
 
-	rc = Xsqlite3_create_function(tls, db, ts+27823, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	rc = Xsqlite3_create_function(tls, db, ts+27870, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr)
 	}{rtreenode})), uintptr(0), uintptr(0))
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27833, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27880, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreedepth})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27844, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27891, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreecheck})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_REAL32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27567, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27614, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_INT32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27855, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27902, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		rc = sqlite3_geopoly_init(tls, db)
@@ -126256,7 +126314,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
 			Xsqlite3_result_error_nomem(tls, ctx)
 			rtreeMatchArgFree(tls, pBlob)
 		} else {
-			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25143, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
+			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25190, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
 		}
 	}
 }
@@ -126571,7 +126629,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 
 	nOut = rbuDeltaOutputSize(tls, aDelta, nDelta)
 	if nOut < 0 {
-		Xsqlite3_result_error(tls, context, ts+27865, -1)
+		Xsqlite3_result_error(tls, context, ts+27912, -1)
 		return
 	}
 
@@ -126582,7 +126640,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 		nOut2 = rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut)
 		if nOut2 != nOut {
 			Xsqlite3_free(tls, aOut)
-			Xsqlite3_result_error(tls, context, ts+27865, -1)
+			Xsqlite3_result_error(tls, context, ts+27912, -1)
 		} else {
 			Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		}
@@ -126683,7 +126741,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuObjIterClearStatements(tls, pIter)
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) {
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+27886, uintptr(0), uintptr(0), p+36)
+				ts+27933, uintptr(0), uintptr(0), p+36)
 		}
 
 		if rc == SQLITE_OK {
@@ -126747,7 +126805,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) {
 				Xsqlite3_result_text(tls, pCtx, zIn, -1, uintptr(0))
 			}
 		} else {
-			if libc.Xstrlen(tls, zIn) > Size_t(4) && libc.Xmemcmp(tls, ts+25056, zIn, uint32(4)) == 0 {
+			if libc.Xstrlen(tls, zIn) > Size_t(4) && libc.Xmemcmp(tls, ts+25103, zIn, uint32(4)) == 0 {
 				var i int32
 				for i = 4; int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) >= '0' && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) <= '9'; i++ {
 				}
@@ -126768,16 +126826,16 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 
 	rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+36,
 		Xsqlite3_mprintf(tls,
-			ts+28057, libc.VaList(bp, func() uintptr {
+			ts+28104, libc.VaList(bp, func() uintptr {
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					return ts + 28207
+					return ts + 28254
 				}
 				return ts + 1554
 			}())))
 
 	if rc == SQLITE_OK {
 		rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+4, p+36,
-			ts+28248)
+			ts+28295)
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1
@@ -126893,7 +126951,7 @@ func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32, p+36,
 		Xsqlite3_mprintf(tls,
-			ts+28373, libc.VaList(bp, zTab)))
+			ts+28420, libc.VaList(bp, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) != SQLITE_ROW) {
 		goto __1
 	}
@@ -126911,7 +126969,7 @@ __2:
 	*(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), 1)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+1*4, p+36,
-		Xsqlite3_mprintf(tls, ts+28492, libc.VaList(bp+8, zTab)))
+		Xsqlite3_mprintf(tls, ts+28539, libc.VaList(bp+8, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) {
 		goto __3
 	}
@@ -126929,7 +126987,7 @@ __4:
 	}
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+2*4, p+36,
 		Xsqlite3_mprintf(tls,
-			ts+28513, libc.VaList(bp+16, zIdx)))
+			ts+28560, libc.VaList(bp+16, zIdx)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __7
 	}
@@ -126952,7 +127010,7 @@ __6:
 __5:
 	;
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+3*4, p+36,
-		Xsqlite3_mprintf(tls, ts+28564, libc.VaList(bp+24, zTab)))
+		Xsqlite3_mprintf(tls, ts+28611, libc.VaList(bp+24, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __10
 	}
@@ -126998,7 +127056,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		libc.Xmemcpy(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint32(unsafe.Sizeof(U8(0)))*uint32((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+16, p+36,
-			Xsqlite3_mprintf(tls, ts+28585, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28632, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0
@@ -127013,7 +127071,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 			libc.Xmemset(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0x01, uint32(unsafe.Sizeof(U8(0)))*uint32((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		}
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+20, p+36,
-			Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp+8, zIdx)))
+			Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp+8, zIdx)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 20))) {
 			var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 20)), 1)
 			if iCid >= 0 {
@@ -127053,7 +127111,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+36, bp+56, pIter+60)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19489, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19536, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
 			return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc
@@ -127063,18 +127121,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		}
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+60, p+36,
-			Xsqlite3_mprintf(tls, ts+28642, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
+			Xsqlite3_mprintf(tls, ts+28689, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 60)))
 			rbuAllocateIterArrays(tls, p, pIter, nCol)
 		}
 		for i = 0; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && i < nCol; i++ {
 			var zName uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 60)), i)
-			if Xsqlite3_strnicmp(tls, ts+28661, zName, 4) != 0 {
+			if Xsqlite3_strnicmp(tls, ts+28708, zName, 4) != 0 {
 				var zCopy uintptr = rbuStrndup(tls, zName, p+32)
 				*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol
 				*(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(libc.PostIncInt32(&(*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol, 1))*4)) = zCopy
-			} else if 0 == Xsqlite3_stricmp(tls, ts+28666, zName) {
+			} else if 0 == Xsqlite3_stricmp(tls, ts+28713, zName) {
 				bRbuRowid = 1
 			}
 		}
@@ -127086,18 +127144,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			bRbuRowid != libc.Bool32((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls,
-				ts+28676, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
+				ts+28723, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 					func() uintptr {
 						if bRbuRowid != 0 {
-							return ts + 28705
+							return ts + 28752
 						}
-						return ts + 28718
+						return ts + 28765
 					}()))
 		}
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+60, p+36,
-				Xsqlite3_mprintf(tls, ts+28727, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				Xsqlite3_mprintf(tls, ts+28774, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		}
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 60))) {
 			var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 60)), 1)
@@ -127111,7 +127169,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			}
 			if i == (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28749,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28796,
 					libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName))
 			} else {
 				var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 60)), 5)
@@ -127158,7 +127216,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var i int32
 	for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 		var z uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
-		zList = rbuMPrintf(tls, p, ts+28776, libc.VaList(bp, zList, zSep, z))
+		zList = rbuMPrintf(tls, p, ts+28823, libc.VaList(bp, zList, zSep, z))
 		zSep = ts + 14614
 	}
 	return zList
@@ -127176,7 +127234,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr,
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if int32(*(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
-				zRet = rbuMPrintf(tls, p, ts+28785, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
+				zRet = rbuMPrintf(tls, p, ts+28832, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
 				zSep = zSeparator
 				break
 			}
@@ -127198,25 +127256,25 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32,
 	if bRowid != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+36,
 			Xsqlite3_mprintf(tls,
-				ts+28798, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				ts+28845, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 			var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-			zRet = rbuMPrintf(tls, p, ts+28830, libc.VaList(bp+16, iMax))
+			zRet = rbuMPrintf(tls, p, ts+28877, libc.VaList(bp+16, iMax))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 	} else {
-		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+28853)
-		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28859, ts+28866, ts+4957)
+		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+28900)
+		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28906, ts+28913, ts+4957)
 		var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+1554)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+36,
 				Xsqlite3_mprintf(tls,
-					ts+28874,
+					ts+28921,
 					libc.VaList(bp+24, zSelect, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 				var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-				zRet = rbuMPrintf(tls, p, ts+28916, libc.VaList(bp+56, zList, zVal))
+				zRet = rbuMPrintf(tls, p, ts+28963, libc.VaList(bp+56, zList, zVal))
 			}
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 		}
@@ -127258,7 +127316,7 @@ func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	*(*uintptr)(unsafe.Pointer(bp + 176)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+36,
-		Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+		Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 __1:
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176)))) {
 		goto __2
@@ -127293,7 +127351,7 @@ __10:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
 	goto __7
 __6:
-	zCol = ts + 28936
+	zCol = ts + 28983
 __7:
 	;
 	goto __5
@@ -127301,11 +127359,11 @@ __4:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*4))
 __5:
 	;
-	zLhs = rbuMPrintf(tls, p, ts+28944,
+	zLhs = rbuMPrintf(tls, p, ts+28991,
 		libc.VaList(bp+8, zLhs, zSep, zCol, zCollate))
-	zOrder = rbuMPrintf(tls, p, ts+28965,
+	zOrder = rbuMPrintf(tls, p, ts+29012,
 		libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate))
-	zSelect = rbuMPrintf(tls, p, ts+29001,
+	zSelect = rbuMPrintf(tls, p, ts+29048,
 		libc.VaList(bp+80, zSelect, zSep, iCol, zCol))
 	zSep = ts + 14614
 	iCol++
@@ -127325,7 +127383,7 @@ __11:
 	*(*uintptr)(unsafe.Pointer(bp + 180)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+180, p+36,
-		Xsqlite3_mprintf(tls, ts+29028,
+		Xsqlite3_mprintf(tls, ts+29075,
 			libc.VaList(bp+112, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 180)))) {
 		goto __13
@@ -127352,7 +127410,7 @@ __19:
 	;
 __18:
 	;
-	zVector = rbuMPrintf(tls, p, ts+29076, libc.VaList(bp+136, zVector, zSep, zQuoted))
+	zVector = rbuMPrintf(tls, p, ts+29123, libc.VaList(bp+136, zVector, zSep, zQuoted))
 	zSep = ts + 14614
 	goto __15
 __15:
@@ -127364,7 +127422,7 @@ __16:
 	if !!(bFailed != 0) {
 		goto __20
 	}
-	zRet = rbuMPrintf(tls, p, ts+29083, libc.VaList(bp+160, zLhs, zVector))
+	zRet = rbuMPrintf(tls, p, ts+29130, libc.VaList(bp+160, zLhs, zVector))
 __20:
 	;
 __13:
@@ -127397,7 +127455,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 	if rc == SQLITE_OK {
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200, p+36,
-			Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+			Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 	}
 
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200))) {
@@ -127409,7 +127467,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 		if iCid == -2 {
 			var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 0)
-			zRet = Xsqlite3_mprintf(tls, ts+29095, libc.VaList(bp+8, zRet, zCom,
+			zRet = Xsqlite3_mprintf(tls, ts+29142, libc.VaList(bp+8, zRet, zCom,
 				(*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*8)).FnSpan, (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*8)).FzSpan, zCollate))
 			zType = ts + 1554
 		} else {
@@ -127421,37 +127479,37 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 					zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
 				} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					zCol = ts + 28936
+					zCol = ts + 28983
 				} else {
-					zCol = ts + 28666
+					zCol = ts + 28713
 				}
 				zType = ts + 1119
 			} else {
 				zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*4))
 				zType = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*4))
 			}
-			zRet = Xsqlite3_mprintf(tls, ts+29117, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
+			zRet = Xsqlite3_mprintf(tls, ts+29164, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 5) != 0 {
 			var zOrder uintptr = func() uintptr {
 				if bDesc != 0 {
-					return ts + 28853
+					return ts + 28900
 				}
 				return ts + 1554
 			}()
-			zImpPK = Xsqlite3_mprintf(tls, ts+29137,
+			zImpPK = Xsqlite3_mprintf(tls, ts+29184,
 				libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder))
 		}
-		zImpCols = Xsqlite3_mprintf(tls, ts+29158,
+		zImpCols = Xsqlite3_mprintf(tls, ts+29205,
 			libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate))
 		zWhere = Xsqlite3_mprintf(tls,
-			ts+29191, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
+			ts+29238, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
 		if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) {
 			rc = SQLITE_NOMEM
 		}
 		zCom = ts + 14614
-		zAnd = ts + 21525
+		zAnd = ts + 21572
 		nBind++
 	}
 
@@ -127490,9 +127548,9 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
-				zList = Xsqlite3_mprintf(tls, ts+29215, libc.VaList(bp, zList, zS, zObj, zCol))
+				zList = Xsqlite3_mprintf(tls, ts+29262, libc.VaList(bp, zList, zS, zObj, zCol))
 			} else {
-				zList = Xsqlite3_mprintf(tls, ts+29227, libc.VaList(bp+32, zList, zS))
+				zList = Xsqlite3_mprintf(tls, ts+29274, libc.VaList(bp+32, zList, zS))
 			}
 			zS = ts + 14614
 			if zList == uintptr(0) {
@@ -127502,7 +127560,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-			zList = rbuMPrintf(tls, p, ts+29236, libc.VaList(bp+48, zList, zObj))
+			zList = rbuMPrintf(tls, p, ts+29283, libc.VaList(bp+48, zList, zObj))
 		}
 	}
 	return zList
@@ -127514,18 +127572,18 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	var zList uintptr = uintptr(0)
 	if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-		zList = rbuMPrintf(tls, p, ts+29251, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
+		zList = rbuMPrintf(tls, p, ts+29298, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
 	} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
 		var zSep uintptr = ts + 1554
 		var i int32
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
-				zList = rbuMPrintf(tls, p, ts+29265, libc.VaList(bp+8, zList, zSep, i, i+1))
-				zSep = ts + 21525
+				zList = rbuMPrintf(tls, p, ts+29312, libc.VaList(bp+8, zList, zSep, i, i+1))
+				zSep = ts + 21572
 			}
 		}
 		zList = rbuMPrintf(tls, p,
-			ts+29277, libc.VaList(bp+40, zList))
+			ts+29324, libc.VaList(bp+40, zList))
 
 	} else {
 		var zSep uintptr = ts + 1554
@@ -127533,8 +127591,8 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
-				zList = rbuMPrintf(tls, p, ts+29327, libc.VaList(bp+48, zList, zSep, zCol, i+1))
-				zSep = ts + 21525
+				zList = rbuMPrintf(tls, p, ts+29374, libc.VaList(bp+48, zList, zSep, zCol, i+1))
+				zSep = ts + 21572
 			}
 		}
 	}
@@ -127543,7 +127601,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 func rbuBadControlError(tls *libc.TLS, p uintptr) {
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29340, 0)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29387, 0)
 }
 
 func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr {
@@ -127561,15 +127619,15 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr
 			for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 				var c int8 = *(*int8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4)))))
 				if int32(c) == 'x' {
-					zList = rbuMPrintf(tls, p, ts+29327,
+					zList = rbuMPrintf(tls, p, ts+29374,
 						libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+1))
 					zSep = ts + 14614
 				} else if int32(c) == 'd' {
-					zList = rbuMPrintf(tls, p, ts+29366,
+					zList = rbuMPrintf(tls, p, ts+29413,
 						libc.VaList(bp+32, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+1))
 					zSep = ts + 14614
 				} else if int32(c) == 'f' {
-					zList = rbuMPrintf(tls, p, ts+29396,
+					zList = rbuMPrintf(tls, p, ts+29443,
 						libc.VaList(bp+72, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+1))
 					zSep = ts + 14614
 				}
@@ -127606,19 +127664,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var z uintptr = uintptr(0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		var zSep uintptr = ts + 29433
+		var zSep uintptr = ts + 29480
 		*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 		*(*uintptr)(unsafe.Pointer(bp + 60)) = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56, p+36,
-			Xsqlite3_mprintf(tls, ts+28585, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28632, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) {
 			var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 3)
 			if zOrig != 0 && libc.Xstrcmp(tls, zOrig, ts+16155) == 0 {
 				var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 1)
 				if zIdx != 0 {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+60, p+36,
-						Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp+8, zIdx)))
+						Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp+8, zIdx)))
 				}
 				break
 			}
@@ -127630,15 +127688,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 				var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 60)), 2)
 				var zDesc uintptr
 				if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 60)), 3) != 0 {
-					zDesc = ts + 28853
+					zDesc = ts + 28900
 				} else {
 					zDesc = ts + 1554
 				}
-				z = rbuMPrintf(tls, p, ts+29446, libc.VaList(bp+16, z, zSep, zCol, zDesc))
+				z = rbuMPrintf(tls, p, ts+29493, libc.VaList(bp+16, z, zSep, zCol, zDesc))
 				zSep = ts + 14614
 			}
 		}
-		z = rbuMPrintf(tls, p, ts+29457, libc.VaList(bp+48, z))
+		z = rbuMPrintf(tls, p, ts+29504, libc.VaList(bp+48, z))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 60)))
 	}
 	return z
@@ -127658,7 +127716,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		var zPk uintptr = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168, p+36,
-			ts+29461)
+			ts+29508)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168)), 1, tnum)
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168))) {
@@ -127667,7 +127725,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		}
 		if zIdx != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+172, p+36,
-				Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp, zIdx)))
+				Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp, zIdx)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168)))
 
@@ -127677,23 +127735,23 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 				var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 172)), 1)
 				var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 172)), 3)
 				var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 172)), 4)
-				zCols = rbuMPrintf(tls, p, ts+29511, libc.VaList(bp+8, zCols, zComma,
+				zCols = rbuMPrintf(tls, p, ts+29558, libc.VaList(bp+8, zCols, zComma,
 					iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*4)), zCollate))
-				zPk = rbuMPrintf(tls, p, ts+29533, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
+				zPk = rbuMPrintf(tls, p, ts+29580, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
 					if bDesc != 0 {
-						return ts + 28853
+						return ts + 28900
 					}
 					return ts + 1554
 				}()))
 				zComma = ts + 14614
 			}
 		}
-		zCols = rbuMPrintf(tls, p, ts+29543, libc.VaList(bp+80, zCols))
+		zCols = rbuMPrintf(tls, p, ts+29590, libc.VaList(bp+80, zCols))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 172)))
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 1, tnum))
 		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+29558,
+			ts+29605,
 			libc.VaList(bp+120, zCols, zPk))
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 0, 0))
 	}
@@ -127719,13 +127777,13 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192, uintptr(0), uintptr(0), uintptr(0))
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 {
-				zPk = ts + 29620
+				zPk = ts + 29667
 			}
-			zSql = rbuMPrintf(tls, p, ts+29633,
+			zSql = rbuMPrintf(tls, p, ts+29680,
 				libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*4)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192)),
 					func() uintptr {
 						if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 {
-							return ts + 29660
+							return ts + 29707
 						}
 						return ts + 1554
 					}()))
@@ -127735,16 +127793,16 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
 			var zPk uintptr = rbuWithoutRowidPK(tls, p, pIter)
 			if zPk != 0 {
-				zSql = rbuMPrintf(tls, p, ts+29670, libc.VaList(bp+88, zSql, zPk))
+				zSql = rbuMPrintf(tls, p, ts+29717, libc.VaList(bp+88, zSql, zPk))
 			}
 		}
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 1, tnum))
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29677,
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29724,
 			libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql,
 				func() uintptr {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
-						return ts + 29709
+						return ts + 29756
 					}
 					return ts + 1554
 				}()))
@@ -127761,7 +127819,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis
 	if zBind != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+88, p+36, Xsqlite3_mprintf(tls,
-				ts+29724,
+				ts+29771,
 				libc.VaList(bp, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind)))
 	}
 }
@@ -127798,7 +127856,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	if *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(bp + 4)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36,
-			ts+29781)
+			ts+29828)
 	}
 	if *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK {
 		var rc2 int32
@@ -127903,7 +127961,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 		var zLimit uintptr = uintptr(0)
 
 		if nOffset != 0 {
-			zLimit = Xsqlite3_mprintf(tls, ts+29847, libc.VaList(bp, nOffset))
+			zLimit = Xsqlite3_mprintf(tls, ts+29894, libc.VaList(bp, nOffset))
 			if !(zLimit != 0) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
 			}
@@ -127926,7 +127984,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 0, 1))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 1, tnum))
 			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+29867,
+				ts+29914,
 				libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600)), *(*uintptr)(unsafe.Pointer(bp + 604))))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 0, 0))
 
@@ -127934,13 +127992,13 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+80, p+36,
-					Xsqlite3_mprintf(tls, ts+29932, libc.VaList(bp+128, zTbl, zBind)))
+					Xsqlite3_mprintf(tls, ts+29979, libc.VaList(bp+128, zTbl, zBind)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+84, p+36,
-					Xsqlite3_mprintf(tls, ts+29968, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 608)))))
+					Xsqlite3_mprintf(tls, ts+30015, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 608)))))
 			}
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -127956,7 +128014,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					}
 
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30002,
+						ts+30049,
 						libc.VaList(bp+160, zCollist,
 							(*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
@@ -127964,9 +128022,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								if zStart != 0 {
 									return func() uintptr {
 										if zPart != 0 {
-											return ts + 30063
+											return ts + 30110
 										}
-										return ts + 30067
+										return ts + 30114
 									}()
 								}
 								return ts + 1554
@@ -127975,20 +128033,20 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					Xsqlite3_free(tls, zStart)
 				} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30073,
+						ts+30120,
 						libc.VaList(bp+216, zCollist, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart, zCollist, zLimit))
 				} else {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30134,
+						ts+30181,
 						libc.VaList(bp+264, zCollist, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart,
 							zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
 							func() uintptr {
 								if zPart != 0 {
-									return ts + 30063
+									return ts + 30110
 								}
-								return ts + 30067
+								return ts + 30114
 							}(),
 							zCollist, zLimit))
 				}
@@ -128025,16 +128083,16 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB {
 					return ts + 1554
 				}
-				return ts + 30293
+				return ts + 30340
 			}()
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+80, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30302,
+						ts+30349,
 						libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr {
 							if bRbuRowid != 0 {
-								return ts + 30338
+								return ts + 30385
 							}
 							return ts + 1554
 						}(), zBindings)))
@@ -128043,32 +128101,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+84, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30348, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
+						ts+30395, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 				var zRbuRowid uintptr = ts + 1554
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-					zRbuRowid = ts + 30376
+					zRbuRowid = ts + 30423
 				}
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-					ts+30388, libc.VaList(bp+408, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
+					ts+30435, libc.VaList(bp+408, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
 						if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
-							return ts + 30464
+							return ts + 30511
 						}
 						return ts + 1554
 					}(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-					ts+30481,
+					ts+30528,
 					libc.VaList(bp+440, zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zNewlist))
 
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-						ts+30780,
+						ts+30827,
 						libc.VaList(bp+512, zWrite, zTbl, zNewlist))
 				}
 
@@ -128081,9 +128139,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				var zOrder uintptr = uintptr(0)
 				if bRbuRowid != 0 {
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-						zRbuRowid = ts + 30879
+						zRbuRowid = ts + 30926
 					} else {
-						zRbuRowid = ts + 30889
+						zRbuRowid = ts + 30936
 					}
 				}
 
@@ -128096,7 +128154,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 						}
 					}
 					if bRbuRowid != 0 {
-						zOrder = rbuMPrintf(tls, p, ts+28936, 0)
+						zOrder = rbuMPrintf(tls, p, ts+28983, 0)
 					} else {
 						zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+1554)
 					}
@@ -128105,11 +128163,11 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+76, pz,
 						Xsqlite3_mprintf(tls,
-							ts+30900,
+							ts+30947,
 							libc.VaList(bp+536, zCollist,
 								func() uintptr {
 									if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-										return ts + 30948
+										return ts + 30995
 									}
 									return ts + 1554
 								}(),
@@ -128122,7 +128180,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								}(),
 								func() uintptr {
 									if zOrder != 0 {
-										return ts + 22859
+										return ts + 22906
 									}
 									return ts + 1554
 								}(), zOrder,
@@ -128190,9 +128248,9 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp
 			var zPrefix uintptr = ts + 1554
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB {
-				zPrefix = ts + 30293
+				zPrefix = ts + 30340
 			}
-			zUpdate = Xsqlite3_mprintf(tls, ts+30954,
+			zUpdate = Xsqlite3_mprintf(tls, ts+31001,
 				libc.VaList(bp, zPrefix, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere))
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+4, p+36, zUpdate)
@@ -128251,7 +128309,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr {
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 12)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8, p+36,
-		Xsqlite3_mprintf(tls, ts+30984, libc.VaList(bp, p+24)))
+		Xsqlite3_mprintf(tls, ts+31031, libc.VaList(bp, p+24)))
 	for *(*int32)(unsafe.Pointer(bp + 12)) == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 		switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0) {
 		case RBU_STATE_STAGE:
@@ -128324,18 +128382,18 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441, SQLITE_FCNTL_RBUCNT, p)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) {
 			var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441)
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31014, libc.VaList(bp, zFile, zFile))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31061, libc.VaList(bp, zFile, zFile))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 {
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31042, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31089, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
 		libc.Xmemcpy(tls, p+24, ts+3286, uint32(4))
 	} else {
 		libc.Xmemcpy(tls, p+24, ts+6441, uint32(4))
 	}
 
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31060, libc.VaList(bp+24, p+24))
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31107, libc.VaList(bp+24, p+24))
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		var bOpen int32 = 0
@@ -128375,11 +128433,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				return
 			}
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31126, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31173, 0)
 		} else {
 			var zTarget uintptr
 			var zExtra uintptr = uintptr(0)
-			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= Size_t(5) && 0 == libc.Xmemcmp(tls, ts+24206, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint32(5)) {
+			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= Size_t(5) && 0 == libc.Xmemcmp(tls, ts+24253, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint32(5)) {
 				zExtra = (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5
 				for *(*int8)(unsafe.Pointer(zExtra)) != 0 {
 					if int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zExtra, 1)))) == '?' {
@@ -128391,13 +128449,13 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				}
 			}
 
-			zTarget = Xsqlite3_mprintf(tls, ts+31158,
+			zTarget = Xsqlite3_mprintf(tls, ts+31205,
 				libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441),
 					func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1554
 						}
-						return ts + 31190
+						return ts + 31237
 					}(), func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1554
@@ -128416,21 +128474,21 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31192, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31239, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTmpInsertFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31207, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31254, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuFossilDeltaFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+31224, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31271, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTargetNameFunc})), uintptr(0), uintptr(0))
 	}
@@ -128438,7 +128496,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, SQLITE_FCNTL_RBU, p)
 	}
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31240, 0)
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31287, 0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, SQLITE_FCNTL_RBU, p)
@@ -128446,7 +128504,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31268, 0)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31315, 0)
 	}
 }
 
@@ -128475,14 +128533,14 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
 	if pState == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = 0
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31240, uintptr(0), uintptr(0), uintptr(0))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31287, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var rc2 int32
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CAPTURE
-		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31286, uintptr(0), uintptr(0), uintptr(0))
+		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31333, uintptr(0), uintptr(0), uintptr(0))
 		if rc2 != SQLITE_NOTICE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 		}
@@ -128608,7 +128666,7 @@ func rbuLockDatabase(tls *libc.TLS, db uintptr) int32 {
 
 func rbuExclusiveCheckpoint(tls *libc.TLS, db uintptr) int32 {
 	var zUri uintptr = Xsqlite3_db_filename(tls, db, uintptr(0))
-	return Xsqlite3_uri_boolean(tls, zUri, ts+31321, 0)
+	return Xsqlite3_uri_boolean(tls, zUri, ts+31368, 0)
 }
 
 func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
@@ -128623,8 +128681,8 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441)
 	}
-	zOal = Xsqlite3_mprintf(tls, ts+31346, libc.VaList(bp, zMove))
-	zWal = Xsqlite3_mprintf(tls, ts+31353, libc.VaList(bp+8, zMove))
+	zOal = Xsqlite3_mprintf(tls, ts+31393, libc.VaList(bp, zMove))
+	zWal = Xsqlite3_mprintf(tls, ts+31400, libc.VaList(bp+8, zMove))
 
 	if zWal == uintptr(0) || zOal == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
@@ -128741,7 +128799,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) {
 			(*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 &&
 			Xsqlite3_column_type(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect, i) == SQLITE_NULL {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_MISMATCH
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23844, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23891, 0)
 			return
 		}
 
@@ -128834,7 +128892,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 		var iCookie int32 = 1000000
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8, p+36,
-			ts+31360)
+			ts+31407)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 				iCookie = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0)
@@ -128842,7 +128900,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8)))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31382, libc.VaList(bp, iCookie+1))
+			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31429, libc.VaList(bp, iCookie+1))
 		}
 	}
 }
@@ -128863,7 +128921,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) {
 
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168, p+36,
 			Xsqlite3_mprintf(tls,
-				ts+31409,
+				ts+31456,
 				libc.VaList(bp, p+24,
 					RBU_STATE_STAGE, eStage,
 					RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl,
@@ -128893,9 +128951,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24, p+36,
-			Xsqlite3_mprintf(tls, ts+31567, libc.VaList(bp, zPragma)))
+			Xsqlite3_mprintf(tls, ts+31614, libc.VaList(bp, zPragma)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31582,
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31629,
 				libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 0)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -128909,10 +128967,10 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 	*(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(0)
 
-	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31602, uintptr(0), uintptr(0), p+36)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31649, uintptr(0), uintptr(0), p+36)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36,
-			ts+31627)
+			ts+31674)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -128926,12 +128984,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36,
-			ts+31735)
+			ts+31782)
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4, p+36,
-			ts+31800)
+			ts+31847)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -128943,7 +129001,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
 	}
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31844, uintptr(0), uintptr(0), p+36)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31891, uintptr(0), uintptr(0), p+36)
 	}
 
 	rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp)))
@@ -128971,7 +129029,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 {
 						if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 							rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-								ts+31869, libc.VaList(bp, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
+								ts+31916, libc.VaList(bp, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 						}
 					} else {
 						rbuObjIterPrepareAll(tls, p, pIter, 0)
@@ -129093,7 +129151,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) {
 
 		if rc == SQLITE_OK && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) {
 			rc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31897, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31944, 0)
 		}
 
 		if rc == SQLITE_OK {
@@ -129109,7 +129167,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) {
 	bp := tls.Alloc(12)
 	defer tls.Free(12)
 
-	var zOal uintptr = rbuMPrintf(tls, p, ts+31346, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
+	var zOal uintptr = rbuMPrintf(tls, p, ts+31393, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
 	if zOal != 0 {
 		*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, SQLITE_FCNTL_VFS_POINTER, bp+8)
@@ -129126,7 +129184,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) {
 	defer tls.Free(76)
 
 	Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8)
-	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+31922, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
+	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+31969, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12, uintptr(0))
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12)
@@ -129160,7 +129218,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) {
 
 	rc = prepareFreeAndCollectError(tls, db, bp+8, bp+12,
 		Xsqlite3_mprintf(tls,
-			ts+31933, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
+			ts+31980, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
 	if rc != SQLITE_OK {
 		Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 12)), -1)
 	} else {
@@ -129190,13 +129248,13 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+32005, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+32052, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuIndexCntFunc})), uintptr(0), uintptr(0))
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36,
-				ts+32019)
+				ts+32066)
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
@@ -129207,7 +129265,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && bExists != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36,
-				ts+32076)
+				ts+32123)
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
@@ -129281,7 +129339,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd != 0 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32150, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32197, 0)
 			} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_MOVE {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CKPT
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FnStep = 0
@@ -129299,12 +129357,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 			}()
 			if (*Rbu_file)(unsafe.Pointer(pFd)).FiCookie != (*RbuState)(unsafe.Pointer(pState)).FiCookie {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32182,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32229,
 					libc.VaList(bp+8, func() uintptr {
 						if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-							return ts + 32214
+							return ts + 32261
 						}
-						return ts + 32221
+						return ts + 32268
 					}()))
 			}
 		}
@@ -129328,14 +129386,14 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32228, uintptr(0), uintptr(0), p+36)
+						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32275, uintptr(0), uintptr(0), p+36)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 						var frc int32 = Xsqlite3_file_control(tls, db, ts+6441, SQLITE_FCNTL_ZIPVFS, uintptr(0))
 						if frc == SQLITE_OK {
 							(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls,
-								db, ts+32244, uintptr(0), uintptr(0), p+36)
+								db, ts+32291, uintptr(0), uintptr(0), p+36)
 						}
 					}
 
@@ -129389,7 +129447,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr
 	}
 	if zState != 0 {
 		var n int32 = int32(libc.Xstrlen(tls, zState))
-		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32268, zState+uintptr(n-7), uint32(7)) {
+		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32315, zState+uintptr(n-7), uint32(7)) {
 			return rbuMisuseError(tls)
 		}
 	}
@@ -129416,7 +129474,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) {
 		var i uint32
 		var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg)
 		for i = uint32(0); i < nErrmsg-Size_t(8); i++ {
-			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30293, uint32(8)) == 0 {
+			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30340, uint32(8)) == 0 {
 				var nDel int32 = 8
 				for int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= '0' && int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= '9' {
 					nDel++
@@ -129452,7 +129510,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 {
 		rbuObjIterFinalize(tls, p+48)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 {
-			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32276, uintptr(0), uintptr(0), uintptr(0))
+			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32323, uintptr(0), uintptr(0), uintptr(0))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE && rc2 != SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 			}
@@ -129571,12 +129629,12 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 				zBegin = ts + 14503
 			} else {
-				zBegin = ts + 32228
+				zBegin = ts + 32275
 			}
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32228, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32275, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -129922,7 +129980,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 			})(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16)
 			if rc == SQLITE_OK {
 				rc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32303, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32350, 0)
 			} else if rc == SQLITE_NOTFOUND {
 				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p
 				(*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu
@@ -129947,7 +130005,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 	if rc == SQLITE_OK && op == SQLITE_FCNTL_VFSNAME {
 		var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs
 		var zIn uintptr = *(*uintptr)(unsafe.Pointer(pArg))
-		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32326, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
+		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32373, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
 		*(*uintptr)(unsafe.Pointer(pArg)) = zOut
 		if zOut == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -130107,7 +130165,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags
 	}
 
 	if oflags&SQLITE_OPEN_MAIN_DB != 0 &&
-		Xsqlite3_uri_boolean(tls, zName, ts+32337, 0) != 0 {
+		Xsqlite3_uri_boolean(tls, zName, ts+32384, 0) != 0 {
 		oflags = SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE
 		zOpen = uintptr(0)
 	}
@@ -130932,7 +130990,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 		rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0))
 		if rc == SQLITE_OK {
 			zPragma = Xsqlite3_mprintf(tls,
-				ts+32348, 0)
+				ts+32395, 0)
 		} else if rc == SQLITE_ERROR {
 			zPragma = Xsqlite3_mprintf(tls, ts+1554, 0)
 		} else {
@@ -130945,7 +131003,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 			return rc
 		}
 	} else {
-		zPragma = Xsqlite3_mprintf(tls, ts+32469, libc.VaList(bp, zDb, zThis))
+		zPragma = Xsqlite3_mprintf(tls, ts+32516, libc.VaList(bp, zDb, zThis))
 	}
 	if !(zPragma != 0) {
 		*(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0)
@@ -131624,9 +131682,9 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr,
 
 	for i = 0; i < nCol; i++ {
 		if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
-			zRet = Xsqlite3_mprintf(tls, ts+32498,
+			zRet = Xsqlite3_mprintf(tls, ts+32545,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4))))
-			zSep = ts + 21525
+			zSep = ts + 21572
 			if zRet == uintptr(0) {
 				break
 			}
@@ -131649,9 +131707,9 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 		if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 {
 			bHave = 1
 			zRet = Xsqlite3_mprintf(tls,
-				ts+32532,
+				ts+32579,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4))))
-			zSep = ts + 32573
+			zSep = ts + 32620
 			if zRet == uintptr(0) {
 				break
 			}
@@ -131659,7 +131717,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 	}
 
 	if bHave == 0 {
-		zRet = Xsqlite3_mprintf(tls, ts+7530, 0)
+		zRet = Xsqlite3_mprintf(tls, ts+7519, 0)
 	}
 
 	return zRet
@@ -131670,7 +131728,7 @@ func sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, zTbl uintpt
 	defer tls.Free(40)
 
 	var zRet uintptr = Xsqlite3_mprintf(tls,
-		ts+32578,
+		ts+32625,
 		libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr))
 	return zRet
 }
@@ -131713,7 +131771,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro
 		rc = SQLITE_NOMEM
 	} else {
 		var zStmt uintptr = Xsqlite3_mprintf(tls,
-			ts+32656,
+			ts+32703,
 			libc.VaList(bp, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2))
 		if zStmt == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -131840,7 +131898,7 @@ __6:
 	if !(pzErrMsg != 0) {
 		goto __16
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32709, 0)
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32756, 0)
 __16:
 	;
 	rc = SQLITE_SCHEMA
@@ -132316,7 +132374,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 
 	if 0 == Xsqlite3_stricmp(tls, ts+11348, zTab) {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+32736, libc.VaList(bp, zDb))
+			ts+32783, libc.VaList(bp, zDb))
 		if zSql == uintptr(0) {
 			*(*int32)(unsafe.Pointer(bp + 20)) = SQLITE_NOMEM
 		}
@@ -132325,18 +132383,18 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 		var zSep uintptr = ts + 1554
 		*(*SessionBuffer)(unsafe.Pointer(bp + 8)) = SessionBuffer{}
 
-		sessionAppendStr(tls, bp+8, ts+32846, bp+20)
+		sessionAppendStr(tls, bp+8, ts+32893, bp+20)
 		sessionAppendIdent(tls, bp+8, zDb, bp+20)
 		sessionAppendStr(tls, bp+8, ts+1567, bp+20)
 		sessionAppendIdent(tls, bp+8, zTab, bp+20)
-		sessionAppendStr(tls, bp+8, ts+32861, bp+20)
+		sessionAppendStr(tls, bp+8, ts+32908, bp+20)
 		for i = 0; i < nCol; i++ {
 			if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
 				sessionAppendStr(tls, bp+8, zSep, bp+20)
 				sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), bp+20)
-				sessionAppendStr(tls, bp+8, ts+32869, bp+20)
+				sessionAppendStr(tls, bp+8, ts+32916, bp+20)
 				sessionAppendInteger(tls, bp+8, i+1, bp+20)
-				zSep = ts + 21525
+				zSep = ts + 21572
 			}
 		}
 		zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8)).FaBuf
@@ -132445,7 +132503,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 {
 		return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc
 	}
-	*(*int32)(unsafe.Pointer(bp + 24)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32875, uintptr(0), uintptr(0), uintptr(0))
+	*(*int32)(unsafe.Pointer(bp + 24)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32922, uintptr(0), uintptr(0), uintptr(0))
 	if *(*int32)(unsafe.Pointer(bp + 24)) != SQLITE_OK {
 		return *(*int32)(unsafe.Pointer(bp + 24))
 	}
@@ -132537,7 +132595,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	}
 
 	Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+12)).FaBuf)
-	Xsqlite3_exec(tls, db, ts+32895, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+32942, uintptr(0), uintptr(0), uintptr(0))
 	Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db))
 	return *(*int32)(unsafe.Pointer(bp + 24))
 }
@@ -132800,7 +132858,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 		rc = sessionInputBuffer(tls, pIn, 9)
 		if rc == SQLITE_OK {
 			if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData {
-				rc = Xsqlite3CorruptError(tls, 219078)
+				rc = Xsqlite3CorruptError(tls, 219169)
 			} else {
 				eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1)))))
 
@@ -132823,7 +132881,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 				rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
 				if rc == SQLITE_OK {
 					if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext {
-						rc = Xsqlite3CorruptError(tls, 219098)
+						rc = Xsqlite3CorruptError(tls, 219189)
 					} else {
 						var enc U8 = func() uint8 {
 							if eType == SQLITE_TEXT {
@@ -132865,7 +132923,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in
 		nRead = nRead + sessionVarintGet(tls, (*SessionInput)(unsafe.Pointer(pIn)).FaData+uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext+nRead), bp)
 
 		if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > 65536 {
-			rc = Xsqlite3CorruptError(tls, 219152)
+			rc = Xsqlite3CorruptError(tls, 219243)
 		} else {
 			rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100)
 			nRead = nRead + *(*int32)(unsafe.Pointer(bp))
@@ -132926,7 +132984,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 {
 			(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
 			sessionBufferGrow(tls, p+44, int64(nByte), bp+4)
 		} else {
-			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219240)
+			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219331)
 		}
 	}
 
@@ -133000,13 +133058,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 	}
 
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
-		return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219326))
+		return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219417))
 	}
 
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op)
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))))
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT {
-		return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219332))
+		return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219423))
 	}
 
 	if paRec != 0 {
@@ -133068,7 +133126,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 				if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4))
 					if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4)) == uintptr(0) {
-						return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219376))
+						return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219467))
 					}
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4)) = uintptr(0)
 				}
@@ -133441,7 +133499,7 @@ __27:
 	goto __6
 
 __11:
-	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 219741)
+	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 219832)
 	goto finished_invert
 __6:
 	;
@@ -133618,34 +133676,34 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32,
 				(*SessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*12
 				libc.Xmemcpy(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint32(nU32)*uint32(unsafe.Sizeof(U32(0))))
 
-				sessionAppendStr(tls, bp, ts+32913, bp+12)
+				sessionAppendStr(tls, bp, ts+32960, bp+12)
 				sessionAppendIdent(tls, bp, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+12)
-				sessionAppendStr(tls, bp, ts+32926, bp+12)
+				sessionAppendStr(tls, bp, ts+32973, bp+12)
 
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*4)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+12)
 						sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*4)), bp+12)
-						sessionAppendStr(tls, bp, ts+32932, bp+12)
+						sessionAppendStr(tls, bp, ts+32979, bp+12)
 						sessionAppendInteger(tls, bp, ii*2+1, bp+12)
 						zSep = ts + 14614
 					}
 				}
 
 				zSep = ts + 1554
-				sessionAppendStr(tls, bp, ts+32861, bp+12)
+				sessionAppendStr(tls, bp, ts+32908, bp+12)
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*4)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+12)
 						if bStat1 != 0 && ii == 1 {
 							sessionAppendStr(tls, bp,
-								ts+32937, bp+12)
+								ts+32984, bp+12)
 						} else {
 							sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*4)), bp+12)
-							sessionAppendStr(tls, bp, ts+32869, bp+12)
+							sessionAppendStr(tls, bp, ts+32916, bp+12)
 							sessionAppendInteger(tls, bp, ii*2+2, bp+12)
 						}
-						zSep = ts + 21525
+						zSep = ts + 21572
 					}
 				}
 
@@ -133697,34 +133755,34 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 	var nPk int32 = 0
 
-	sessionAppendStr(tls, bp, ts+33012, bp+12)
+	sessionAppendStr(tls, bp, ts+33059, bp+12)
 	sessionAppendIdent(tls, bp, zTab, bp+12)
-	sessionAppendStr(tls, bp, ts+32861, bp+12)
+	sessionAppendStr(tls, bp, ts+32908, bp+12)
 
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 			nPk++
 			sessionAppendStr(tls, bp, zSep, bp+12)
 			sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12)
-			sessionAppendStr(tls, bp, ts+32932, bp+12)
+			sessionAppendStr(tls, bp, ts+32979, bp+12)
 			sessionAppendInteger(tls, bp, i+1, bp+12)
-			zSep = ts + 21525
+			zSep = ts + 21572
 		}
 	}
 
 	if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol {
-		sessionAppendStr(tls, bp, ts+33030, bp+12)
+		sessionAppendStr(tls, bp, ts+33077, bp+12)
 		sessionAppendInteger(tls, bp, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol+1, bp+12)
-		sessionAppendStr(tls, bp, ts+32573, bp+12)
+		sessionAppendStr(tls, bp, ts+32620, bp+12)
 
 		zSep = ts + 1554
 		for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 			if !(int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i)))) != 0) {
 				sessionAppendStr(tls, bp, zSep, bp+12)
 				sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12)
-				sessionAppendStr(tls, bp, ts+32869, bp+12)
+				sessionAppendStr(tls, bp, ts+32916, bp+12)
 				sessionAppendInteger(tls, bp, i+1, bp+12)
-				zSep = ts + 33038
+				zSep = ts + 33085
 			}
 		}
 		sessionAppendStr(tls, bp, ts+4957, bp+12)
@@ -133751,9 +133809,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	var i int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 
-	sessionAppendStr(tls, bp, ts+33043, bp+12)
+	sessionAppendStr(tls, bp, ts+33090, bp+12)
 	sessionAppendIdent(tls, bp, zTab, bp+12)
-	sessionAppendStr(tls, bp, ts+21531, bp+12)
+	sessionAppendStr(tls, bp, ts+21578, bp+12)
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if i != 0 {
 			sessionAppendStr(tls, bp, ts+14614, bp+12)
@@ -133761,9 +133819,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 		sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12)
 	}
 
-	sessionAppendStr(tls, bp, ts+33061, bp+12)
+	sessionAppendStr(tls, bp, ts+33108, bp+12)
 	for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
-		sessionAppendStr(tls, bp, ts+33072, bp+12)
+		sessionAppendStr(tls, bp, ts+33119, bp+12)
 	}
 	sessionAppendStr(tls, bp, ts+4957, bp+12)
 
@@ -133782,11 +133840,11 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 {
 	var rc int32 = sessionSelectRow(tls, db, ts+11348, p)
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+8,
-			ts+33076)
+			ts+33123)
 	}
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+4,
-			ts+33189)
+			ts+33236)
 	}
 	return rc
 }
@@ -133814,7 +133872,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab
 				f func(*libc.TLS, uintptr, int32, uintptr) int32
 			})(unsafe.Pointer(&struct{ uintptr }{xValue})).f(tls, pIter, i, bp)
 			if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
-				rc = Xsqlite3CorruptError(tls, 220219)
+				rc = Xsqlite3CorruptError(tls, 220310)
 			} else {
 				rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp)))
 			}
@@ -134067,7 +134125,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 		if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
 			rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 		} else if *(*int32)(unsafe.Pointer(bp)) != 0 {
-			rc = Xsqlite3_exec(tls, db, ts+33333, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33380, uintptr(0), uintptr(0), uintptr(0))
 			if rc == SQLITE_OK {
 				rc = sessionBindRow(tls, pIter,
 					*(*uintptr)(unsafe.Pointer(&struct {
@@ -134083,7 +134141,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 				rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 			}
 			if rc == SQLITE_OK {
-				rc = Xsqlite3_exec(tls, db, ts+33354, uintptr(0), uintptr(0), uintptr(0))
+				rc = Xsqlite3_exec(tls, db, ts+33401, uintptr(0), uintptr(0), uintptr(0))
 			}
 		}
 	}
@@ -134156,10 +134214,10 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 	(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FbInvertConstraints = libc.BoolInt32(!!(flags&SQLITE_CHANGESETAPPLY_INVERT != 0))
 	Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db))
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
-		rc = Xsqlite3_exec(tls, db, ts+33373, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33420, uintptr(0), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_exec(tls, db, ts+33399, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33446, uintptr(0), uintptr(0), uintptr(0))
 	}
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3changeset_next(tls, pIter) {
 		Xsqlite3changeset_op(tls, pIter, bp+124, bp+128, bp+132, uintptr(0))
@@ -134218,16 +134276,16 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 				if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol == 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33429, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 140))))
+						ts+33476, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 140))))
 				} else if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol < *(*int32)(unsafe.Pointer(bp + 128)) {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33473,
+						ts+33520,
 						libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 140)), (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol, *(*int32)(unsafe.Pointer(bp + 128))))
 				} else if *(*int32)(unsafe.Pointer(bp + 128)) < nMinCol || libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 136)), uint32(*(*int32)(unsafe.Pointer(bp + 128)))) != 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33544, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 140))))
+						ts+33591, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 140))))
 				} else {
 					(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FnCol = *(*int32)(unsafe.Pointer(bp + 128))
 					if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 140)), ts+11348) {
@@ -134281,14 +134339,14 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 			}
 		}
 	}
-	Xsqlite3_exec(tls, db, ts+33604, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+33651, uintptr(0), uintptr(0), uintptr(0))
 
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, db, ts+33634, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33681, uintptr(0), uintptr(0), uintptr(0))
 		} else {
-			Xsqlite3_exec(tls, db, ts+33658, uintptr(0), uintptr(0), uintptr(0))
-			Xsqlite3_exec(tls, db, ts+33634, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33705, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33681, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -135520,7 +135578,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) {
 		fts5yy_pop_parser_stack(tls, fts5yypParser)
 	}
 
-	sqlite3Fts5ParseError(tls, pParse, ts+33686, 0)
+	sqlite3Fts5ParseError(tls, pParse, ts+33733, 0)
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -135808,7 +135866,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32
 
 	_ = fts5yymajor
 	sqlite3Fts5ParseError(tls,
-		pParse, ts+33714, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
+		pParse, ts+33761, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -135993,7 +136051,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int
 		if n < 0 {
 			n = int32(libc.Xstrlen(tls, z))
 		}
-		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33745, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
+		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33792, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
 		if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) {
 			*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 		}
@@ -136061,7 +136119,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp
 	var iCol int32
 
 	if nVal != 3 {
-		var zErr uintptr = ts + 33752
+		var zErr uintptr = ts + 33799
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -136242,7 +136300,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
 	var nCol int32
 
 	if nVal != 5 {
-		var zErr uintptr = ts + 33802
+		var zErr uintptr = ts + 33849
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -136565,13 +136623,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(48)
 
 	*(*[3]Builtin)(unsafe.Pointer(bp)) = [3]Builtin{
-		{FzFunc: ts + 33850, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33897, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5SnippetFunction}))},
-		{FzFunc: ts + 33858, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33905, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5HighlightFunction}))},
-		{FzFunc: ts + 33868, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33915, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5Bm25Function}))},
 	}
@@ -137121,7 +137179,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 	var nCmd int32 = int32(libc.Xstrlen(tls, zCmd))
-	if Xsqlite3_strnicmp(tls, ts+33873, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+33920, zCmd, nCmd) == 0 {
 		var nByte int32 = int32(uint32(unsafe.Sizeof(int32(0))) * uint32(FTS5_MAX_PREFIX_INDEXES))
 		var p uintptr
 		var bFirst int32 = 1
@@ -137148,14 +137206,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 				break
 			}
 			if int32(*(*int8)(unsafe.Pointer(p))) < '0' || int32(*(*int8)(unsafe.Pointer(p))) > '9' {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33880, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33927, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
 
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES {
 				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-					ts+33911, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
+					ts+33958, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -137166,7 +137224,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 			}
 
 			if nPre <= 0 || nPre >= 1000 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33944, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33991, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -137179,7 +137237,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+33981, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34028, zCmd, nCmd) == 0 {
 		var p uintptr = zArg
 		var nArg Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zArg) + Size_t(1))
 		var azArg uintptr = sqlite3Fts5MallocZero(tls, bp+40, Sqlite3_int64(unsafe.Sizeof(uintptr(0)))*nArg)
@@ -137188,7 +137246,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 		if azArg != 0 && pSpace != 0 {
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33990, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34037, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				for nArg = int64(0); p != 0 && *(*int8)(unsafe.Pointer(p)) != 0; nArg++ {
@@ -137207,7 +137265,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 					}
 				}
 				if p == uintptr(0) {
-					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34023, 0)
+					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34070, 0)
 					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				} else {
 					*(*int32)(unsafe.Pointer(bp + 40)) = sqlite3Fts5GetTokenizer(tls, pGlobal,
@@ -137222,14 +137280,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34057, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34104, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34065, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34112, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			if *(*int8)(unsafe.Pointer(zArg)) != 0 {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_EXTERNAL
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34097, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34144, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
 			} else {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE
 			}
@@ -137237,9 +137295,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34103, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34150, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34117, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34164, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40, zArg, -1)
@@ -137247,9 +137305,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34155, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34202, zCmd, nCmd) == 0 {
 		if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34166, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34213, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')
@@ -137261,17 +137319,17 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		*(*[4]Fts5Enum)(unsafe.Pointer(bp + 44)) = [4]Fts5Enum{
 			{FzName: ts + 8026, FeVal: FTS5_DETAIL_NONE},
 			{FzName: ts + 17345},
-			{FzName: ts + 34201, FeVal: FTS5_DETAIL_COLUMNS},
+			{FzName: ts + 34248, FeVal: FTS5_DETAIL_COLUMNS},
 			{},
 		}
 
 		if libc.AssignPtrInt32(bp+40, fts5ConfigSetEnum(tls, bp+44, zArg, pConfig+48)) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34209, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34256, 0)
 		}
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34240, libc.VaList(bp+24, nCmd, zCmd))
+	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34287, libc.VaList(bp+24, nCmd, zCmd))
 	return SQLITE_ERROR
 }
 
@@ -137318,15 +137376,15 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr,
 	defer tls.Free(16)
 
 	var rc int32 = SQLITE_OK
-	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22191) ||
+	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22238) ||
 		0 == Xsqlite3_stricmp(tls, zCol, ts+16267) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34268, libc.VaList(bp, zCol))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34315, libc.VaList(bp, zCol))
 		rc = SQLITE_ERROR
 	} else if zArg != 0 {
-		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34298) {
+		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34345) {
 			*(*U8)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*Fts5Config)(unsafe.Pointer(p)).FnCol))) = U8(1)
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34308, libc.VaList(bp+8, zArg))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34355, libc.VaList(bp+8, zArg))
 			rc = SQLITE_ERROR
 		}
 	}
@@ -137343,13 +137401,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_OK
 	*(*Fts5Buffer)(unsafe.Pointer(bp + 28)) = Fts5Buffer{}
 
-	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34339, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
+	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34386, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
 	if (*Fts5Config)(unsafe.Pointer(p)).FeContent != FTS5_CONTENT_NONE {
 		for i = 0; i < (*Fts5Config)(unsafe.Pointer(p)).FnCol; i++ {
 			if (*Fts5Config)(unsafe.Pointer(p)).FeContent == FTS5_CONTENT_EXTERNAL {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34344, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*4))))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34391, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*4))))
 			} else {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34351, libc.VaList(bp+16, i))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34398, libc.VaList(bp+16, i))
 			}
 		}
 	}
@@ -137387,8 +137445,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 	(*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40, *(*uintptr)(unsafe.Pointer(azArg + 2*4)), -1)
 	(*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize = 1
 	(*Fts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL
-	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22191) == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34359, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
+	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22238) == 0 {
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34406, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
 		*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 	}
 
@@ -137420,7 +137478,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 
 		if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK {
 			if z == uintptr(0) {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34388, libc.VaList(bp+8, zOrig))
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34435, libc.VaList(bp+8, zOrig))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				if bOption != 0 {
@@ -137457,14 +137515,14 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 		var zTail uintptr = uintptr(0)
 
 		if (*Fts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL {
-			zTail = ts + 34057
+			zTail = ts + 34104
 		} else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 {
-			zTail = ts + 34408
+			zTail = ts + 34455
 		}
 
 		if zTail != 0 {
 			(*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls,
-				bp+40, ts+34416, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
+				bp+40, ts+34463, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
 		}
 	}
 
@@ -137513,7 +137571,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_OK
 	var zSql uintptr
 
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34427, 0)
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34474, 0)
 	for i = 0; zSql != 0 && i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
 		var zSep uintptr = func() uintptr {
 			if i == 0 {
@@ -137521,10 +137579,10 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 			}
 			return ts + 14614
 		}()
-		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34443, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*4))))
+		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34490, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*4))))
 	}
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34450,
-		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22191))
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34497,
+		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22238))
 
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql)
@@ -137634,7 +137692,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 
 	var rc int32 = SQLITE_OK
 
-	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34476) {
+	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34523) {
 		var pgsz int32 = 0
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			pgsz = Xsqlite3_value_int(tls, pVal)
@@ -137644,7 +137702,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34481) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34528) {
 		var nHashSize int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nHashSize = Xsqlite3_value_int(tls, pVal)
@@ -137654,7 +137712,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34490) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34537) {
 		var nAutomerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nAutomerge = Xsqlite3_value_int(tls, pVal)
@@ -137667,7 +137725,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34500) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34547) {
 		var nUsermerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nUsermerge = Xsqlite3_value_int(tls, pVal)
@@ -137677,7 +137735,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34510) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34557) {
 		var nCrisisMerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nCrisisMerge = Xsqlite3_value_int(tls, pVal)
@@ -137693,7 +137751,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22191) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22238) {
 		var zIn uintptr = Xsqlite3_value_text(tls, pVal)
 
 		rc = sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+4)
@@ -137716,7 +137774,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 	bp := tls.Alloc(44)
 	defer tls.Free(44)
 
-	var zSelect uintptr = ts + 34522
+	var zSelect uintptr = ts + 34569
 	var zSql uintptr
 	*(*uintptr)(unsafe.Pointer(bp + 36)) = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
@@ -137738,7 +137796,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 36))) {
 			var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 36)), 0)
 			var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 36)), 1)
-			if 0 == Xsqlite3_stricmp(tls, zK, ts+34554) {
+			if 0 == Xsqlite3_stricmp(tls, zK, ts+34601) {
 				iVersion = Xsqlite3_value_int(tls, pVal)
 			} else {
 				*(*int32)(unsafe.Pointer(bp + 40)) = 0
@@ -137752,7 +137810,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 {
 			*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-				ts+34562,
+				ts+34609,
 				libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION))
 		}
 	}
@@ -137850,7 +137908,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 					}
 				}
 				if int32(*(*int8)(unsafe.Pointer(z2))) == 0 {
-					sqlite3Fts5ParseError(tls, pParse, ts+34627, 0)
+					sqlite3Fts5ParseError(tls, pParse, ts+34674, 0)
 					return FTS5_EOF
 				}
 			}
@@ -137863,20 +137921,20 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 		{
 			var z2 uintptr
 			if sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z))) == 0 {
-				sqlite3Fts5ParseError(tls, pParse, ts+34647, libc.VaList(bp, z))
+				sqlite3Fts5ParseError(tls, pParse, ts+34694, libc.VaList(bp, z))
 				return FTS5_EOF
 			}
 			tok = FTS5_STRING
 			for z2 = z + 1; sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z2))) != 0; z2++ {
 			}
 			(*Fts5Token)(unsafe.Pointer(pToken)).Fn = (int32(z2) - int32(z)) / 1
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34678, uint32(2)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34725, uint32(2)) == 0 {
 				tok = FTS5_OR
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34681, uint32(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34728, uint32(3)) == 0 {
 				tok = FTS5_NOT
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30063, uint32(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30110, uint32(3)) == 0 {
 				tok = FTS5_AND
 			}
 			break
@@ -139653,9 +139711,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34685, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint32(4)) != 0 {
+	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34732, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint32(4)) != 0 {
 		sqlite3Fts5ParseError(tls,
-			pParse, ts+33714, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
+			pParse, ts+33761, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
 	}
 }
 
@@ -139671,7 +139729,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p
 				var c int8 = *(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))
 				if int32(c) < '0' || int32(c) > '9' {
 					sqlite3Fts5ParseError(tls,
-						pParse, ts+34690, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
+						pParse, ts+34737, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
 					return
 				}
 				nNear = nNear*10 + (int32(*(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - '0')
@@ -139758,7 +139816,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui
 			}
 		}
 		if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol {
-			sqlite3Fts5ParseError(tls, pParse, ts+20528, libc.VaList(bp, z))
+			sqlite3Fts5ParseError(tls, pParse, ts+20575, libc.VaList(bp, z))
 		} else {
 			pRet = fts5ParseColset(tls, pParse, pColset, iCol)
 		}
@@ -139839,7 +139897,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo
 	*(*uintptr)(unsafe.Pointer(bp)) = pColset
 	if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE {
 		sqlite3Fts5ParseError(tls, pParse,
-			ts+34719, 0)
+			ts+34766, 0)
 	} else {
 		fts5ParseSetColset(tls, pParse, pExpr, pColset, bp)
 	}
@@ -140009,12 +140067,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 1 ||
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*Fts5ExprTerm)(unsafe.Pointer(pPhrase+20)).FbFirst != 0 {
 							sqlite3Fts5ParseError(tls, pParse,
-								ts+34772,
+								ts+34819,
 								libc.VaList(bp, func() uintptr {
 									if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 {
-										return ts + 34822
+										return ts + 34869
 									}
-									return ts + 34685
+									return ts + 34732
 								}()))
 							Xsqlite3_free(tls, pRet)
 							pRet = uintptr(0)
@@ -140954,7 +141012,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK {
 			var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 			rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb,
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34829, iRowid, 0, p+36)
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34876, iRowid, 0, p+36)
 		}
 
 		if rc == SQLITE_ERROR {
@@ -141033,7 +141091,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in
 	if (*Fts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+40, Xsqlite3_mprintf(tls,
-			ts+34835,
+			ts+34882,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 		if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 			return
@@ -141058,7 +141116,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = Xsqlite3_mprintf(tls,
-			ts+34886,
+			ts+34933,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if fts5IndexPrepareStmt(tls, p, p+44, zSql) != 0 {
 			return
@@ -141081,7 +141139,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+52, Xsqlite3_mprintf(tls,
-			ts+34935,
+			ts+34982,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -141320,7 +141378,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 {
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) {
 			(*Fts5Index)(unsafe.Pointer(p)).Frc = fts5IndexPrepareStmt(tls, p, p+64,
-				Xsqlite3_mprintf(tls, ts+34975, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
+				Xsqlite3_mprintf(tls, ts+35022, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
 			if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 				return int64(0)
 			}
@@ -142519,7 +142577,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+56, Xsqlite3_mprintf(tls,
-			ts+34998,
+			ts+35045,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect
@@ -143984,7 +144042,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+48, Xsqlite3_mprintf(tls,
-			ts+35082,
+			ts+35129,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 
@@ -145065,13 +145123,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		(*Fts5Index)(unsafe.Pointer(p)).FpConfig = pConfig
 		(*Fts5Index)(unsafe.Pointer(p)).FnWorkUnit = FTS5_WORK_UNIT
-		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35139, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35186, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 {
 			*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+25056, ts+35147, 0, pzErr)
+				pConfig, ts+25103, ts+35194, 0, pzErr)
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 				*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls, pConfig, ts+11488,
-					ts+35182,
+					ts+35229,
 					1, pzErr)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
@@ -145324,7 +145382,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 {
 	sqlite3Fts5Put32(tls, bp, iNew)
 
 	rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl,
-		ts+34829, int64(FTS5_STRUCTURE_ROWID), 1, bp+4)
+		ts+34876, int64(FTS5_STRUCTURE_ROWID), 1, bp+4)
 	if rc == SQLITE_OK {
 		Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), bp, 4, 0)
 		rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
@@ -145438,7 +145496,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) {
 	}
 
 	fts5IndexPrepareStmt(tls, p, bp+24, Xsqlite3_mprintf(tls,
-		ts+35226,
+		ts+35273,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid)))
 
 	for (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
@@ -145608,7 +145666,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks
 		} else {
 			(*Fts5Buffer)(unsafe.Pointer(bp + 8)).Fn = 0
 			fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp))+68+uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaFirst+1*4)).FiFirst)*92, uintptr(0), bp+8)
-			sqlite3Fts5BufferAppendBlob(tls, p+32, bp+8, uint32(4), ts+35312)
+			sqlite3Fts5BufferAppendBlob(tls, p+32, bp+8, uint32(4), ts+35359)
 			for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+8)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+8)).Fn, bp+20, bp+24) {
 				var iCol int32 = int32(*(*I64)(unsafe.Pointer(bp + 24)) >> 32)
 				var iTokOff int32 = int32(*(*I64)(unsafe.Pointer(bp + 24)) & int64(0x7FFFFFFF))
@@ -145876,7 +145934,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 {
 
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 {
 		(*Fts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+35317, 0)
+			ts+35364, 0)
 		return SQLITE_ERROR
 	}
 
@@ -146300,7 +146358,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 	(*Fts5Sorter)(unsafe.Pointer(pSorter)).FnIdx = nPhrase
 
 	rc = fts5PrepareStatement(tls, pSorter, pConfig,
-		ts+35356,
+		ts+35403,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			func() uintptr {
 				if zRankArgs != 0 {
@@ -146316,9 +146374,9 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 			}(),
 			func() uintptr {
 				if bDesc != 0 {
-					return ts + 35411
+					return ts + 35458
 				}
-				return ts + 35416
+				return ts + 35463
 			}()))
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter
@@ -146364,12 +146422,12 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr)
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan = FTS5_PLAN_SPECIAL
 
-	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35420, z, n) {
+	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35467, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = I64(sqlite3Fts5IndexReads(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex))
 	} else if n == 2 && 0 == Xsqlite3_strnicmp(tls, ts+5057, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId
 	} else {
-		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35426, libc.VaList(bp, n, z))
+		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35473, libc.VaList(bp, n, z))
 		rc = SQLITE_ERROR
 	}
 
@@ -146400,7 +146458,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs
 
 	if zRankArgs != 0 {
-		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35454, libc.VaList(bp, zRankArgs))
+		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35501, libc.VaList(bp, zRankArgs))
 		if zSql != 0 {
 			*(*uintptr)(unsafe.Pointer(bp + 20)) = uintptr(0)
 			*(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1,
@@ -146431,7 +146489,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 		pAux = fts5FindAuxiliary(tls, pTab, zRank)
 		if pAux == uintptr(0) {
-			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35464, libc.VaList(bp+8, zRank))
+			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35511, libc.VaList(bp+8, zRank))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		}
 	}
@@ -146463,14 +146521,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin
 			*(*int32)(unsafe.Pointer(pCsr + 56)) |= FTS5CSR_FREE_ZRANK
 		} else if rc == SQLITE_ERROR {
 			(*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35485, libc.VaList(bp, z))
+				ts+35532, libc.VaList(bp, z))
 		}
 	} else {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank != 0 {
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRankArgs
 		} else {
-			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33868
+			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33915
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0)
 		}
 	}
@@ -146526,7 +146584,7 @@ func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintp
 		goto __1
 	}
 	(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+35317, 0)
+		ts+35364, 0)
 	return SQLITE_ERROR
 __1:
 	;
@@ -146743,7 +146801,7 @@ __35:
 		goto __40
 	}
 	*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-		ts+35518, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		ts+35565, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	rc = SQLITE_ERROR
 	goto __41
 __40:
@@ -146888,28 +146946,28 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr)
 	var rc int32 = SQLITE_OK
 	*(*int32)(unsafe.Pointer(bp)) = 0
 
-	if 0 == Xsqlite3_stricmp(tls, ts+35554, zCmd) {
+	if 0 == Xsqlite3_stricmp(tls, ts+35601, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			fts5SetVtabError(tls, pTab,
-				ts+35565, 0)
+				ts+35612, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35645, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35692, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE {
 			fts5SetVtabError(tls, pTab,
-				ts+35653, 0)
+				ts+35700, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
 	} else if 0 == Xsqlite3_stricmp(tls, ts+16934, zCmd) {
 		rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35709, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35756, zCmd) {
 		var nMerge int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageMerge(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, nMerge)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35715, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35762, zCmd) {
 		var iArg int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg)
 	} else {
@@ -146980,12 +147038,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p
 
 		if eType0 == SQLITE_INTEGER && fts5IsContentless(tls, pTab) != 0 {
 			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35731,
+				ts+35778,
 				libc.VaList(bp, func() uintptr {
 					if nArg > 1 {
-						return ts + 20429
+						return ts + 20476
 					}
-					return ts + 35768
+					return ts + 35815
 				}(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		} else if nArg == 1 {
@@ -147615,7 +147673,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 
 	pCsr = fts5CursorFromCsrid(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId)
 	if pCsr == uintptr(0) || (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 {
-		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35780, libc.VaList(bp, iCsrId))
+		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35827, libc.VaList(bp, iCsrId))
 		Xsqlite3_result_error(tls, context, zErr, -1)
 		Xsqlite3_free(tls, zErr)
 	} else {
@@ -147859,7 +147917,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 	}())
 	if pMod == uintptr(0) {
 		rc = SQLITE_ERROR
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35801, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35848, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
 	} else {
 		rc = (*struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
@@ -147878,7 +147936,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 		(*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 8
 		if rc != SQLITE_OK {
 			if pzErr != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35823, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35870, 0)
 			}
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls,
@@ -147925,7 +147983,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 	var ppApi uintptr
 	_ = nArg
 
-	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35854)
+	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35901)
 	if ppApi != 0 {
 		*(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal
 	}
@@ -147934,7 +147992,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) {
 	_ = nArg
 	_ = apUnused
-	Xsqlite3_result_text(tls, pCtx, ts+35867, -1, libc.UintptrFromInt32(-1))
+	Xsqlite3_result_text(tls, pCtx, ts+35914, -1, libc.UintptrFromInt32(-1))
 }
 
 func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
@@ -147948,7 +148006,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName2 = [5]uintptr{
-	ts + 35958, ts + 34057, ts + 25056, ts + 34408, ts + 11488,
+	ts + 36005, ts + 34104, ts + 25103, ts + 34455, ts + 11488,
 }
 
 func fts5Init(tls *libc.TLS, db uintptr) int32 {
@@ -147972,7 +148030,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		(*Fts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32
 		}{fts5FindTokenizer}))
-		rc = Xsqlite3_create_module_v2(tls, db, ts+35965, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+36012, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5IndexInit(tls, db)
 		}
@@ -147990,13 +148048,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35965, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+				db, ts+36012, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
 				}{fts5Fts5Func})), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35970, 0,
+				db, ts+36017, 0,
 				SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
 				p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
@@ -148053,17 +148111,17 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p
 
 	if *(*uintptr)(unsafe.Pointer(p + 24 + uintptr(eStmt)*4)) == uintptr(0) {
 		*(*[11]uintptr)(unsafe.Pointer(bp + 128)) = [11]uintptr{
-			ts + 35985,
-			ts + 36053,
-			ts + 36122,
-			ts + 36155,
-			ts + 36194,
-			ts + 36234,
-			ts + 36273,
-			ts + 36314,
-			ts + 36353,
-			ts + 36395,
-			ts + 36435,
+			ts + 36032,
+			ts + 36100,
+			ts + 36169,
+			ts + 36202,
+			ts + 36241,
+			ts + 36281,
+			ts + 36320,
+			ts + 36361,
+			ts + 36400,
+			ts + 36442,
+			ts + 36482,
 		}
 		var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = uintptr(0)
@@ -148165,18 +148223,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 {
 	defer tls.Free(80)
 
 	var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36458,
+		ts+36505,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36562,
+			ts+36609,
 			libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36600,
+			ts+36647,
 			libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	return rc
@@ -148188,7 +148246,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin
 
 	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(pRc)) = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36638,
+			ts+36685,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail))
 	}
 }
@@ -148200,14 +148258,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in
 	var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig
 	*(*int32)(unsafe.Pointer(bp)) = sqlite3Fts5StorageSync(tls, pStorage)
 
-	fts5StorageRenameOne(tls, pConfig, bp, ts+25056, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+25103, zName)
 	fts5StorageRenameOne(tls, pConfig, bp, ts+11488, zName)
-	fts5StorageRenameOne(tls, pConfig, bp, ts+35958, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+36005, zName)
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34408, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34455, zName)
 	}
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34057, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34104, zName)
 	}
 	return *(*int32)(unsafe.Pointer(bp))
 }
@@ -148219,17 +148277,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn
 	var rc int32
 	*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
-	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36680,
+	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36727,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn,
 			func() uintptr {
 				if bWithout != 0 {
-					return ts + 29709
+					return ts + 29756
 				}
 				return ts + 1554
 			}()))
 	if *(*uintptr)(unsafe.Pointer(bp + 64)) != 0 {
 		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-			ts+36710,
+			ts+36757,
 			libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64))))
 		Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
@@ -148266,27 +148324,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre
 			} else {
 				var i int32
 				var iOff int32
-				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36754, 0)
+				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36801, 0)
 				iOff = int32(libc.Xstrlen(tls, zDefn))
 				for i = 0; i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
-					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36777, libc.VaList(bp, i))
+					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36824, libc.VaList(bp, i))
 					iOff = iOff + int32(libc.Xstrlen(tls, zDefn+uintptr(iOff)))
 				}
-				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34057, zDefn, 0, pzErr)
+				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34104, zDefn, 0, pzErr)
 			}
 			Xsqlite3_free(tls, zDefn)
 		}
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+34408, ts+36783, 0, pzErr)
+				pConfig, ts+34455, ts+36830, 0, pzErr)
 		}
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+35958, ts+36815, 1, pzErr)
+				pConfig, ts+36005, ts+36862, 1, pzErr)
 		}
 		if rc == SQLITE_OK {
-			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34554, uintptr(0), FTS5_CURRENT_VERSION)
+			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34601, uintptr(0), FTS5_CURRENT_VERSION)
 		}
 	}
 
@@ -148492,12 +148550,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 	(*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0
 
 	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36832,
+		ts+36879,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36882,
+			ts+36929,
 			libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 
@@ -148505,7 +148563,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 		rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex)
 	}
 	if rc == SQLITE_OK {
-		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34554, uintptr(0), FTS5_CURRENT_VERSION)
+		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34601, uintptr(0), FTS5_CURRENT_VERSION)
 	}
 	return rc
 }
@@ -148681,7 +148739,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr)
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+36911,
+	zSql = Xsqlite3_mprintf(tls, ts+36958,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix))
 	if zSql == uintptr(0) {
 		rc = SQLITE_NOMEM
@@ -148863,14 +148921,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 {
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			*(*I64)(unsafe.Pointer(bp + 36)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34057, bp+36)
+			rc = fts5StorageCount(tls, p, ts+34104, bp+36)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 36)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
 		}
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			*(*I64)(unsafe.Pointer(bp + 44)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34408, bp+44)
+			rc = fts5StorageCount(tls, p, ts+34455, bp+44)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 44)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
@@ -149065,9 +149123,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32,
 			libc.Xmemcpy(tls, p, uintptr(unsafe.Pointer(&aAsciiTokenChar)), uint32(unsafe.Sizeof(aAsciiTokenChar)))
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*4))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36943) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36990) {
 					fts5AsciiAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36954) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37001) {
 					fts5AsciiAddExceptions(tls, p, zArg, 0)
 				} else {
 					rc = SQLITE_ERROR
@@ -149281,7 +149339,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 	} else {
 		p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Unicode61Tokenizer{})))
 		if p != 0 {
-			var zCat uintptr = ts + 36965
+			var zCat uintptr = ts + 37012
 			var i int32
 			libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(Unicode61Tokenizer{})))
 
@@ -149293,7 +149351,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 			}
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36974) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37021) {
 					zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*4))
 				}
 			}
@@ -149304,18 +149362,18 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*4))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36985) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37032) {
 					if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' && int32(*(*int8)(unsafe.Pointer(zArg))) != '2' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 						rc = SQLITE_ERROR
 					} else {
 						(*Unicode61Tokenizer)(unsafe.Pointer(p)).FeRemoveDiacritic = int32(*(*int8)(unsafe.Pointer(zArg))) - '0'
 
 					}
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36943) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36990) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36954) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37001) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 0)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36974) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37021) {
 				} else {
 					rc = SQLITE_ERROR
 				}
@@ -149591,7 +149649,7 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp
 	var rc int32 = SQLITE_OK
 	var pRet uintptr
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
-	var zBase uintptr = ts + 37003
+	var zBase uintptr = ts + 37050
 
 	if nArg > 0 {
 		zBase = *(*uintptr)(unsafe.Pointer(azArg))
@@ -149731,7 +149789,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37013, aBuf+uintptr(nBuf-2), uint32(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37060, aBuf+uintptr(nBuf-2), uint32(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149739,11 +149797,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37016, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37063, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37021, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37068, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -149751,7 +149809,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'e':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37026, aBuf+uintptr(nBuf-2), uint32(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37073, aBuf+uintptr(nBuf-2), uint32(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149759,7 +149817,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37029, aBuf+uintptr(nBuf-2), uint32(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37076, aBuf+uintptr(nBuf-2), uint32(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149767,11 +149825,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37032, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37079, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37037, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37084, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -149779,19 +149837,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37042, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37089, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37046, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37093, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37052, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37099, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37057, aBuf+uintptr(nBuf-3), uint32(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37104, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149799,11 +149857,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'o':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37061, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37108, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37065, aBuf+uintptr(nBuf-2), uint32(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37112, aBuf+uintptr(nBuf-2), uint32(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149811,7 +149869,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 's':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37068, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37115, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149819,11 +149877,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37072, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37119, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37076, aBuf+uintptr(nBuf-3), uint32(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37123, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149831,7 +149889,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37080, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37127, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149839,7 +149897,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37084, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37131, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149847,7 +149905,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37088, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37135, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149863,24 +149921,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37092, aBuf+uintptr(nBuf-2), uint32(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37072, uint32(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37139, aBuf+uintptr(nBuf-2), uint32(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37119, uint32(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'b':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37095, aBuf+uintptr(nBuf-2), uint32(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37098, uint32(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37142, aBuf+uintptr(nBuf-2), uint32(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37145, uint32(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37102, aBuf+uintptr(nBuf-2), uint32(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37088, uint32(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37149, aBuf+uintptr(nBuf-2), uint32(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37135, uint32(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
@@ -149895,44 +149953,44 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37105, aBuf+uintptr(nBuf-7), uint32(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37152, aBuf+uintptr(nBuf-7), uint32(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37072, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37119, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37113, aBuf+uintptr(nBuf-6), uint32(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37160, aBuf+uintptr(nBuf-6), uint32(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37120, uint32(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37167, uint32(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 4
 			}
 		}
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37125, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37172, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37021, uint32(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37068, uint32(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37130, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37177, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37016, uint32(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37063, uint32(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
 		}
 		break
 
 	case 'e':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37135, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37182, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37088, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37135, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 'g':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37140, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37187, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+15480, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
@@ -149941,91 +149999,91 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37145, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37192, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37098, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37145, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37149, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37196, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37013, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37060, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37154, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37201, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37057, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37104, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37160, aBuf+uintptr(nBuf-3), uint32(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37207, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37164, uint32(1))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37211, uint32(1))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 1
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37166, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37213, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37080, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37127, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
 		}
 		break
 
 	case 'o':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37172, aBuf+uintptr(nBuf-7), uint32(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37219, aBuf+uintptr(nBuf-7), uint32(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37088, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37135, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37180, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37227, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37072, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37119, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37186, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37233, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37072, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37119, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37191, aBuf+uintptr(nBuf-5), uint32(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37238, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37197, aBuf+uintptr(nBuf-7), uint32(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37244, aBuf+uintptr(nBuf-7), uint32(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37084, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37131, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37205, aBuf+uintptr(nBuf-7), uint32(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37252, aBuf+uintptr(nBuf-7), uint32(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37213, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37260, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37217, aBuf+uintptr(nBuf-7), uint32(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37264, aBuf+uintptr(nBuf-7), uint32(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37080, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37127, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
 		}
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37225, aBuf+uintptr(nBuf-5), uint32(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37272, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37231, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37278, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37084, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37131, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37237, aBuf+uintptr(nBuf-6), uint32(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37284, aBuf+uintptr(nBuf-6), uint32(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37098, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37145, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 3
 			}
 		}
@@ -150040,16 +150098,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37244, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37291, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37029, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37076, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37249, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37296, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -150057,21 +150115,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37254, aBuf+uintptr(nBuf-5), uint32(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37301, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37029, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37076, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37260, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37307, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37029, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37076, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37213, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37260, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150079,7 +150137,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37266, aBuf+uintptr(nBuf-5), uint32(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37313, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
@@ -150087,9 +150145,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37272, aBuf+uintptr(nBuf-5), uint32(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37319, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
@@ -150104,12 +150162,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'e':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37278, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37325, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37282, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37329, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 2
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37285, aBuf+uintptr(nBuf-2), uint32(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37332, aBuf+uintptr(nBuf-2), uint32(2)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 				ret = 1
@@ -150118,7 +150176,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37288, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37335, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 				ret = 1
@@ -150274,7 +150332,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp
 		(*TrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = 1
 		for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 			var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*4))
-			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37292) {
+			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37339) {
 				if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 					rc = SQLITE_ERROR
 				} else {
@@ -150454,22 +150512,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(64)
 
 	*(*[4]BuiltinTokenizer)(unsafe.Pointer(bp)) = [4]BuiltinTokenizer{
-		{FzName: ts + 37003, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37050, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5UnicodeCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5UnicodeDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5UnicodeTokenize}))}},
-		{FzName: ts + 37307, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37354, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5AsciiCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5AsciiDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5AsciiTokenize}))}},
-		{FzName: ts + 37313, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37360, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5PorterCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5PorterDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5PorterTokenize}))}},
-		{FzName: ts + 37320, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37367, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5TriCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5TriDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
@@ -151608,14 +151666,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint
 	var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8, zType, -1)
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		sqlite3Fts5Dequote(tls, zCopy)
-		if Xsqlite3_stricmp(tls, zCopy, ts+37328) == 0 {
+		if Xsqlite3_stricmp(tls, zCopy, ts+37375) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37332) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37379) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37336) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37383) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37345, libc.VaList(bp, zCopy))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37392, libc.VaList(bp, zCopy))
 			*(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_ERROR
 		}
 		Xsqlite3_free(tls, zCopy)
@@ -151641,19 +151699,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	defer tls.Free(20)
 
 	*(*[3]uintptr)(unsafe.Pointer(bp + 4)) = [3]uintptr{
-		ts + 37379,
-		ts + 37419,
-		ts + 37454,
+		ts + 37426,
+		ts + 37466,
+		ts + 37501,
 	}
 
 	var pRet uintptr = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_OK
 	var bDb int32
 
-	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) == Size_t(4) && libc.Xmemcmp(tls, ts+23352, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uint32(4)) == 0)
+	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) == Size_t(4) && libc.Xmemcmp(tls, ts+23399, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uint32(4)) == 0)
 
 	if argc != 5 && bDb == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37497, 0)
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37544, 0)
 		*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 	} else {
 		var nByte int32
@@ -151786,11 +151844,11 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 
 	if (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 {
 		(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+37530, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+			ts+37577, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 		return SQLITE_ERROR
 	}
 	zSql = sqlite3Fts5Mprintf(tls, bp+64,
-		ts+37561,
+		ts+37608,
 		libc.VaList(bp+16, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 64)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+68, uintptr(0))
@@ -151814,7 +151872,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 			*(*uintptr)(unsafe.Pointer(bp + 68)) = uintptr(0)
 			if *(*int32)(unsafe.Pointer(bp + 64)) == SQLITE_OK {
 				(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-					ts+37612, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+					ts+37659, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 				*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 			}
 		} else {
@@ -152209,7 +152267,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32
 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 {
 	var p uintptr = pGlobal
 
-	return Xsqlite3_create_module_v2(tls, db, ts+37638, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
+	return Xsqlite3_create_module_v2(tls, db, ts+37685, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
 }
 
 var fts5Vocab = Sqlite3_module{
@@ -152231,7 +152289,7 @@ var fts5Vocab = Sqlite3_module{
 // ************* End of stmt.c ***********************************************
 // Return the source-id for this library
 func Xsqlite3_sourceid(tls *libc.TLS) uintptr {
-	return ts + 37648
+	return ts + 37695
 }
 
 func init() {
@@ -153208,5 +153266,5 @@ func init() {
 	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 68)) = rbuVfsGetLastError
 }
 
-var ts1 = "3.41.0\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00"
+var ts1 = "3.41.2\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00"
 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_amd64.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_amd64.go
index 9e987aac..de3a6a5a 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_linux_amd64.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
@@ -920,11 +920,11 @@ const (
 	NC_OrderAgg                           = 0x8000000
 	NC_PartIdx                            = 0x000002
 	NC_SelfRef                            = 0x00002e
+	NC_Subquery                           = 0x000040
 	NC_UAggInfo                           = 0x000100
 	NC_UBaseReg                           = 0x000400
 	NC_UEList                             = 0x000080
 	NC_UUpsert                            = 0x000200
-	NC_VarSelect                          = 0x000040
 	NDEBUG                                = 1
 	NN                                    = 1
 	NOT_WITHIN                            = 0
@@ -2166,7 +2166,7 @@ const (
 	SQLITE_SHM_UNLOCK                     = 1
 	SQLITE_SORTER_PMASZ                   = 250
 	SQLITE_SOUNDEX                        = 1
-	SQLITE_SOURCE_ID                      = "2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d"
+	SQLITE_SOURCE_ID                      = "2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da"
 	SQLITE_SO_ASC                         = 0
 	SQLITE_SO_DESC                        = 1
 	SQLITE_SO_UNDEFINED                   = -1
@@ -2274,8 +2274,8 @@ const (
 	SQLITE_UTF8                           = 1
 	SQLITE_VDBEINT_H                      = 0
 	SQLITE_VDBE_H                         = 0
-	SQLITE_VERSION                        = "3.41.0"
-	SQLITE_VERSION_NUMBER                 = 3041000
+	SQLITE_VERSION                        = "3.41.2"
+	SQLITE_VERSION_NUMBER                 = 3041002
 	SQLITE_VTABRISK_High                  = 2
 	SQLITE_VTABRISK_Low                   = 0
 	SQLITE_VTABRISK_Normal                = 1
@@ -6113,7 +6113,8 @@ type IndexedExpr1 = struct {
 	FiIdxCur       int32
 	FiIdxCol       int32
 	FbMaybeNullRow U8
-	F__ccgo_pad1   [3]byte
+	Faff           U8
+	F__ccgo_pad1   [2]byte
 	FpIENext       uintptr
 }
 
@@ -6755,17 +6756,18 @@ type Pager = Pager1
 
 // Handle type for pages.
 type PgHdr2 = struct {
-	FpPage      uintptr
-	FpData      uintptr
-	FpExtra     uintptr
-	FpCache     uintptr
-	FpDirty     uintptr
-	FpPager     uintptr
-	Fpgno       Pgno
-	Fflags      U16
-	FnRef       I16
-	FpDirtyNext uintptr
-	FpDirtyPrev uintptr
+	FpPage       uintptr
+	FpData       uintptr
+	FpExtra      uintptr
+	FpCache      uintptr
+	FpDirty      uintptr
+	FpPager      uintptr
+	Fpgno        Pgno
+	Fflags       U16
+	F__ccgo_pad1 [2]byte
+	FnRef        I64
+	FpDirtyNext  uintptr
+	FpDirtyPrev  uintptr
 }
 
 // Handle type for pages.
@@ -6986,14 +6988,14 @@ type PCache2 = struct {
 	FpDirty      uintptr
 	FpDirtyTail  uintptr
 	FpSynced     uintptr
-	FnRefSum     int32
+	FnRefSum     I64
 	FszCache     int32
 	FszSpill     int32
 	FszPage      int32
 	FszExtra     int32
 	FbPurgeable  U8
 	FeCreate     U8
-	F__ccgo_pad1 [2]byte
+	F__ccgo_pad1 [6]byte
 	FxStress     uintptr
 	FpStress     uintptr
 	FpCache      uintptr
@@ -7800,7 +7802,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
 	_ = pMutex
 
 	if op < 0 || op >= int32(uint64(unsafe.Sizeof([10]Sqlite3StatValueType{}))/uint64(unsafe.Sizeof(Sqlite3StatValueType(0)))) {
-		return Xsqlite3MisuseError(tls, 23229)
+		return Xsqlite3MisuseError(tls, 23233)
 	}
 	if statMutex[op] != 0 {
 		pMutex = Xsqlite3Pcache1Mutex(tls)
@@ -15883,7 +15885,7 @@ func closePendingFds(tls *libc.TLS, pFile uintptr) {
 
 	for p = (*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused; p != 0; p = pNext {
 		pNext = (*UnixUnusedFd)(unsafe.Pointer(p)).FpNext
-		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38271)
+		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38275)
 		Xsqlite3_free(tls, p)
 	}
 	(*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused = uintptr(0)
@@ -16360,7 +16362,7 @@ func closeUnixFile(tls *libc.TLS, id uintptr) int32 {
 	var pFile uintptr = id
 	unixUnmapfile(tls, pFile)
 	if (*UnixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
-		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39055)
+		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39059)
 		(*UnixFile)(unsafe.Pointer(pFile)).Fh = -1
 	}
 
@@ -16651,7 +16653,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 {
 	if fd >= 0 {
 		return SQLITE_OK
 	}
-	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40676), ts+3378, bp+8, 40676)
+	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40680), ts+3378, bp+8, 40680)
 }
 
 func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
@@ -16668,14 +16670,14 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
 
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3666, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40717)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3666, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40721)
 	}
 
 	if int32((*UnixFile)(unsafe.Pointer(pFile)).FctrlFlags)&UNIXFILE_DIRSYNC != 0 {
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, bp)
 		if rc == SQLITE_OK {
 			full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0)
-			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40731)
+			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40735)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -16695,7 +16697,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 {
 	rc = robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte)
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40762)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40766)
 	} else {
 		if nByte < (*UnixFile)(unsafe.Pointer(pFile)).FmmapSize {
 			(*UnixFile)(unsafe.Pointer(pFile)).FmmapSize = nByte
@@ -16763,7 +16765,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 {
 		if (*UnixFile)(unsafe.Pointer(pFile)).FszChunk <= 0 {
 			if robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte) != 0 {
 				storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
-				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40883)
+				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40887)
 			}
 		}
 
@@ -16990,7 +16992,7 @@ func unixShmPurge(tls *libc.TLS, pFd uintptr) {
 		}
 		Xsqlite3_free(tls, (*UnixShmNode)(unsafe.Pointer(p)).FapRegion)
 		if (*UnixShmNode)(unsafe.Pointer(p)).FhShm >= 0 {
-			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41442)
+			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41446)
 			(*UnixShmNode)(unsafe.Pointer(p)).FhShm = -1
 		}
 		(*UnixInodeInfo)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0)
@@ -17018,7 +17020,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32
 			rc = unixShmSystemLock(tls, pDbFd, F_WRLCK, (22+SQLITE_SHM_NLOCK)*4+SQLITE_SHM_NLOCK, 1)
 
 			if rc == SQLITE_OK && robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3297, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41499)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3297, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41503)
 			}
 		}
 	} else if int32((*flock)(unsafe.Pointer(bp+8)).Fl_type) == F_WRLCK {
@@ -17117,7 +17119,7 @@ __8:
 	if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) {
 		goto __10
 	}
-	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41624), ts+3261, zShm, 41624)
+	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41628), ts+3261, zShm, 41628)
 	goto shm_open_err
 __10:
 	;
@@ -17247,7 +17249,7 @@ __11:
 		goto __14
 	}
 	zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3332, zFile, 41768)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3332, zFile, 41772)
 	goto shmpage_out
 __14:
 	;
@@ -17293,7 +17295,7 @@ __16:
 	if !(pMem == libc.UintptrFromInt32(-1)) {
 		goto __20
 	}
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3419, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41795)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3419, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41799)
 	goto shmpage_out
 __20:
 	;
@@ -17524,7 +17526,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) {
 	if pNew == libc.UintptrFromInt32(-1) {
 		pNew = uintptr(0)
 		nNew = int64(0)
-		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42169)
+		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42173)
 
 		(*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeMax = int64(0)
 	}
@@ -17658,7 +17660,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 		unixEnterMutex(tls)
 		rc = findInodeInfo(tls, pNew, pNew+16)
 		if rc != SQLITE_OK {
-			robust_close(tls, pNew, h, 42672)
+			robust_close(tls, pNew, h, 42676)
 			h = -1
 		}
 		unixLeaveMutex(tls)
@@ -17679,7 +17681,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 	storeLastErrno(tls, pNew, 0)
 	if rc != SQLITE_OK {
 		if h >= 0 {
-			robust_close(tls, pNew, h, 42757)
+			robust_close(tls, pNew, h, 42761)
 		}
 	} else {
 		(*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle
@@ -17995,7 +17997,7 @@ __15:
 	if !(fd < 0) {
 		goto __19
 	}
-	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43198), ts+3261, zName, 43198)
+	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43202), ts+3261, zName, 43202)
 	if !(rc == SQLITE_OK) {
 		goto __20
 	}
@@ -18086,7 +18088,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == ENOENT {
 			rc = SQLITE_IOERR | int32(23)<<8
 		} else {
-			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3371, zPath, 43337)
+			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3371, zPath, 43341)
 		}
 		return rc
 	}
@@ -18094,9 +18096,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, zPath, bp)
 		if rc == SQLITE_OK {
 			if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3788, zPath, 43347)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3788, zPath, 43351)
 			}
-			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43349)
+			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43353)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -18160,18 +18162,18 @@ func appendOnePathElement(tls *libc.TLS, pPath uintptr, zName uintptr, nName int
 		zIn = (*DbPath)(unsafe.Pointer(pPath)).FzOut
 		if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8)))(tls, zIn, bp) != 0 {
 			if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != ENOENT {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43443), ts+3459, zIn, 43443)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43447), ts+3459, zIn, 43447)
 			}
 		} else if (*stat)(unsafe.Pointer(bp)).Fst_mode&X__mode_t(0170000) == X__mode_t(0120000) {
 			var got Ssize_t
 
 			if libc.PostIncInt32(&(*DbPath)(unsafe.Pointer(pPath)).FnSymlink, 1) > SQLITE_MAX_SYMLINK {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43449)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43453)
 				return
 			}
 			got = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls, zIn, bp+144, uint64(unsafe.Sizeof([4098]int8{}))-uint64(2))
 			if got <= int64(0) || got >= Ssize_t(unsafe.Sizeof([4098]int8{}))-int64(2) {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43454), ts+3450, zIn, 43454)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43458), ts+3450, zIn, 43458)
 				return
 			}
 			*(*int8)(unsafe.Pointer(bp + 144 + uintptr(got))) = int8(0)
@@ -18211,14 +18213,14 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO
 	(*DbPath)(unsafe.Pointer(bp + 4104)).FzOut = zOut
 	if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' {
 		if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, bp, uint64(unsafe.Sizeof([4098]int8{}))-uint64(2)) == uintptr(0) {
-			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43512), ts+3279, zPath, 43512)
+			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43516), ts+3279, zPath, 43516)
 		}
 		appendAllPathElements(tls, bp+4104, bp)
 	}
 	appendAllPathElements(tls, bp+4104, zPath)
 	*(*int8)(unsafe.Pointer(zOut + uintptr((*DbPath)(unsafe.Pointer(bp+4104)).FnUsed))) = int8(0)
 	if (*DbPath)(unsafe.Pointer(bp+4104)).Frc != 0 || (*DbPath)(unsafe.Pointer(bp+4104)).FnUsed < 2 {
-		return Xsqlite3CantopenError(tls, 43518)
+		return Xsqlite3CantopenError(tls, 43522)
 	}
 	if (*DbPath)(unsafe.Pointer(bp+4104)).FnSymlink != 0 {
 		return SQLITE_OK | int32(2)<<8
@@ -18319,7 +18321,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in
 			for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == EINTR {
 				got = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*24 + 8)))(tls, fd, zBuf, uint64(nBuf)))
 			}
-			robust_close(tls, uintptr(0), fd, 43619)
+			robust_close(tls, uintptr(0), fd, 43623)
 		}
 
 	}
@@ -19752,7 +19754,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 	libc.Xmemset(tls, pPgHdr+32, 0, uint64(unsafe.Sizeof(PgHdr{}))-uint64(uintptr(0)+32))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpPage = pPage
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpData = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpBuf
-	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*72
+	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*80
 	libc.Xmemset(tls, (*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra, 0, uint64(8))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpCache = pCache
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).Fpgno = pgno
@@ -19782,7 +19784,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 // reference count drops to 0, then it is made eligible for recycling.
 func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) {
 	(*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum--
-	if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 {
+	if libc.PreDecInt64(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1) == int64(0) {
 		if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_CLEAN != 0 {
 			pcacheUnpin(tls, p)
 		} else {
@@ -19833,7 +19835,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) {
 	*(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE))
 	*(*U16)(unsafe.Pointer(p + 52)) |= U16(PGHDR_CLEAN)
 
-	if int32((*PgHdr)(unsafe.Pointer(p)).FnRef) == 0 {
+	if (*PgHdr)(unsafe.Pointer(p)).FnRef == int64(0) {
 		pcacheUnpin(tls, p)
 	}
 }
@@ -19937,8 +19939,8 @@ func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) {
 }
 
 func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr {
-	bp := tls.Alloc(72)
-	defer tls.Free(72)
+	bp := tls.Alloc(80)
+	defer tls.Free(80)
 
 	var pTail uintptr
 	pTail = bp
@@ -20016,13 +20018,13 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr {
 //
 // This is not the total number of pages referenced, but the sum of the
 // reference count for all pages.
-func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 {
+func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) I64 {
 	return (*PCache)(unsafe.Pointer(pCache)).FnRefSum
 }
 
 // Return the number of references to the page supplied as an argument.
-func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 {
-	return int32((*PgHdr)(unsafe.Pointer(p)).FnRef)
+func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) I64 {
+	return (*PgHdr)(unsafe.Pointer(p)).FnRef
 }
 
 // Return the total number of pages in the cache.
@@ -22316,7 +22318,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 {
 
 	pPg = Xsqlite3PagerLookup(tls, pPager, iPg)
 	if pPg != 0 {
-		if Xsqlite3PcachePageRefcount(tls, pPg) == 1 {
+		if Xsqlite3PcachePageRefcount(tls, pPg) == int64(1) {
 			Xsqlite3PcacheDrop(tls, pPg)
 		} else {
 			rc = readDbPage(tls, pPg)
@@ -22749,7 +22751,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr,
 	var pageSize U32 = *(*U32)(unsafe.Pointer(pPageSize))
 
 	if (int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) == 0 || (*Pager)(unsafe.Pointer(pPager)).FdbSize == Pgno(0)) &&
-		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 &&
+		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) &&
 		pageSize != 0 && pageSize != U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) {
 		var pNew uintptr = uintptr(0)
 		*(*I64)(unsafe.Pointer(bp)) = int64(0)
@@ -22901,9 +22903,9 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr
 			Xsqlite3OsUnfetch(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, I64(pgno-Pgno(1))*(*Pager)(unsafe.Pointer(pPager)).FpageSize, pData)
 			return SQLITE_NOMEM
 		}
-		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*72
+		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*80
 		(*PgHdr)(unsafe.Pointer(p)).Fflags = U16(PGHDR_MMAP)
-		(*PgHdr)(unsafe.Pointer(p)).FnRef = int16(1)
+		(*PgHdr)(unsafe.Pointer(p)).FnRef = int64(1)
 		(*PgHdr)(unsafe.Pointer(p)).FpPager = pPager
 	}
 
@@ -23235,7 +23237,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 {
 
 		for rc == SQLITE_OK && pList != 0 {
 			var pNext uintptr = (*PgHdr)(unsafe.Pointer(pList)).FpDirty
-			if int32((*PgHdr)(unsafe.Pointer(pList)).FnRef) == 0 {
+			if (*PgHdr)(unsafe.Pointer(pList)).FnRef == int64(0) {
 				rc = pagerStress(tls, pPager, pList)
 			}
 			pList = pNext
@@ -23385,7 +23387,7 @@ __11:
 		goto __12
 	}
 
-	rc = Xsqlite3CantopenError(tls, 60235)
+	rc = Xsqlite3CantopenError(tls, 60239)
 __12:
 	;
 	if !(rc != SQLITE_OK) {
@@ -23766,7 +23768,7 @@ __7:
 	if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) {
 		goto __10
 	}
-	rc = Xsqlite3CantopenError(tls, 60754)
+	rc = Xsqlite3CantopenError(tls, 60758)
 	Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd)
 __10:
 	;
@@ -23872,7 +23874,7 @@ __24:
 }
 
 func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) {
-	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 {
+	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) {
 		pagerUnlockAndRollback(tls, pPager)
 	}
 }
@@ -23890,7 +23892,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla
 	if !(pgno == Pgno(0)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 60967)
+	return Xsqlite3CorruptError(tls, 60971)
 __1:
 	;
 	*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3)
@@ -23929,7 +23931,7 @@ __5:
 	if !(pgno == (*Pager)(unsafe.Pointer(pPager)).FlckPgno) {
 		goto __7
 	}
-	rc = Xsqlite3CorruptError(tls, 60999)
+	rc = Xsqlite3CorruptError(tls, 61003)
 	goto pager_acquire_err
 __7:
 	;
@@ -24006,7 +24008,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags
 		(int32((*Pager)(unsafe.Pointer(pPager)).FeState) == PAGER_READER || flags&PAGER_GET_READONLY != 0))
 
 	if pgno <= Pgno(1) && pgno == Pgno(0) {
-		return Xsqlite3CorruptError(tls, 61078)
+		return Xsqlite3CorruptError(tls, 61082)
 	}
 
 	if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
@@ -24764,7 +24766,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 {
 
 // Return the number of references to the specified page.
 func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 {
-	return Xsqlite3PcachePageRefcount(tls, pPage)
+	return int32(Xsqlite3PcachePageRefcount(tls, pPage))
 }
 
 // Parameter eStat must be one of SQLITE_DBSTATUS_CACHE_HIT, _MISS, _WRITE,
@@ -25007,9 +25009,9 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno
 	pPgOld = Xsqlite3PagerLookup(tls, pPager, pgno)
 
 	if pPgOld != 0 {
-		if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 {
+		if (*PgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
 			Xsqlite3PagerUnrefNotNull(tls, pPgOld)
-			return Xsqlite3CorruptError(tls, 62623)
+			return Xsqlite3CorruptError(tls, 62627)
 		}
 		*(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC)
 		if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 {
@@ -25766,7 +25768,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 {
 		nCollide = idx
 		for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) {
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 64387)
+				return Xsqlite3CorruptError(tls, 64391)
 			}
 		}
 		*(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaPgno + uintptr(idx-1)*4)) = iPage
@@ -25865,7 +25867,7 @@ __6:
 	if !(version != U32(WAL_MAX_VERSION)) {
 		goto __7
 	}
-	rc = Xsqlite3CantopenError(tls, 64519)
+	rc = Xsqlite3CantopenError(tls, 64523)
 	goto finished
 __7:
 	;
@@ -26451,7 +26453,7 @@ __10:
 		goto __14
 	}
 
-	rc = Xsqlite3CorruptError(tls, 65333)
+	rc = Xsqlite3CorruptError(tls, 65337)
 	goto __15
 __14:
 	Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16)
@@ -26726,7 +26728,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 {
 	}
 
 	if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) {
-		rc = Xsqlite3CantopenError(tls, 65682)
+		rc = Xsqlite3CantopenError(tls, 65686)
 	}
 	if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
 		if rc != SQLITE_OK {
@@ -27199,7 +27201,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr
 				iRead = iFrame
 			}
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 66419)
+				return Xsqlite3CorruptError(tls, 66423)
 			}
 			iKey = walNextHash(tls, iKey)
 		}
@@ -27704,7 +27706,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
 
 	if rc == SQLITE_OK {
 		if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf {
-			rc = Xsqlite3CorruptError(tls, 67138)
+			rc = Xsqlite3CorruptError(tls, 67142)
 		} else {
 			rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
 		}
@@ -28362,7 +28364,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32
 		}
 		Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
 		if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
-			rc = Xsqlite3CorruptError(tls, 69249)
+			rc = Xsqlite3CorruptError(tls, 69253)
 		} else {
 			rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
 		}
@@ -28499,7 +28501,7 @@ __1:
 	if !(key == Pgno(0)) {
 		goto __2
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69430)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69434)
 	return
 __2:
 	;
@@ -28516,7 +28518,7 @@ __3:
 		goto __4
 	}
 
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69443)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69447)
 	goto ptrmap_exit
 __4:
 	;
@@ -28524,7 +28526,7 @@ __4:
 	if !(offset < 0) {
 		goto __5
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69448)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69452)
 	goto ptrmap_exit
 __5:
 	;
@@ -28567,7 +28569,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 	offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1)))
 	if offset < 0 {
 		Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
-		return Xsqlite3CorruptError(tls, 69493)
+		return Xsqlite3CorruptError(tls, 69497)
 	}
 
 	*(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
@@ -28577,7 +28579,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 
 	Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
 	if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 {
-		return Xsqlite3CorruptError(tls, 69501)
+		return Xsqlite3CorruptError(tls, 69505)
 	}
 	return SQLITE_OK
 }
@@ -28827,7 +28829,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr,
 	if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 		var ovfl Pgno
 		if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) {
-			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69893)
+			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69897)
 			return
 		}
 		ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4))
@@ -28874,7 +28876,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 {
 	if !(iFree > usableSize-4) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 69951)
+	return Xsqlite3CorruptError(tls, 69955)
 __2:
 	;
 	if !(iFree != 0) {
@@ -28884,7 +28886,7 @@ __2:
 	if !(iFree2 > usableSize-4) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 69954)
+	return Xsqlite3CorruptError(tls, 69958)
 __4:
 	;
 	if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) {
@@ -28897,7 +28899,7 @@ __4:
 	if !(top >= iFree) {
 		goto __6
 	}
-	return Xsqlite3CorruptError(tls, 69962)
+	return Xsqlite3CorruptError(tls, 69966)
 __6:
 	;
 	if !(iFree2 != 0) {
@@ -28906,14 +28908,14 @@ __6:
 	if !(iFree+sz > iFree2) {
 		goto __9
 	}
-	return Xsqlite3CorruptError(tls, 69965)
+	return Xsqlite3CorruptError(tls, 69969)
 __9:
 	;
 	sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1)))
 	if !(iFree2+sz2 > usableSize) {
 		goto __10
 	}
-	return Xsqlite3CorruptError(tls, 69967)
+	return Xsqlite3CorruptError(tls, 69971)
 __10:
 	;
 	libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz)))
@@ -28923,7 +28925,7 @@ __7:
 	if !(iFree+sz > usableSize) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 69971)
+	return Xsqlite3CorruptError(tls, 69975)
 __11:
 	;
 __8:
@@ -28987,7 +28989,7 @@ __19:
 	if !(pc < iCellStart || pc > iCellLast) {
 		goto __22
 	}
-	return Xsqlite3CorruptError(tls, 70004)
+	return Xsqlite3CorruptError(tls, 70008)
 __22:
 	;
 	size = int32((*struct {
@@ -28997,7 +28999,7 @@ __22:
 	if !(cbrk < iCellStart || pc+size > usableSize) {
 		goto __23
 	}
-	return Xsqlite3CorruptError(tls, 70010)
+	return Xsqlite3CorruptError(tls, 70014)
 __23:
 	;
 	*(*U8)(unsafe.Pointer(pAddr1)) = U8(cbrk >> 8)
@@ -29019,7 +29021,7 @@ defragment_out:
 	if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) {
 		goto __24
 	}
-	return Xsqlite3CorruptError(tls, 70024)
+	return Xsqlite3CorruptError(tls, 70028)
 __24:
 	;
 	*(*uint8)(unsafe.Pointer(data + uintptr(hdr+5))) = U8(cbrk >> 8)
@@ -29054,7 +29056,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 				*(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x)))
 				return aData + uintptr(pc)
 			} else if x+pc > maxPC {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70081)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70085)
 				return uintptr(0)
 			} else {
 				*(*U8)(unsafe.Pointer(aData + uintptr(pc+2))) = U8(x >> 8)
@@ -29067,13 +29069,13 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 		pc = int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1)))
 		if pc <= iAddr {
 			if pc != 0 {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70096)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70100)
 			}
 			return uintptr(0)
 		}
 	}
 	if pc > maxPC+nByte-4 {
-		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70103)
+		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70107)
 	}
 	return uintptr(0)
 }
@@ -29098,7 +29100,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 		if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) {
 			top = 65536
 		} else {
-			return Xsqlite3CorruptError(tls, 70152)
+			return Xsqlite3CorruptError(tls, 70156)
 		}
 	}
 
@@ -29109,7 +29111,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 
 			*(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1))
 			if g2 <= gap {
-				return Xsqlite3CorruptError(tls, 70170)
+				return Xsqlite3CorruptError(tls, 70174)
 			} else {
 				return SQLITE_OK
 			}
@@ -29161,22 +29163,22 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 				if int32(iFreeBlk) == 0 {
 					break
 				}
-				return Xsqlite3CorruptError(tls, 70249)
+				return Xsqlite3CorruptError(tls, 70253)
 			}
 			iPtr = iFreeBlk
 		}
 		if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) {
-			return Xsqlite3CorruptError(tls, 70254)
+			return Xsqlite3CorruptError(tls, 70258)
 		}
 
 		if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) {
 			nFrag = U8(U32(iFreeBlk) - iEnd)
 			if iEnd > U32(iFreeBlk) {
-				return Xsqlite3CorruptError(tls, 70266)
+				return Xsqlite3CorruptError(tls, 70270)
 			}
 			iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1)))))
 			if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-				return Xsqlite3CorruptError(tls, 70269)
+				return Xsqlite3CorruptError(tls, 70273)
 			}
 			iSize = U16(iEnd - U32(iStart))
 			iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1))))
@@ -29186,7 +29188,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1))))
 			if iPtrEnd+3 >= int32(iStart) {
 				if iPtrEnd > int32(iStart) {
-					return Xsqlite3CorruptError(tls, 70282)
+					return Xsqlite3CorruptError(tls, 70286)
 				}
 				nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd))
 				iSize = U16(iEnd - U32(iPtr))
@@ -29194,7 +29196,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			}
 		}
 		if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) {
-			return Xsqlite3CorruptError(tls, 70288)
+			return Xsqlite3CorruptError(tls, 70292)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag))
 	}
@@ -29202,10 +29204,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 	x = U16(int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1))))
 	if int32(iStart) <= int32(x) {
 		if int32(iStart) < int32(x) {
-			return Xsqlite3CorruptError(tls, 70297)
+			return Xsqlite3CorruptError(tls, 70301)
 		}
 		if int32(iPtr) != int32(hdr)+1 {
-			return Xsqlite3CorruptError(tls, 70298)
+			return Xsqlite3CorruptError(tls, 70302)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8)
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk)
@@ -29265,7 +29267,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70357)
+			return Xsqlite3CorruptError(tls, 70361)
 		}
 	} else {
 		(*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize = U8(4)
@@ -29301,7 +29303,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70381)
+			return Xsqlite3CorruptError(tls, 70385)
 		}
 	}
 	return SQLITE_OK
@@ -29331,11 +29333,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 		var next U32
 		var size U32
 		if pc < top {
-			return Xsqlite3CorruptError(tls, 70432)
+			return Xsqlite3CorruptError(tls, 70436)
 		}
 		for 1 != 0 {
 			if pc > iCellLast {
-				return Xsqlite3CorruptError(tls, 70437)
+				return Xsqlite3CorruptError(tls, 70441)
 			}
 			next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1))))
 			size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1))))
@@ -29346,15 +29348,15 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 			pc = int32(next)
 		}
 		if next > U32(0) {
-			return Xsqlite3CorruptError(tls, 70447)
+			return Xsqlite3CorruptError(tls, 70451)
 		}
 		if U32(pc)+size > uint32(usableSize) {
-			return Xsqlite3CorruptError(tls, 70451)
+			return Xsqlite3CorruptError(tls, 70455)
 		}
 	}
 
 	if nFree > usableSize || nFree < iCellFirst {
-		return Xsqlite3CorruptError(tls, 70463)
+		return Xsqlite3CorruptError(tls, 70467)
 	}
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst))
 	return SQLITE_OK
@@ -29382,14 +29384,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 {
 		pc = int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(data + uintptr(cellOffset+i*2)))))
 
 		if pc < iCellFirst || pc > iCellLast {
-			return Xsqlite3CorruptError(tls, 70494)
+			return Xsqlite3CorruptError(tls, 70498)
 		}
 		sz = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
 		})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc)))
 
 		if pc+sz > usableSize {
-			return Xsqlite3CorruptError(tls, 70499)
+			return Xsqlite3CorruptError(tls, 70503)
 		}
 	}
 	return SQLITE_OK
@@ -29403,7 +29405,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 	data = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 {
-		return Xsqlite3CorruptError(tls, 70531)
+		return Xsqlite3CorruptError(tls, 70535)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1))
@@ -29415,7 +29417,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1))))
 	if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) {
-		return Xsqlite3CorruptError(tls, 70545)
+		return Xsqlite3CorruptError(tls, 70549)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = -1
@@ -29518,7 +29520,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	rc = Xsqlite3CorruptError(tls, 70700)
+	rc = Xsqlite3CorruptError(tls, 70704)
 	goto getAndInitPage_error1
 __1:
 	;
@@ -29546,7 +29548,7 @@ __3:
 	if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) {
 		goto __5
 	}
-	rc = Xsqlite3CorruptError(tls, 70721)
+	rc = Xsqlite3CorruptError(tls, 70725)
 	goto getAndInitPage_error2
 __5:
 	;
@@ -29585,7 +29587,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 {
 			releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
 			*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
-			return Xsqlite3CorruptError(tls, 70787)
+			return Xsqlite3CorruptError(tls, 70791)
 		}
 		(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0)
 	} else {
@@ -30468,7 +30470,7 @@ __16:
 	if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) {
 		goto __18
 	}
-	rc = Xsqlite3CorruptError(tls, 71722)
+	rc = Xsqlite3CorruptError(tls, 71726)
 	goto page1_init_failed
 	goto __19
 __18:
@@ -30883,7 +30885,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 	if int32(eType) == PTRMAP_OVERFLOW2 {
 		if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
-			return Xsqlite3CorruptError(tls, 72143)
+			return Xsqlite3CorruptError(tls, 72147)
 		}
 		Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo)
 	} else {
@@ -30909,7 +30911,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp)
 				if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 					if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-						return Xsqlite3CorruptError(tls, 72162)
+						return Xsqlite3CorruptError(tls, 72166)
 					}
 					if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) {
 						Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo)
@@ -30918,7 +30920,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				}
 			} else {
 				if pCell+uintptr(4) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-					return Xsqlite3CorruptError(tls, 72171)
+					return Xsqlite3CorruptError(tls, 72175)
 				}
 				if Xsqlite3Get4byte(tls, pCell) == iFrom {
 					Xsqlite3Put4byte(tls, pCell, iTo)
@@ -30929,7 +30931,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 		if i == nCell {
 			if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom {
-				return Xsqlite3CorruptError(tls, 72183)
+				return Xsqlite3CorruptError(tls, 72187)
 			}
 			Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo)
 		}
@@ -30945,7 +30947,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag
 	var pPager uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPager
 
 	if iDbPage < Pgno(3) {
-		return Xsqlite3CorruptError(tls, 72218)
+		return Xsqlite3CorruptError(tls, 72222)
 	}
 
 	*(*int32)(unsafe.Pointer(bp)) = Xsqlite3PagerMovepage(tls, pPager, (*MemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -31006,7 +31008,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 			return rc
 		}
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE {
-			return Xsqlite3CorruptError(tls, 72316)
+			return Xsqlite3CorruptError(tls, 72320)
 		}
 
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE {
@@ -31041,7 +31043,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 				if *(*Pgno)(unsafe.Pointer(bp + 40)) > dbSize {
 					releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
-					return Xsqlite3CorruptError(tls, 72368)
+					return Xsqlite3CorruptError(tls, 72372)
 				}
 			}
 
@@ -31101,7 +31103,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 {
 		var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree)
 
 		if nOrig < nFin || nFree >= nOrig {
-			rc = Xsqlite3CorruptError(tls, 72436)
+			rc = Xsqlite3CorruptError(tls, 72440)
 		} else if nFree > Pgno(0) {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
 			if rc == SQLITE_OK {
@@ -31140,7 +31142,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 
 		nOrig = btreePagecount(tls, pBt)
 		if ptrmapPageno(tls, pBt, nOrig) == nOrig || nOrig == U32(Xsqlite3PendingByte)/(*BtShared)(unsafe.Pointer(pBt)).FpageSize+U32(1) {
-			return Xsqlite3CorruptError(tls, 72487)
+			return Xsqlite3CorruptError(tls, 72491)
 		}
 
 		nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
@@ -31171,7 +31173,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 		}
 		nFin = finalDbSize(tls, pBt, nOrig, nVac)
 		if nFin > nOrig {
-			return Xsqlite3CorruptError(tls, 72514)
+			return Xsqlite3CorruptError(tls, 72518)
 		}
 		if nFin < nOrig {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -31512,7 +31514,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u
 
 	if iTable <= Pgno(1) {
 		if iTable < Pgno(1) {
-			return Xsqlite3CorruptError(tls, 72978)
+			return Xsqlite3CorruptError(tls, 72982)
 		} else if btreePagecount(tls, pBt) == Pgno(0) {
 			iTable = Pgno(0)
 		}
@@ -31756,14 +31758,14 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt
 
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
-		return Xsqlite3CorruptError(tls, 73385)
+		return Xsqlite3CorruptError(tls, 73389)
 	}
 
 	getCellInfo(tls, pCur)
 	aPayload = (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
 
 	if Uptr((int64(aPayload)-int64((*MemPage)(unsafe.Pointer(pPage)).FaData))/1) > Uptr((*BtShared)(unsafe.Pointer(pBt)).FusableSize-U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal)) {
-		return Xsqlite3CorruptError(tls, 73400)
+		return Xsqlite3CorruptError(tls, 73404)
 	}
 
 	if offset < U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -31808,7 +31810,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 
 		for *(*Pgno)(unsafe.Pointer(bp)) != 0 {
 			if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage {
-				return Xsqlite3CorruptError(tls, 73462)
+				return Xsqlite3CorruptError(tls, 73466)
 			}
 
 			*(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp))
@@ -31857,7 +31859,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	}
 
 	if rc == SQLITE_OK && amt > U32(0) {
-		return Xsqlite3CorruptError(tls, 73547)
+		return Xsqlite3CorruptError(tls, 73551)
 	}
 	return rc
 }
@@ -31937,7 +31939,7 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt
 
 func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 {
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 {
-		return Xsqlite3CorruptError(tls, 73684)
+		return Xsqlite3CorruptError(tls, 73688)
 	}
 	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	*(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl))
@@ -32028,7 +32030,7 @@ __2:
 	if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 73823)
+	return Xsqlite3CorruptError(tls, 73827)
 __11:
 	;
 skip_init:
@@ -32048,7 +32050,7 @@ __12:
 	if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) {
 		goto __16
 	}
-	return Xsqlite3CorruptError(tls, 73835)
+	return Xsqlite3CorruptError(tls, 73839)
 __16:
 	;
 	subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8))
@@ -32258,7 +32260,7 @@ __19:
 	if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __21
 	}
-	return Xsqlite3CorruptError(tls, 74077)
+	return Xsqlite3CorruptError(tls, 74081)
 __21:
 	;
 	goto __19
@@ -32462,7 +32464,7 @@ __2:
 	if !!(int32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit) != 0) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 74273)
+	return Xsqlite3CorruptError(tls, 74277)
 __4:
 	;
 	goto bypass_moveto_root
@@ -32527,7 +32529,7 @@ __15:
 	if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) {
 		goto __17
 	}
-	rc = Xsqlite3CorruptError(tls, 74360)
+	rc = Xsqlite3CorruptError(tls, 74364)
 	goto moveto_index_finish
 __17:
 	;
@@ -32575,7 +32577,7 @@ __22:
 	if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) {
 		goto __24
 	}
-	rc = Xsqlite3CorruptError(tls, 74392)
+	rc = Xsqlite3CorruptError(tls, 74396)
 __24:
 	;
 	goto moveto_index_finish
@@ -32694,7 +32696,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 {
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1))
 	if !(int32((*MemPage)(unsafe.Pointer(pPage)).FisInit) != 0) || Xsqlite3FaultSim(tls, 412) != 0 {
-		return Xsqlite3CorruptError(tls, 74508)
+		return Xsqlite3CorruptError(tls, 74512)
 	}
 
 	if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
@@ -32854,7 +32856,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr
 	if !(n >= mxPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74688)
+	return Xsqlite3CorruptError(tls, 74692)
 __1:
 	;
 	if !(n > U32(0)) {
@@ -32919,7 +32921,7 @@ __15:
 	if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) {
 		goto __16
 	}
-	rc = Xsqlite3CorruptError(tls, 74744)
+	rc = Xsqlite3CorruptError(tls, 74748)
 	goto __17
 __16:
 	rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0)
@@ -32955,7 +32957,7 @@ __19:
 		goto __22
 	}
 
-	rc = Xsqlite3CorruptError(tls, 74773)
+	rc = Xsqlite3CorruptError(tls, 74777)
 	goto end_allocate_page
 	goto __23
 __22:
@@ -32999,7 +33001,7 @@ __27:
 	if !(iNewTrunk > mxPage) {
 		goto __32
 	}
-	rc = Xsqlite3CorruptError(tls, 74807)
+	rc = Xsqlite3CorruptError(tls, 74811)
 	goto end_allocate_page
 __32:
 	;
@@ -33111,7 +33113,7 @@ __40:
 	if !(iPage > mxPage || iPage < Pgno(2)) {
 		goto __51
 	}
-	rc = Xsqlite3CorruptError(tls, 74872)
+	rc = Xsqlite3CorruptError(tls, 74876)
 	goto end_allocate_page
 __51:
 	;
@@ -33269,7 +33271,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 {
 	if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74999)
+	return Xsqlite3CorruptError(tls, 75003)
 __1:
 	;
 	if !(pMemPage != 0) {
@@ -33326,7 +33328,7 @@ __7:
 	if !(iTrunk > btreePagecount(tls, pBt)) {
 		goto __10
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75046)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75050)
 	goto freepage_out
 __10:
 	;
@@ -33342,7 +33344,7 @@ __11:
 	if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) {
 		goto __12
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75057)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75061)
 	goto freepage_out
 __12:
 	;
@@ -33416,7 +33418,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 	var ovflPageSize U32
 
 	if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 75146)
+		return Xsqlite3CorruptError(tls, 75150)
 	}
 	ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
 	pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt
@@ -33428,7 +33430,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 		*(*Pgno)(unsafe.Pointer(bp + 8)) = Pgno(0)
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 		if ovflPgno < Pgno(2) || ovflPgno > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 75163)
+			return Xsqlite3CorruptError(tls, 75167)
 		}
 		if nOvfl != 0 {
 			rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8)
@@ -33439,7 +33441,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 
 		if (*(*uintptr)(unsafe.Pointer(bp)) != 0 || libc.AssignPtrUintptr(bp, btreePageLookup(tls, pBt, ovflPgno)) != uintptr(0)) &&
 			Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 {
-			rc = Xsqlite3CorruptError(tls, 75183)
+			rc = Xsqlite3CorruptError(tls, 75187)
 		} else {
 			rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp)), ovflPgno)
 		}
@@ -33604,7 +33606,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
 	hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75436)
+		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75440)
 		return
 	}
 	rc = freeSpace(tls, pPage, uint16(pc), uint16(sz))
@@ -33883,12 +33885,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 
 		if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) {
 			if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) {
-				return Xsqlite3CorruptError(tls, 75737)
+				return Xsqlite3CorruptError(tls, 75741)
 			}
 			pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1)
 		} else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) &&
 			Uptr(pCell) < Uptr(pSrcEnd) {
-			return Xsqlite3CorruptError(tls, 75742)
+			return Xsqlite3CorruptError(tls, 75746)
 		}
 
 		pData -= uintptr(sz)
@@ -33896,7 +33898,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 		*(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1)
 		pCellptr += uintptr(2)
 		if pData < pCellptr {
-			return Xsqlite3CorruptError(tls, 75748)
+			return Xsqlite3CorruptError(tls, 75752)
 		}
 		libc.Xmemmove(tls, pData, pCell, uint64(sz))
 
@@ -33956,7 +33958,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr,
 
 		if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) &&
 			Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) {
-			Xsqlite3CorruptError(tls, 75833)
+			Xsqlite3CorruptError(tls, 75837)
 			return 1
 		}
 		libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz))
@@ -34045,7 +34047,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC
 	if !(nShift > nCell) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 75947)
+	return Xsqlite3CorruptError(tls, 75951)
 __2:
 	;
 	libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2))
@@ -34161,7 +34163,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr
 	var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt
 
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
-		return Xsqlite3CorruptError(tls, 76060)
+		return Xsqlite3CorruptError(tls, 76064)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 136)) = allocateBtreePage(tls, pBt, bp, bp+8, uint32(0), uint8(0))
@@ -34481,7 +34483,7 @@ __22:
 	if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) {
 		goto __25
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76481)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76485)
 	goto balance_cleanup
 __25:
 	;
@@ -34492,7 +34494,7 @@ __25:
 	if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) {
 		goto __27
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76505)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76509)
 	goto balance_cleanup
 __27:
 	;
@@ -34650,7 +34652,7 @@ __52:
 	if !(k > NB+2) {
 		goto __55
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76606)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76610)
 	goto balance_cleanup
 __55:
 	;
@@ -34724,7 +34726,7 @@ __65:
 	}()) {
 		goto __67
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76639)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76643)
 	goto balance_cleanup
 __67:
 	;
@@ -34787,7 +34789,7 @@ __73:
 	}()) {
 		goto __75
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76683)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76687)
 	goto balance_cleanup
 __75:
 	;
@@ -34815,7 +34817,7 @@ __76:
 		*(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) {
 		goto __81
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76716)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76720)
 __81:
 	;
 	if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) {
@@ -35076,7 +35078,7 @@ __120:
 	if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) {
 		goto __121
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76916)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76920)
 	goto balance_cleanup
 __121:
 	;
@@ -35268,7 +35270,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 {
 		if pOther != pCur &&
 			int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID &&
 			(*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage {
-			return Xsqlite3CorruptError(tls, 77146)
+			return Xsqlite3CorruptError(tls, 77150)
 		}
 	}
 	return SQLITE_OK
@@ -35306,7 +35308,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 {
 				break
 			}
 		} else if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) > 1 {
-			rc = Xsqlite3CorruptError(tls, 77206)
+			rc = Xsqlite3CorruptError(tls, 77210)
 		} else {
 			var pParent uintptr = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-1)*8))
 			var iIdx int32 = int32(*(*U16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-1)*2)))
@@ -35412,7 +35414,7 @@ func btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 			return rc
 		}
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
-			rc = Xsqlite3CorruptError(tls, 77370)
+			rc = Xsqlite3CorruptError(tls, 77374)
 		} else {
 			if U32(iOffset)+ovflPageSize < U32(nTotal) {
 				ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -35437,7 +35439,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 
 	if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd ||
 		(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FcellOffset) {
-		return Xsqlite3CorruptError(tls, 77398)
+		return Xsqlite3CorruptError(tls, 77402)
 	}
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
 		return btreeOverwriteContent(tls, pPage, (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX,
@@ -35507,7 +35509,7 @@ __2:
 		goto __3
 	}
 
-	return Xsqlite3CorruptError(tls, 77479)
+	return Xsqlite3CorruptError(tls, 77483)
 __3:
 	;
 __1:
@@ -35620,7 +35622,7 @@ __7:
 		goto __21
 	}
 
-	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77602)
+	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77606)
 	goto __22
 __21:
 	*(*int32)(unsafe.Pointer(bp + 120)) = btreeComputeFreeSpace(tls, pPage)
@@ -35680,6 +35682,7 @@ __30:
 __25:
 	;
 	idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
+	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !(*(*int32)(unsafe.Pointer(bp)) == 0) {
 		goto __31
 	}
@@ -35687,7 +35690,7 @@ __25:
 	if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) {
 		goto __33
 	}
-	return Xsqlite3CorruptError(tls, 77640)
+	return Xsqlite3CorruptError(tls, 77645)
 __33:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage)
@@ -35725,13 +35728,13 @@ __37:
 	if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) {
 		goto __39
 	}
-	return Xsqlite3CorruptError(tls, 77667)
+	return Xsqlite3CorruptError(tls, 77672)
 __39:
 	;
 	if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 124))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __40
 	}
-	return Xsqlite3CorruptError(tls, 77670)
+	return Xsqlite3CorruptError(tls, 77675)
 __40:
 	;
 	libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 124))))
@@ -35762,7 +35765,6 @@ __32:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 124)), uintptr(0), uint32(0))
 
-	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) {
 		goto __44
 	}
@@ -35837,7 +35839,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 	nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
 	aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
 	if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 77773)
+		return Xsqlite3CorruptError(tls, 77777)
 	}
 	nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
 	if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -35862,7 +35864,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 
 		if nRem > nIn {
 			if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-				return Xsqlite3CorruptError(tls, 77798)
+				return Xsqlite3CorruptError(tls, 77802)
 			}
 			ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
 		}
@@ -35963,7 +35965,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 				return *(*int32)(unsafe.Pointer(bp + 24))
 			}
 		} else {
-			return Xsqlite3CorruptError(tls, 77894)
+			return Xsqlite3CorruptError(tls, 77898)
 		}
 	}
 
@@ -35971,11 +35973,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 	iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
-		return Xsqlite3CorruptError(tls, 77903)
+		return Xsqlite3CorruptError(tls, 77907)
 	}
 	pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))))
 	if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 {
-		return Xsqlite3CorruptError(tls, 77907)
+		return Xsqlite3CorruptError(tls, 77911)
 	}
 
 	bPreserve = U8(libc.Bool32(int32(flags)&BTREE_SAVEPOSITION != 0))
@@ -36050,7 +36052,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 		}
 		pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))))
 		if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 {
-			return Xsqlite3CorruptError(tls, 77998)
+			return Xsqlite3CorruptError(tls, 78002)
 		}
 		nCell = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
@@ -36119,7 +36121,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 
 		Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp)
 		if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 78114)
+			return Xsqlite3CorruptError(tls, 78118)
 		}
 		*(*Pgno)(unsafe.Pointer(bp))++
 
@@ -36148,7 +36150,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 			}
 			*(*int32)(unsafe.Pointer(bp + 40)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp)), bp+32, bp+36)
 			if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE {
-				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78162)
+				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78166)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -36224,7 +36226,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 78252)
+	return Xsqlite3CorruptError(tls, 78256)
 __1:
 	;
 	*(*int32)(unsafe.Pointer(bp + 32)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0)
@@ -36238,7 +36240,7 @@ __2:
 		Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) {
 		goto __3
 	}
-	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78259)
+	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78263)
 	goto cleardatabasepage_out
 __3:
 	;
@@ -36372,7 +36374,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3
 	var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt
 
 	if iTable > btreePagecount(tls, pBt) {
-		return Xsqlite3CorruptError(tls, 78363)
+		return Xsqlite3CorruptError(tls, 78367)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 12)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0))
@@ -38842,7 +38844,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32,
 	var rc int32
 	(*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null)
 	if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) {
-		return Xsqlite3CorruptError(tls, 81630)
+		return Xsqlite3CorruptError(tls, 81634)
 	}
 	if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) {
 		rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz)
@@ -39491,7 +39493,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		return Xsqlite3GetVarint32(tls, a, bp)
 	}())
 	if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) {
-		return Xsqlite3CorruptError(tls, 82270)
+		return Xsqlite3CorruptError(tls, 82274)
 	}
 	iField = *(*int32)(unsafe.Pointer(bp))
 	for i = 0; i <= iCol; i++ {
@@ -39506,14 +39508,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		}())
 
 		if iHdr > *(*int32)(unsafe.Pointer(bp)) {
-			return Xsqlite3CorruptError(tls, 82276)
+			return Xsqlite3CorruptError(tls, 82280)
 		}
 		szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4))))
 		iField = iField + szField
 	}
 
 	if iField > nRec {
-		return Xsqlite3CorruptError(tls, 82282)
+		return Xsqlite3CorruptError(tls, 82286)
 	}
 	if pMem == uintptr(0) {
 		pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db))
@@ -41817,7 +41819,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 {
 		return rc
 	}
 	if *(*int32)(unsafe.Pointer(bp)) != 0 {
-		return Xsqlite3CorruptError(tls, 86058)
+		return Xsqlite3CorruptError(tls, 86062)
 	}
 	(*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0)
 	(*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE)
@@ -42368,7 +42370,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		i = 0
 	}
 	if d1 > uint32(nKey1) {
-		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86985))
+		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86989))
 		return 0
 	}
 
@@ -42433,7 +42435,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 
 				if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) ||
 					int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87062))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87066))
 					return 0
 				} else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 {
 					(*Mem)(unsafe.Pointer(bp + 8)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc
@@ -42467,7 +42469,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 				var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2))
 
 				if d1+U32(nStr) > uint32(nKey1) {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87092))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87096))
 					return 0
 				} else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 {
 					if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) {
@@ -42517,7 +42519,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		}
 		idx1 = idx1 + U32(Xsqlite3VarintLen(tls, uint64(*(*U32)(unsafe.Pointer(bp + 64)))))
 		if idx1 >= *(*U32)(unsafe.Pointer(bp + 4)) {
-			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87136))
+			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87140))
 			return 0
 		}
 	}
@@ -42663,7 +42665,7 @@ __5:
 	if !(szHdr+nStr > nKey1) {
 		goto __7
 	}
-	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87299))
+	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87303))
 	return 0
 __7:
 	;
@@ -42834,7 +42836,7 @@ __6:
 idx_rowid_corruption:
 	;
 	Xsqlite3VdbeMemReleaseMalloc(tls, bp)
-	return Xsqlite3CorruptError(tls, 87457)
+	return Xsqlite3CorruptError(tls, 87461)
 }
 
 // Compare the key of the index entry that cursor pC is pointing to against
@@ -42860,7 +42862,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
 
 	if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) {
 		*(*int32)(unsafe.Pointer(res)) = 0
-		return Xsqlite3CorruptError(tls, 87490)
+		return Xsqlite3CorruptError(tls, 87494)
 	}
 	Xsqlite3VdbeMemInit(tls, bp, db, uint16(0))
 	rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp)
@@ -43134,7 +43136,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 {
 		var v uintptr = pStmt
 		var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb
 		if vdbeSafety(tls, v) != 0 {
-			return Xsqlite3MisuseError(tls, 87854)
+			return Xsqlite3MisuseError(tls, 87858)
 		}
 		Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) {
@@ -43749,7 +43751,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 {
 	var db uintptr
 
 	if vdbeSafetyNotNull(tls, v) != 0 {
-		return Xsqlite3MisuseError(tls, 88544)
+		return Xsqlite3MisuseError(tls, 88548)
 	}
 	db = (*Vdbe)(unsafe.Pointer(v)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -44269,7 +44271,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 
 	var pVar uintptr
 	if vdbeSafetyNotNull(tls, p) != 0 {
-		return Xsqlite3MisuseError(tls, 89208)
+		return Xsqlite3MisuseError(tls, 89212)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 	if int32((*Vdbe)(unsafe.Pointer(p)).FeVdbeState) != VDBE_READY_STATE {
@@ -44277,7 +44279,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 		Xsqlite3_log(tls, SQLITE_MISUSE,
 			ts+5357, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql))
-		return Xsqlite3MisuseError(tls, 89216)
+		return Xsqlite3MisuseError(tls, 89220)
 	}
 	if i >= uint32((*Vdbe)(unsafe.Pointer(p)).FnVar) {
 		Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE)
@@ -44682,7 +44684,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89707)
+	rc = Xsqlite3MisuseError(tls, 89711)
 	goto preupdate_old_out
 __1:
 	;
@@ -44826,7 +44828,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89809)
+	rc = Xsqlite3MisuseError(tls, 89813)
 	goto preupdate_new_out
 __1:
 	;
@@ -45270,10 +45272,6 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 {
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Real != 0 {
 			h = h + U64(Xsqlite3VdbeIntValue(tls, p))
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 {
-			h = h + U64((*Mem)(unsafe.Pointer(p)).Fn)
-			if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Zero != 0 {
-				h = h + U64(*(*int32)(unsafe.Pointer(p)))
-			}
 		}
 	}
 	return h
@@ -47921,7 +47919,7 @@ op_column_corrupt:
 	goto __9
 	goto __425
 __424:
-	rc = Xsqlite3CorruptError(tls, 93317)
+	rc = Xsqlite3CorruptError(tls, 93320)
 	goto abort_due_to_error
 __425:
 	;
@@ -49681,7 +49679,7 @@ notExistsWithKey:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) {
 		goto __682
 	}
-	rc = Xsqlite3CorruptError(tls, 95560)
+	rc = Xsqlite3CorruptError(tls, 95563)
 	goto __683
 __682:
 	goto jump_to_p2
@@ -50459,7 +50457,7 @@ __767:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) {
 		goto __770
 	}
-	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96635, ts+5866)
+	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96638, ts+5866)
 	goto abort_due_to_error
 __770:
 	;
@@ -50569,7 +50567,7 @@ __780:
 	if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) {
 		goto __781
 	}
-	rc = Xsqlite3CorruptError(tls, 96840)
+	rc = Xsqlite3CorruptError(tls, 96843)
 	goto abort_due_to_error
 __781:
 	;
@@ -50763,7 +50761,7 @@ __802:
 		goto __803
 	}
 
-	rc = Xsqlite3CorruptError(tls, 97092)
+	rc = Xsqlite3CorruptError(tls, 97095)
 __803:
 	;
 	Xsqlite3DbFreeNN(tls, db, zSql)
@@ -52130,7 +52128,7 @@ __955:
 	if !(rc == SQLITE_IOERR|int32(33)<<8) {
 		goto __957
 	}
-	rc = Xsqlite3CorruptError(tls, 99031)
+	rc = Xsqlite3CorruptError(tls, 99034)
 __957:
 	;
 __956:
@@ -52650,7 +52648,7 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99516)
+		return Xsqlite3MisuseError(tls, 99519)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -52733,7 +52731,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99616)
+		return Xsqlite3MisuseError(tls, 99619)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -56173,14 +56171,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			;
 			Xsqlite3WalkExpr(tls, pWalker, (*Expr)(unsafe.Pointer(pExpr)).FpLeft)
 			if 0 == Xsqlite3ExprCanBeNull(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
-				if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6764
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsTrue)
-				} else {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6769
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
-				}
-				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
+				*(*int32)(unsafe.Pointer(pExpr + 8)) = libc.Bool32(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL)
+				*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IntValue)
+				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_INTEGER)
+
 				i = 0
 				p = pNC
 			__4:
@@ -56224,7 +56218,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_GenCol) != 0 {
-					notValidImpl(tls, pParse, pNC, ts+6775, uintptr(0), pExpr)
+					notValidImpl(tls, pParse, pNC, ts+6764, uintptr(0), pExpr)
 				}
 
 				pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight
@@ -56288,7 +56282,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 						(*Expr)(unsafe.Pointer(pExpr)).FiTable = exprProbability(tls, (*ExprList_item)(unsafe.Pointer(pList+8+1*32)).FpExpr)
 						if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 {
 							Xsqlite3ErrorMsg(tls, pParse,
-								ts+6792, libc.VaList(bp, pExpr))
+								ts+6781, libc.VaList(bp, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
 					} else {
@@ -56304,7 +56298,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 					var auth int32 = Xsqlite3AuthCheck(tls, pParse, SQLITE_FUNCTION, uintptr(0), (*FuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0))
 					if auth != SQLITE_OK {
 						if auth == SQLITE_DENY {
-							Xsqlite3ErrorMsg(tls, pParse, ts+6856,
+							Xsqlite3ErrorMsg(tls, pParse, ts+6845,
 								libc.VaList(bp+8, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
@@ -56318,7 +56312,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				}
 				if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_CONSTANT) == U32(0) {
 					if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_PartIdx|NC_GenCol) != 0 {
-						notValidImpl(tls, pParse, pNC, ts+6892, uintptr(0), pExpr)
+						notValidImpl(tls, pParse, pNC, ts+6881, uintptr(0), pExpr)
 					}
 
 				} else {
@@ -56341,30 +56335,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			if 0 == libc.Bool32(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 				if pDef != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+6920, libc.VaList(bp+16, pExpr))
+						ts+6909, libc.VaList(bp+16, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowAgg == 0 ||
 					is_agg != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) ||
 					is_agg != 0 && pWin != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowWin == 0 {
 					var zType uintptr
 					if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 {
-						zType = ts + 6963
+						zType = ts + 6952
 					} else {
-						zType = ts + 6970
+						zType = ts + 6959
 					}
-					Xsqlite3ErrorMsg(tls, pParse, ts+6980, libc.VaList(bp+24, zType, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6969, libc.VaList(bp+24, zType, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 					is_agg = 0
 				} else if no_such_func != 0 && int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7008, libc.VaList(bp+40, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6997, libc.VaList(bp+40, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if wrong_num_args != 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7030,
+					Xsqlite3ErrorMsg(tls, pParse, ts+7019,
 						libc.VaList(bp+48, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg == 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7074,
+						ts+7063,
 						libc.VaList(bp+56, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				}
@@ -56436,15 +56430,15 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_SelfRef != 0 {
-					notValidImpl(tls, pParse, pNC, ts+7122, pExpr, pExpr)
+					notValidImpl(tls, pParse, pNC, ts+7111, pExpr, pExpr)
 				} else {
 					Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32)))
 				}
 
 				if nRef != (*NameContext)(unsafe.Pointer(pNC)).FnRef {
 					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_VarSelect)
-					*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_VarSelect
 				}
+				*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_Subquery
 			}
 			break
 
@@ -56452,7 +56446,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 	case TK_VARIABLE:
 		{
 			if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IsCheck|NC_PartIdx|NC_IdxExpr|NC_GenCol) != 0 {
-				notValidImpl(tls, pParse, pNC, ts+7133, pExpr, pExpr)
+				notValidImpl(tls, pParse, pNC, ts+7122, pExpr, pExpr)
 			}
 
 			break
@@ -56583,7 +56577,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3
 	defer tls.Free(24)
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+7144, libc.VaList(bp, i, zType, mx))
+		ts+7133, libc.VaList(bp, i, zType, mx))
 	Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pError)
 }
 
@@ -56603,7 +56597,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	}
 	db = (*Parse)(unsafe.Pointer(pParse)).Fdb
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7200, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7189, 0)
 		return 1
 	}
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
@@ -56638,7 +56632,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 			}
 			if Xsqlite3ExprIsInteger(tls, pE, bp+8) != 0 {
 				if *(*int32)(unsafe.Pointer(bp + 8)) <= 0 || *(*int32)(unsafe.Pointer(bp + 8)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr {
-					resolveOutOfRangeError(tls, pParse, ts+7234, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
+					resolveOutOfRangeError(tls, pParse, ts+7223, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
 					return 1
 				}
 			} else {
@@ -56695,7 +56689,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
 		if int32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2) == 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+7240, libc.VaList(bp, i+1))
+				ts+7229, libc.VaList(bp, i+1))
 			return 1
 		}
 	}
@@ -56723,7 +56717,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr,
 		return 0
 	}
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7301, libc.VaList(bp, zType))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7290, libc.VaList(bp, zType))
 		return 1
 	}
 	pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList
@@ -56937,7 +56931,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		*(*int32)(unsafe.Pointer(bp + 40)) |= NC_UEList
 		if (*Select)(unsafe.Pointer(p)).FpHaving != 0 {
 			if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Aggregate) == U32(0) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7332, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+7321, 0)
 				return WRC_Abort
 			}
 			if Xsqlite3ResolveExprNames(tls, bp, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 {
@@ -56977,7 +56971,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 
 		if (*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) &&
 			isCompound <= nCompound &&
-			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7234) != 0 {
+			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7223) != 0 {
 			return WRC_Abort
 		}
 		if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -56988,7 +56982,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		if pGroupBy != 0 {
 			var pItem uintptr
 
-			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7371) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
+			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7360) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 				return WRC_Abort
 			}
 			i = 0
@@ -57000,7 +56994,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 			{
 				if (*Expr)(unsafe.Pointer((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr)).Fflags&U32(EP_Agg) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7377, 0)
+						ts+7366, 0)
 					return WRC_Abort
 				}
 
@@ -57864,7 +57858,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32
 	var mxHeight int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4))
 	if nHeight > mxHeight {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+7436, libc.VaList(bp, mxHeight))
+			ts+7425, libc.VaList(bp, mxHeight))
 		rc = SQLITE_ERROR
 	}
 	return rc
@@ -58113,10 +58107,10 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList
 			nExprElem = 1
 		}
 		if nExprElem != nElem {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7484,
+			Xsqlite3ErrorMsg(tls, pParse, ts+7473,
 				libc.VaList(bp, nExprElem, func() uintptr {
 					if nExprElem > 1 {
-						return ts + 7528
+						return ts + 7517
 					}
 					return ts + 1554
 				}(), nElem))
@@ -58157,7 +58151,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt
 		!(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 		Xsqlite3ExprDeferredDelete(tls, pParse, pLeft)
 		Xsqlite3ExprDeferredDelete(tls, pParse, pRight)
-		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7530)
+		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7519)
 	} else {
 		return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight)
 	}
@@ -58183,7 +58177,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u
 	if pList != 0 &&
 		(*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) &&
 		!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7532, libc.VaList(bp, pToken))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7521, libc.VaList(bp, pToken))
 	}
 	*(*uintptr)(unsafe.Pointer(pNew + 32)) = pList
 	*(*U32)(unsafe.Pointer(pNew + 4)) |= U32(EP_HasFunc)
@@ -58211,7 +58205,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD
 	if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromDDL) != U32(0) {
 		if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_DIRECT) != U32(0) ||
 			(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) == uint64(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7566, libc.VaList(bp, pExpr))
+			Xsqlite3ErrorMsg(tls, pParse, ts+7555, libc.VaList(bp, pExpr))
 		}
 	}
 }
@@ -58258,7 +58252,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 			}
 
 			if bOk == 0 || *(*I64)(unsafe.Pointer(bp + 8)) < int64(1) || *(*I64)(unsafe.Pointer(bp + 8)) > I64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7586,
+				Xsqlite3ErrorMsg(tls, pParse, ts+7575,
 					libc.VaList(bp, *(*int32)(unsafe.Pointer(db + 136 + 9*4))))
 				Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 				return
@@ -58283,7 +58277,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 	}
 	(*Expr)(unsafe.Pointer(pExpr)).FiColumn = x
 	if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7629, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7618, 0)
 		Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 	}
 }
@@ -58858,7 +58852,7 @@ __2:
 	if !(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_SELECT && (*IdList)(unsafe.Pointer(pColumns)).FnId != libc.AssignInt32(&n, Xsqlite3ExprVectorSize(tls, pExpr))) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7652,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7641,
 		libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n))
 	goto vector_append_error
 __3:
@@ -58981,7 +58975,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr,
 	var mx int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4))
 
 	if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7682, libc.VaList(bp, zObject))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7671, libc.VaList(bp, zObject))
 	}
 }
 
@@ -59037,10 +59031,10 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int
 //	  "false"                        EP_IsFalse
 //	  anything else                  0
 func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 {
-	if Xsqlite3StrICmp(tls, zIn, ts+6764) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7694) == 0 {
 		return U32(EP_IsTrue)
 	}
-	if Xsqlite3StrICmp(tls, zIn, ts+6769) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7699) == 0 {
 		return U32(EP_IsFalse)
 	}
 	return U32(0)
@@ -60114,7 +60108,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 {
 	}
 	if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
-		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7530)
+		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7519)
 		if pLimit != 0 {
 			(*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC)
 			pLimit = Xsqlite3PExpr(tls, pParse, TK_NE,
@@ -60552,6 +60546,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr
 func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) {
 	var iAddr int32
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
+	var nErr int32 = (*Parse)(unsafe.Pointer(pParse)).FnErr
 
 	if (*Parse)(unsafe.Pointer(pParse)).FiSelfTab > 0 {
 		iAddr = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Parse)(unsafe.Pointer(pParse)).FiSelfTab-1, 0, regOut)
@@ -60565,6 +60560,9 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr
 	if iAddr != 0 {
 		Xsqlite3VdbeJumpHere(tls, v, iAddr)
 	}
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr > nErr {
+		(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FerrByteOffset = -1
+	}
 }
 
 // Generate code to extract the value of the iCol-th column of a table.
@@ -60783,6 +60781,7 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 	var p uintptr
 	var v uintptr
 	for p = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr; p != 0; p = (*IndexedExpr)(unsafe.Pointer(p)).FpIENext {
+		var exprAff U8
 		var iDataCur int32 = (*IndexedExpr)(unsafe.Pointer(p)).FiDataCur
 		if iDataCur < 0 {
 			continue
@@ -60796,6 +60795,14 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 		if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IndexedExpr)(unsafe.Pointer(p)).FpExpr, iDataCur) != 0 {
 			continue
 		}
+
+		exprAff = U8(Xsqlite3ExprAffinity(tls, pExpr))
+		if int32(exprAff) <= SQLITE_AFF_BLOB && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_BLOB ||
+			int32(exprAff) == SQLITE_AFF_TEXT && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_TEXT ||
+			int32(exprAff) >= SQLITE_AFF_NUMERIC && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_NUMERIC {
+			continue
+		}
+
 		v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 
 		if (*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow != 0 {
@@ -61569,7 +61576,7 @@ __121:
 	if !((*Expr)(unsafe.Pointer(pExpr)).FiTable != n1) {
 		goto __122
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7652,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7641,
 		libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1))
 __122:
 	;
@@ -61591,11 +61598,10 @@ __49:
 	return target
 
 __50:
-	if !(!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) &&
-		(*Expr)(unsafe.Pointer(pExpr)).FpLeft != 0 &&
-		int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_FUNCTION) {
+	if !!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) {
 		goto __123
 	}
+
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	if !(inReg != target) {
 		goto __125
@@ -61666,13 +61672,19 @@ __129:
 	;
 __127:
 	;
-	addrINR = Xsqlite3VdbeAddOp1(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable)
+	addrINR = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable, 0, target)
 
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = U8(0)
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = okConstFactor
+	if !(inReg != target) {
+		goto __130
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, inReg, target)
+	inReg = target
+__130:
+	;
 	Xsqlite3VdbeJumpHere(tls, v, addrINR)
-	Xsqlite3VdbeChangeP3(tls, v, addrINR, inReg)
 	goto __5
 
 __56:
@@ -61685,15 +61697,15 @@ __56:
 	nExpr = (*ExprList)(unsafe.Pointer(pEList)).FnExpr
 	endLabel = Xsqlite3VdbeMakeLabel(tls, pParse)
 	if !(libc.AssignUintptr(&pX, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) != uintptr(0)) {
-		goto __130
+		goto __131
 	}
 	pDel = Xsqlite3ExprDup(tls, db1, pX, 0)
 	if !((*Sqlite3)(unsafe.Pointer(db1)).FmallocFailed != 0) {
-		goto __131
+		goto __132
 	}
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	goto __5
-__131:
+__132:
 	;
 	exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+40))
 
@@ -61703,22 +61715,22 @@ __131:
 	pTest = bp + 120
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = 0
-__130:
+__131:
 	;
 	i1 = 0
-__132:
+__133:
 	if !(i1 < nExpr-1) {
-		goto __134
+		goto __135
 	}
 	if !(pX != 0) {
-		goto __135
+		goto __136
 	}
 
 	(*Expr)(unsafe.Pointer(bp + 120)).FpRight = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
-	goto __136
-__135:
-	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+	goto __137
 __136:
+	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+__137:
 	;
 	nextCase = Xsqlite3VdbeMakeLabel(tls, pParse)
 
@@ -61727,21 +61739,21 @@ __136:
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(aListelem+uintptr(i1+1)*32)).FpExpr, target)
 	Xsqlite3VdbeGoto(tls, v, endLabel)
 	Xsqlite3VdbeResolveLabel(tls, v, nextCase)
-	goto __133
-__133:
-	i1 = i1 + 2
-	goto __132
 	goto __134
 __134:
+	i1 = i1 + 2
+	goto __133
+	goto __135
+__135:
 	;
 	if !(nExpr&1 != 0) {
-		goto __137
+		goto __138
 	}
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(pEList+8+uintptr(nExpr-1)*32)).FpExpr, target)
-	goto __138
-__137:
-	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+	goto __139
 __138:
+	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+__139:
 	;
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	setDoNotMergeFlagOnCopy(tls, v)
@@ -61751,27 +61763,27 @@ __138:
 __57:
 	;
 	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).FpTriggerTab) != 0) && !(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0)) {
-		goto __139
+		goto __140
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
 		ts+8082, 0)
 	return 0
-__139:
-	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
-		goto __140
-	}
-	Xsqlite3MayAbort(tls, pParse)
 __140:
 	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
 		goto __141
 	}
+	Xsqlite3MayAbort(tls, pParse)
+__141:
+	;
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+		goto __142
+	}
 	Xsqlite3VdbeAddOp4(tls,
 		v, OP_Halt, SQLITE_OK, OE_Ignore, 0, *(*uintptr)(unsafe.Pointer(pExpr + 8)), 0)
 
-	goto __142
-__141:
+	goto __143
+__142:
 	Xsqlite3HaltConstraint(tls, pParse,
 		func() int32 {
 			if (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab != 0 {
@@ -61780,7 +61792,7 @@ __141:
 			return SQLITE_ERROR
 		}(),
 		int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr), *(*uintptr)(unsafe.Pointer(pExpr + 8)), int8(0), uint8(0))
-__142:
+__143:
 	;
 	goto __5
 
@@ -64448,7 +64460,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 		return SQLITE_NOMEM
 	}
 	if Xsqlite3_strnicmp(tls, zSql, ts+10922, 7) != 0 {
-		return Xsqlite3CorruptError(tls, 113494)
+		return Xsqlite3CorruptError(tls, 113516)
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 {
 		if bTemp != 0 {
@@ -64465,7 +64477,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 	}
 	if rc == SQLITE_OK &&
 		((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
-		rc = Xsqlite3CorruptError(tls, 113505)
+		rc = Xsqlite3CorruptError(tls, 113527)
 	}
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
@@ -65386,7 +65398,7 @@ __1:
 		goto __2
 	}
 
-	rc = Xsqlite3CorruptError(tls, 114441)
+	rc = Xsqlite3CorruptError(tls, 114463)
 	goto drop_column_done
 __2:
 	;
@@ -69749,6 +69761,12 @@ __10:
 
 	pExpr = Xsqlite3PExpr(tls, pParse, TK_UPLUS, pExpr, uintptr(0))
 __11:
+	;
+	if !(pExpr != 0 && int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_RAISE) {
+		goto __12
+	}
+	(*Expr)(unsafe.Pointer(pExpr)).FaffExpr = (*Column)(unsafe.Pointer(pCol)).Faffinity
+__12:
 	;
 	Xsqlite3ColumnSetExpr(tls, pParse, pTab, pCol, pExpr)
 	pExpr = uintptr(0)
@@ -70914,7 +70932,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 {
 		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3286, 4) == 0 {
 			return 0
 		}
-		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7133, 10) == 0 {
+		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7122, 10) == 0 {
 			return 0
 		}
 		return 1
@@ -72160,7 +72178,7 @@ __81:
 		goto __101
 	}
 	Xsqlite3ErrorMsg(tls, pParse, ts+14140, 0)
-	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121835)
+	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121859)
 	goto exit_create_index
 __101:
 	;
@@ -74205,7 +74223,7 @@ __20:
 	goto __16
 __15:
 	wcf = U16(WHERE_ONEPASS_DESIRED | WHERE_DUPLICATES_OK)
-	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_VarSelect != 0) {
+	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_Subquery != 0) {
 		goto __23
 	}
 	bComplex = 1
@@ -80673,7 +80691,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca
 	if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) {
 		goto __1
 	}
-	return Xsqlite3MisuseError(tls, 131895)
+	return Xsqlite3MisuseError(tls, 131931)
 __1:
 	;
 	if !(zSql == uintptr(0)) {
@@ -82072,7 +82090,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh
 		} else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) {
 			zType = ts + 17513
 		} else {
-			zType = ts + 7528
+			zType = ts + 7517
 		}
 		Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17515,
 			libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin,
@@ -82233,6 +82251,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p
 	var zErr2 uintptr
 	var k3 int32
 	var pCheck uintptr
+	var jmp7 int32
 	var jmp6 int32
 	var iCol1 int32
 	var uniqOk int32
@@ -83551,7 +83570,7 @@ __215:
 		goto __217
 	}
 	pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7528, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7517, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
 	goto __216
 __216:
 	j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext
@@ -83567,7 +83586,7 @@ __218:
 	if !(i6 < int32(uint64(unsafe.Sizeof(aPragmaName))/uint64(unsafe.Sizeof(PragmaName{})))) {
 		goto __220
 	}
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7528, libc.VaList(bp+272, aPragmaName[i6].FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7517, libc.VaList(bp+272, aPragmaName[i6].FzName))
 	goto __219
 __219:
 	i6++
@@ -84372,80 +84391,94 @@ __344:
 	jmp4 = integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, jmp21)
 
+	if !((*Table)(unsafe.Pointer(pTab9)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) {
+		goto __345
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_IdxRowid, *(*int32)(unsafe.Pointer(bp + 616))+j4, 3)
+	jmp7 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 3, 0, r1+int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)-1)
+
+	Xsqlite3VdbeLoadString(tls, v, 3,
+		ts+17929)
+	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17965)
+	Xsqlite3VdbeGoto(tls, v, jmp5-1)
+	Xsqlite3VdbeJumpHere(tls, v, jmp7)
+__345:
+	;
 	label6 = 0
 	kk = 0
-__345:
+__346:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __347
-	}
-	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __348
 	}
-	goto __346
-__348:
-	;
-	if !(label6 == 0) {
+	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __349
 	}
-	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+	goto __347
 __349:
+	;
+	if !(label6 == 0) {
+		goto __350
+	}
+	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+__350:
 	;
 	Xsqlite3VdbeAddOp3(tls, v, OP_Column, *(*int32)(unsafe.Pointer(bp + 616))+j4, kk, 3)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Ne, 3, label6, r1+kk)
-	goto __346
-__346:
-	kk++
-	goto __345
 	goto __347
 __347:
+	kk++
+	goto __346
+	goto __348
+__348:
 	;
 	if !(label6 != 0) {
-		goto __350
+		goto __351
 	}
 	jmp6 = Xsqlite3VdbeAddOp0(tls, v, OP_Goto)
 	Xsqlite3VdbeResolveLabel(tls, v, label6)
 	Xsqlite3VdbeLoadString(tls, v, 3, ts+17903)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
-	Xsqlite3VdbeLoadString(tls, v, 4, ts+17929)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17976)
 	Xsqlite3VdbeGoto(tls, v, jmp5-1)
 	Xsqlite3VdbeJumpHere(tls, v, jmp6)
-__350:
+__351:
 	;
 	if !(int32((*Index)(unsafe.Pointer(pIdx5)).FonError) != OE_None) {
-		goto __351
+		goto __352
 	}
 	uniqOk = Xsqlite3VdbeMakeLabel(tls, pParse)
 	kk = 0
-__352:
+__353:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __354
+		goto __355
 	}
 	iCol1 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2)))
 
 	if !(iCol1 >= 0 && uint32(int32(*(*uint8)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*24 + 8))&0xf>>0)) != 0) {
-		goto __355
+		goto __356
 	}
-	goto __353
-__355:
+	goto __354
+__356:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_IsNull, r1+kk, uniqOk)
 
-	goto __353
-__353:
-	kk++
-	goto __352
 	goto __354
 __354:
+	kk++
+	goto __353
+	goto __355
+__355:
 	;
 	jmp61 = Xsqlite3VdbeAddOp1(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 616))+j4)
 	Xsqlite3VdbeGoto(tls, v, uniqOk)
 	Xsqlite3VdbeJumpHere(tls, v, jmp61)
 	Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, *(*int32)(unsafe.Pointer(bp + 616))+j4, uniqOk, r1,
 		int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol))
-	Xsqlite3VdbeLoadString(tls, v, 3, ts+17956)
+	Xsqlite3VdbeLoadString(tls, v, 3, ts+18003)
 	Xsqlite3VdbeGoto(tls, v, jmp5)
 	Xsqlite3VdbeResolveLabel(tls, v, uniqOk)
-__351:
+__352:
 	;
 	Xsqlite3VdbeJumpHere(tls, v, jmp4)
 	Xsqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 632)))
@@ -84462,20 +84495,20 @@ __340:
 	Xsqlite3VdbeAddOp2(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 612)), loopTop)
 	Xsqlite3VdbeJumpHere(tls, v, loopTop-1)
 	if !!(isQuick != 0) {
-		goto __356
+		goto __357
 	}
-	Xsqlite3VdbeLoadString(tls, v, 2, ts+17983)
+	Xsqlite3VdbeLoadString(tls, v, 2, ts+18030)
 	j4 = 0
 	pIdx5 = (*Table)(unsafe.Pointer(pTab9)).FpIndex
-__357:
+__358:
 	if !(pIdx5 != 0) {
-		goto __359
-	}
-	if !(pPk1 == pIdx5) {
 		goto __360
 	}
-	goto __358
-__360:
+	if !(pPk1 == pIdx5) {
+		goto __361
+	}
+	goto __359
+__361:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_Count, *(*int32)(unsafe.Pointer(bp + 616))+j4, 3)
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 8+j4, 0, 3)
@@ -84484,21 +84517,21 @@ __360:
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 2, 3)
 	integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
-	goto __358
-__358:
-	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
-	j4++
-	goto __357
 	goto __359
 __359:
+	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
+	j4++
+	goto __358
+	goto __360
+__360:
 	;
 	if !(pPk1 != 0) {
-		goto __361
+		goto __362
 	}
 	Xsqlite3ReleaseTempRange(tls, pParse, r2, int32((*Index)(unsafe.Pointer(pPk1)).FnKeyCol))
-__361:
+__362:
 	;
-__356:
+__357:
 	;
 	goto __291
 __291:
@@ -84516,14 +84549,14 @@ __266:
 	;
 	aOp2 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(endCode))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&endCode)), iLn5)
 	if !(aOp2 != 0) {
-		goto __362
+		goto __363
 	}
 	(*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = 1 - *(*int32)(unsafe.Pointer(bp + 608))
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1)
-	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 18012
+	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 18059
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 5*24)).Fp4type = int8(-1)
 	*(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT)
-__362:
+__363:
 	;
 	Xsqlite3VdbeChangeP3(tls, v, 0, Xsqlite3VdbeCurrentAddr(tls, v)-2)
 
@@ -84531,27 +84564,27 @@ __362:
 
 __45:
 	if !!(zRight != 0) {
-		goto __363
+		goto __364
 	}
 	if !(Xsqlite3ReadSchema(tls, pParse) != 0) {
-		goto __365
-	}
-	goto pragma_out
-__365:
-	;
-	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
-	goto __364
-__363:
-	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
 		goto __366
 	}
+	goto pragma_out
+__366:
+	;
+	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
+	goto __365
+__364:
+	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
+		goto __367
+	}
 	pEnc = uintptr(unsafe.Pointer(&encnames1))
-__367:
+__368:
 	if !((*EncName)(unsafe.Pointer(pEnc)).FzName != 0) {
-		goto __369
+		goto __370
 	}
 	if !(0 == Xsqlite3StrICmp(tls, zRight, (*EncName)(unsafe.Pointer(pEnc)).FzName)) {
-		goto __370
+		goto __371
 	}
 	if (*EncName)(unsafe.Pointer(pEnc)).Fenc != 0 {
 		enc = (*EncName)(unsafe.Pointer(pEnc)).Fenc
@@ -84560,25 +84593,25 @@ __367:
 	}
 	(*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema)).Fenc = enc
 	Xsqlite3SetTextEncoding(tls, db, enc)
-	goto __369
-__370:
-	;
-	goto __368
-__368:
-	pEnc += 16
-	goto __367
-	goto __369
-__369:
-	;
-	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
-		goto __371
-	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18015, libc.VaList(bp+456, zRight))
+	goto __370
 __371:
 	;
-__366:
+	goto __369
+__369:
+	pEnc += 16
+	goto __368
+	goto __370
+__370:
 	;
-__364:
+	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
+		goto __372
+	}
+	Xsqlite3ErrorMsg(tls, pParse, ts+18062, libc.VaList(bp+456, zRight))
+__372:
+	;
+__367:
+	;
+__365:
 	;
 	goto __15
 
@@ -84586,15 +84619,15 @@ __46:
 	iCookie = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiArg)
 	Xsqlite3VdbeUsesBtree(tls, v, iDb)
 	if !(zRight != 0 && int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_ReadOnly == 0) {
-		goto __372
+		goto __373
 	}
 
 	aOp3 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(setCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&setCookie)), 0)
 	if !(0 != 0) {
-		goto __374
+		goto __375
 	}
 	goto __15
-__374:
+__375:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp3)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp1 = iDb
@@ -84602,41 +84635,41 @@ __374:
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp3 = Xsqlite3Atoi(tls, zRight)
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp5 = U16(1)
 	if !(iCookie == BTREE_SCHEMA_VERSION && (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0)) {
-		goto __375
+		goto __376
 	}
 
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fopcode = U8(OP_Noop)
-__375:
+__376:
 	;
-	goto __373
-__372:
+	goto __374
+__373:
 	;
 	aOp4 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(readCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&readCookie)), 0)
 	if !(0 != 0) {
-		goto __376
+		goto __377
 	}
 	goto __15
-__376:
+__377:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp4)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp3 = iCookie
 	Xsqlite3VdbeReusable(tls, v)
-__373:
+__374:
 	;
 	goto __15
 
 __47:
 	i10 = 0
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 1
-__377:
+__378:
 	if !(libc.AssignUintptr(&zOpt, Xsqlite3_compileoption_get(tls, libc.PostIncInt32(&i10, 1))) != uintptr(0)) {
-		goto __378
+		goto __379
 	}
 	Xsqlite3VdbeLoadString(tls, v, 1, zOpt)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1)
-	goto __377
-__378:
+	goto __378
+__379:
 	;
 	Xsqlite3VdbeReusable(tls, v)
 
@@ -84651,31 +84684,31 @@ __48:
 	}()
 	eMode2 = SQLITE_CHECKPOINT_PASSIVE
 	if !(zRight != 0) {
-		goto __379
-	}
-	if !(Xsqlite3StrICmp(tls, zRight, ts+17345) == 0) {
 		goto __380
 	}
+	if !(Xsqlite3StrICmp(tls, zRight, ts+17345) == 0) {
+		goto __381
+	}
 	eMode2 = SQLITE_CHECKPOINT_FULL
-	goto __381
-__380:
-	if !(Xsqlite3StrICmp(tls, zRight, ts+18040) == 0) {
-		goto __382
+	goto __382
+__381:
+	if !(Xsqlite3StrICmp(tls, zRight, ts+18087) == 0) {
+		goto __383
 	}
 	eMode2 = SQLITE_CHECKPOINT_RESTART
-	goto __383
-__382:
+	goto __384
+__383:
 	if !(Xsqlite3StrICmp(tls, zRight, ts+17498) == 0) {
-		goto __384
+		goto __385
 	}
 	eMode2 = SQLITE_CHECKPOINT_TRUNCATE
+__385:
+	;
 __384:
 	;
-__383:
+__382:
 	;
-__381:
-	;
-__379:
+__380:
 	;
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 3
 	Xsqlite3VdbeAddOp3(tls, v, OP_Checkpoint, iBt, eMode2, 1)
@@ -84685,10 +84718,10 @@ __379:
 
 __49:
 	if !(zRight != 0) {
-		goto __385
+		goto __386
 	}
 	Xsqlite3_wal_autocheckpoint(tls, db, Xsqlite3Atoi(tls, zRight))
-__385:
+__386:
 	;
 	returnSingleInt(tls, v,
 		func() int64 {
@@ -84708,19 +84741,19 @@ __50:
 
 __51:
 	if !(zRight != 0) {
-		goto __386
+		goto __387
 	}
 	opMask = U32(Xsqlite3Atoi(tls, zRight))
 	if !(opMask&U32(0x02) == U32(0)) {
-		goto __388
+		goto __389
 	}
 	goto __15
-__388:
+__389:
 	;
-	goto __387
-__386:
-	opMask = U32(0xfffe)
+	goto __388
 __387:
+	opMask = U32(0xfffe)
+__388:
 	;
 	iTabCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1)
 	iDbLast = func() int32 {
@@ -84729,86 +84762,86 @@ __387:
 		}
 		return (*Sqlite3)(unsafe.Pointer(db)).FnDb - 1
 	}()
-__389:
+__390:
 	if !(iDb <= iDbLast) {
-		goto __391
-	}
-	if !(iDb == 1) {
 		goto __392
 	}
-	goto __390
-__392:
+	if !(iDb == 1) {
+		goto __393
+	}
+	goto __391
+__393:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
 	pSchema = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema
 	k4 = (*Hash)(unsafe.Pointer(pSchema + 8)).Ffirst
-__393:
+__394:
 	if !(k4 != 0) {
-		goto __395
+		goto __396
 	}
 	pTab10 = (*HashElem)(unsafe.Pointer(k4)).Fdata
 
 	if !((*Table)(unsafe.Pointer(pTab10)).FtabFlags&U32(TF_StatsUsed) == U32(0)) {
-		goto __396
+		goto __397
 	}
-	goto __394
-__396:
+	goto __395
+__397:
 	;
 	szThreshold = LogEst(int32((*Table)(unsafe.Pointer(pTab10)).FnRowLogEst) + 46)
 	pIdx6 = (*Table)(unsafe.Pointer(pTab10)).FpIndex
-__397:
+__398:
 	if !(pIdx6 != 0) {
-		goto __399
-	}
-	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
 		goto __400
 	}
+	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
+		goto __401
+	}
 	szThreshold = int16(0)
-	goto __399
-__400:
+	goto __400
+__401:
 	;
-	goto __398
-__398:
-	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
-	goto __397
 	goto __399
 __399:
+	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
+	goto __398
+	goto __400
+__400:
 	;
 	if !(szThreshold != 0) {
-		goto __401
+		goto __402
 	}
 	Xsqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab10, OP_OpenRead)
 	Xsqlite3VdbeAddOp3(tls, v, OP_IfSmaller, iTabCur,
 		int32(U32(Xsqlite3VdbeCurrentAddr(tls, v)+2)+opMask&U32(1)), int32(szThreshold))
 
-__401:
+__402:
 	;
-	zSubSql = Xsqlite3MPrintf(tls, db, ts+18048,
+	zSubSql = Xsqlite3MPrintf(tls, db, ts+18095,
 		libc.VaList(bp+464, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab10)).FzName))
 	if !(opMask&U32(0x01) != 0) {
-		goto __402
+		goto __403
 	}
 	r11 = Xsqlite3GetTempReg(tls, pParse)
 	Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, r11, 0, zSubSql, -6)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, r11, 1)
-	goto __403
-__402:
-	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+	goto __404
 __403:
+	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+__404:
 	;
-	goto __394
-__394:
-	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
-	goto __393
 	goto __395
 __395:
+	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
+	goto __394
+	goto __396
+__396:
 	;
-	goto __390
-__390:
-	iDb++
-	goto __389
 	goto __391
 __391:
+	iDb++
+	goto __390
+	goto __392
+__392:
 	;
 	Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
 	goto __15
@@ -84816,36 +84849,36 @@ __391:
 __52:
 	;
 	if !(zRight != 0) {
-		goto __404
+		goto __405
 	}
 	Xsqlite3_busy_timeout(tls, db, Xsqlite3Atoi(tls, zRight))
-__404:
+__405:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout))
 	goto __15
 
 __53:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+640) == SQLITE_OK) {
-		goto __405
+		goto __406
 	}
 	Xsqlite3_soft_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 640)))
-__405:
+__406:
 	;
 	returnSingleInt(tls, v, Xsqlite3_soft_heap_limit64(tls, int64(-1)))
 	goto __15
 
 __54:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+648) == SQLITE_OK) {
-		goto __406
+		goto __407
 	}
 	iPrior = Xsqlite3_hard_heap_limit64(tls, int64(-1))
 	if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 648)) > int64(0) && (iPrior == int64(0) || iPrior > *(*Sqlite3_int64)(unsafe.Pointer(bp + 648)))) {
-		goto __407
+		goto __408
 	}
 	Xsqlite3_hard_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 648)))
-__407:
+__408:
 	;
-__406:
+__407:
 	;
 	returnSingleInt(tls, v, Xsqlite3_hard_heap_limit64(tls, int64(-1)))
 	goto __15
@@ -84854,10 +84887,10 @@ __55:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+656) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 656)) >= int64(0)) {
-		goto __408
+		goto __409
 	}
 	Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 656))&int64(0x7fffffff)))
-__408:
+__409:
 	;
 	returnSingleInt(tls, v, int64(Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, -1)))
 	goto __15
@@ -84866,10 +84899,10 @@ __56:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+664) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 664)) >= int64(0)) {
-		goto __409
+		goto __410
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 664)) & int64(0x7fffffff))
-__409:
+__410:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit))
 	goto __15
@@ -84877,10 +84910,10 @@ __409:
 __15:
 	;
 	if !(int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_NoColumns1 != 0 && zRight != 0) {
-		goto __410
+		goto __411
 	}
 
-__410:
+__411:
 	;
 pragma_out:
 	Xsqlite3DbFree(tls, db, zLeft)
@@ -84932,14 +84965,14 @@ var endCode = [7]VdbeOpList{
 	{Fopcode: U8(OP_Goto), Fp2: int8(3)},
 }
 var encnames1 = [9]EncName{
-	{FzName: ts + 18066, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18071, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18077, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18086, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18095, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18103, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18111},
-	{FzName: ts + 18118},
+	{FzName: ts + 18113, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18118, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18124, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18133, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18142, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18150, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18158},
+	{FzName: ts + 18165},
 	{},
 }
 var setCookie = [2]VdbeOpList{
@@ -84991,7 +85024,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	_ = argc
 	_ = argv
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), bp+64, int32(unsafe.Sizeof([200]int8{})), 0)
-	Xsqlite3_str_appendall(tls, bp+32, ts+18124)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18171)
 	i = 0
 	j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName)
 __1:
@@ -84999,7 +85032,7 @@ __1:
 		goto __3
 	}
 	{
-		Xsqlite3_str_appendf(tls, bp+32, ts+18139, libc.VaList(bp, int32(cSep), pragCName[j]))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18186, libc.VaList(bp, int32(cSep), pragCName[j]))
 		cSep = int8(',')
 
 	}
@@ -85012,16 +85045,16 @@ __2:
 __3:
 	;
 	if i == 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18146, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18193, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
 		i++
 	}
 	j = 0
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_Result1 != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18152)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18199)
 		j++
 	}
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(PragFlg_SchemaOpt|PragFlg_SchemaReq) != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18164)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18211)
 		j++
 	}
 	Xsqlite3_str_append(tls, bp+32, ts+4957, 1)
@@ -85204,13 +85237,13 @@ __2:
 __3:
 	;
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4)))
-	Xsqlite3_str_appendall(tls, bp+32, ts+18179)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18226)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18187, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18234, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
 	}
 	Xsqlite3_str_appendall(tls, bp+32, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18191, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18238, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
 	}
 	zSql = Xsqlite3StrAccumFinish(tls, bp+32)
 	if zSql == uintptr(0) {
@@ -85287,12 +85320,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 	} else if *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) != uintptr(0) {
 	} else if (*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask) != 0 {
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db,
-			ts+18195, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
+			ts+18242, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
 				azAlterType[(*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask)-U32(1)],
 				zExtra))
 		(*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR
 	} else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137196)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137249)
 	} else {
 		var z uintptr
 		var zObj uintptr
@@ -85301,19 +85334,19 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 		} else {
 			zObj = ts + 5008
 		}
-		z = Xsqlite3MPrintf(tls, db, ts+18223, libc.VaList(bp+32, zObj))
+		z = Xsqlite3MPrintf(tls, db, ts+18270, libc.VaList(bp+32, zObj))
 		if zExtra != 0 && *(*int8)(unsafe.Pointer(zExtra)) != 0 {
-			z = Xsqlite3MPrintf(tls, db, ts+18254, libc.VaList(bp+40, z, zExtra))
+			z = Xsqlite3MPrintf(tls, db, ts+18301, libc.VaList(bp+40, z, zExtra))
 		}
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137203)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137256)
 	}
 }
 
 var azAlterType = [3]uintptr{
-	ts + 18262,
-	ts + 18269,
-	ts + 18281,
+	ts + 18309,
+	ts + 18316,
+	ts + 18328,
 }
 
 // Check to see if any sibling index (another index on the same table)
@@ -85405,7 +85438,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr
 		var pIndex uintptr
 		pIndex = Xsqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName)
 		if pIndex == uintptr(0) {
-			corruptSchema(tls, pData, argv, ts+18292)
+			corruptSchema(tls, pData, argv, ts+18339)
 		} else if Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2) ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage ||
@@ -85453,7 +85486,7 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl
 	}())
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 16 + 1*8))
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 3*8)) = ts + 7938
-	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18305
+	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18352
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 5*8)) = uintptr(0)
 	(*InitData)(unsafe.Pointer(bp + 64)).Fdb = db
 	(*InitData)(unsafe.Pointer(bp + 64)).FiDb = iDb
@@ -85582,7 +85615,7 @@ __18:
 	if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) {
 		goto __19
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+18377)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+18424)
 	rc = SQLITE_ERROR
 	goto initone_error_out
 __19:
@@ -85596,7 +85629,7 @@ __20:
 	(*InitData)(unsafe.Pointer(bp + 64)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt)
 
 	zSql = Xsqlite3MPrintf(tls, db,
-		ts+18401,
+		ts+18448,
 		libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zSchemaTabName))
 
 	xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth
@@ -85928,7 +85961,7 @@ __4:
 		goto __8
 	}
 	zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName
-	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18435, libc.VaList(bp, zDb))
+	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18482, libc.VaList(bp, zDb))
 
 	goto end_prepare
 __8:
@@ -85958,7 +85991,7 @@ __9:
 	if !(nBytes > mxLen) {
 		goto __12
 	}
-	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18465, 0)
+	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18512, 0)
 	rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG)
 	goto end_prepare
 __12:
@@ -86054,7 +86087,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 137995)
+		return Xsqlite3MisuseError(tls, 138048)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	Xsqlite3BtreeEnterAll(tls, db)
@@ -86153,7 +86186,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 138143)
+		return Xsqlite3MisuseError(tls, 138196)
 	}
 	if nBytes >= 0 {
 		var sz int32
@@ -86480,13 +86513,13 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC
 			zSp2++
 		}
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+18484, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
+			ts+18531, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
 		jointype = JT_INNER
 	}
 	return jointype
 }
 
-var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18514))
+var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18561))
 var aKeyword = [7]struct {
 	Fi     U8
 	FnChar U8
@@ -86661,7 +86694,7 @@ __1:
 			var pUsing uintptr = uintptr(0)
 			if uint32(int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+18548, libc.VaList(bp, 0))
+					ts+18595, libc.VaList(bp, 0))
 				return 1
 			}
 			for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ {
@@ -86706,7 +86739,7 @@ __1:
 					tableAndColumnIndex(tls, pSrc, 0, i, zName, bp+24, bp+28,
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) == 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+18598, libc.VaList(bp+8, zName))
+						ts+18645, libc.VaList(bp+8, zName))
 					return 1
 				}
 				pE1 = Xsqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 28)))
@@ -86717,7 +86750,7 @@ __1:
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) != 0 {
 						if int32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 60 + 4))&0x400>>10) == 0 ||
 							Xsqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 72)), zName) < 0 {
-							Xsqlite3ErrorMsg(tls, pParse, ts+18662,
+							Xsqlite3ErrorMsg(tls, pParse, ts+18709,
 								libc.VaList(bp+16, zName))
 							break
 						}
@@ -87345,16 +87378,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr {
 	var z uintptr
 	switch id {
 	case TK_ALL:
-		z = ts + 18699
+		z = ts + 18746
 		break
 	case TK_INTERSECT:
-		z = ts + 18709
+		z = ts + 18756
 		break
 	case TK_EXCEPT:
-		z = ts + 18719
+		z = ts + 18766
 		break
 	default:
-		z = ts + 18726
+		z = ts + 18773
 		break
 	}
 	return z
@@ -87364,7 +87397,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18732, libc.VaList(bp, zUsage))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18779, libc.VaList(bp, zUsage))
 }
 
 func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) {
@@ -87390,9 +87423,9 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n
 	var nRefKey int32 = 0
 	var aOutEx uintptr = (*Select)(unsafe.Pointer(p)).FpEList + 8
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18755, libc.VaList(bp, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18802, libc.VaList(bp, func() uintptr {
 		if (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 {
-			return ts + 18786
+			return ts + 18833
 		}
 		return ts + 1554
 	}()))
@@ -87736,7 +87769,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr)
 		} else {
 			var z uintptr = (*ExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32)).FzEName
 			if z == uintptr(0) {
-				z = Xsqlite3MPrintf(tls, db, ts+18801, libc.VaList(bp+16, i+1))
+				z = Xsqlite3MPrintf(tls, db, ts+18848, libc.VaList(bp+16, i+1))
 			} else {
 				z = Xsqlite3DbStrDup(tls, db, z)
 			}
@@ -87836,7 +87869,7 @@ __1:
 		if zName != 0 && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) {
 			zName = Xsqlite3DbStrDup(tls, db, zName)
 		} else {
-			zName = Xsqlite3MPrintf(tls, db, ts+18801, libc.VaList(bp, i+1))
+			zName = Xsqlite3MPrintf(tls, db, ts+18848, libc.VaList(bp, i+1))
 		}
 
 		*(*U32)(unsafe.Pointer(bp + 56)) = U32(0)
@@ -87852,7 +87885,7 @@ __1:
 					nName = j
 				}
 			}
-			zName = Xsqlite3MPrintf(tls, db, ts+18810, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
+			zName = Xsqlite3MPrintf(tls, db, ts+18857, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
 			Xsqlite3ProgressCheck(tls, pParse)
 			if *(*U32)(unsafe.Pointer(bp + 56)) > U32(3) {
 				Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56)
@@ -87935,8 +87968,6 @@ __1:
 		(*Column)(unsafe.Pointer(pCol)).Faffinity = Xsqlite3ExprAffinity(tls, p)
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) <= SQLITE_AFF_NONE {
 			(*Column)(unsafe.Pointer(pCol)).Faffinity = aff
-		} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
-			(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
 		}
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_TEXT && (*Select)(unsafe.Pointer(pSelect)).FpNext != 0 {
 			var m int32 = 0
@@ -87951,12 +87982,15 @@ __1:
 			} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && m&0x02 != 0 {
 				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_BLOB)
 			}
+			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
+				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
+			}
 		}
 		zType = columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0))
 		if zType == uintptr(0) || int32((*Column)(unsafe.Pointer(pCol)).Faffinity) != int32(Xsqlite3AffinityType(tls, zType, uintptr(0))) {
 			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_NUMERIC ||
 				int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_FLEXNUM {
-				zType = ts + 18818
+				zType = ts + 18865
 			} else {
 				zType = uintptr(0)
 				for j = 1; j < SQLITE_N_STDTYPE; j++ {
@@ -88172,7 +88206,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest
 	if !((*Select)(unsafe.Pointer(p)).FpWin != 0) {
 		goto __1
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18822, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18869, 0)
 	return
 __1:
 	;
@@ -88263,7 +88297,7 @@ __12:
 	if !((*Select)(unsafe.Pointer(pFirstRec)).FselFlags&U32(SF_Aggregate) != 0) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18871, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18918, 0)
 	goto end_of_recursive_query
 __15:
 	;
@@ -88283,7 +88317,7 @@ __14:
 	;
 	pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18913, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18960, 0)
 	rc = Xsqlite3Select(tls, pParse, pSetup, bp)
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = p
 	if !(rc != 0) {
@@ -88320,7 +88354,7 @@ __20:
 	Xsqlite3VdbeResolveLabel(tls, v, addrCont)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18919, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18966, 0)
 	Xsqlite3Select(tls, pParse, p, bp)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup
@@ -88354,11 +88388,11 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 		p = (*Select)(unsafe.Pointer(p)).FpPrior
 		nRow = nRow + bShowAll
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18934, libc.VaList(bp, nRow, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18981, libc.VaList(bp, nRow, func() uintptr {
 		if nRow == 1 {
 			return ts + 1554
 		}
-		return ts + 18957
+		return ts + 19004
 	}()))
 	for p != 0 {
 		selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1)
@@ -88459,8 +88493,8 @@ __6:
 	if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) {
 		goto __8
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18959, 0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18974, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19006, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19021, 0)
 __8:
 	;
 	switch int32((*Select)(unsafe.Pointer(p)).Fop) {
@@ -88507,7 +88541,7 @@ __16:
 	;
 __15:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18699, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18746, 0)
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+16)
 
@@ -88574,7 +88608,7 @@ __23:
 	pLimit = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 64)).FeDest = op
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18993, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19040, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+64)
 
@@ -88636,7 +88670,7 @@ __26:
 	pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 104)).FiSDParm = tab2
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18993, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19040, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+104)
 
@@ -88789,10 +88823,10 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr)
 	defer tls.Free(8)
 
 	if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Values) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19014, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+19061, 0)
 	} else {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+19060,
+			ts+19107,
 			libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 	}
 }
@@ -89046,8 +89080,8 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	(*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0)
 
 	(*Select)(unsafe.Pointer(pPrior)).FpOrderBy = Xsqlite3ExprListDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7234)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7234)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7223)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7223)
 
 	computeLimitRegisters(tls, pParse, p, labelEnd)
 	if (*Select)(unsafe.Pointer(p)).FiLimit != 0 && op == TK_ALL {
@@ -89074,13 +89108,13 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	Xsqlite3SelectDestInit(tls, bp+8, SRT_Coroutine, regAddrA)
 	Xsqlite3SelectDestInit(tls, bp+48, SRT_Coroutine, regAddrB)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19142, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19189, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	addrSelectA = Xsqlite3VdbeCurrentAddr(tls, v) + 1
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA)
 
 	(*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19153, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19200, 0)
 	Xsqlite3Select(tls, pParse, pPrior, bp+8)
 	Xsqlite3VdbeEndCoroutine(tls, v, regAddrA)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
@@ -89092,7 +89126,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset
 	(*Select)(unsafe.Pointer(p)).FiLimit = regLimitB
 	(*Select)(unsafe.Pointer(p)).FiOffset = 0
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19158, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19205, 0)
 	Xsqlite3Select(tls, pParse, p, bp+48)
 	(*Select)(unsafe.Pointer(p)).FiLimit = savedLimit
 	(*Select)(unsafe.Pointer(p)).FiOffset = savedOffset
@@ -89280,7 +89314,8 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr {
 				Xsqlite3VectorErrorMsg(tls, (*SubstContext)(unsafe.Pointer(pSubst)).FpParse, pCopy)
 			} else {
 				var db uintptr = (*Parse)(unsafe.Pointer((*SubstContext)(unsafe.Pointer(pSubst)).FpParse)).Fdb
-				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 && int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN {
+				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 &&
+					(int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN || (*Expr)(unsafe.Pointer(pCopy)).FiTable != (*SubstContext)(unsafe.Pointer(pSubst)).FiNewTable) {
 					libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(Expr{})))
 					(*Expr)(unsafe.Pointer(bp)).Fop = U8(TK_IF_NULL_ROW)
 					(*Expr)(unsafe.Pointer(bp)).FpLeft = pCopy
@@ -90179,7 +90214,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	for pIdx = (*Table)(unsafe.Pointer(pTab)).FpIndex; pIdx != 0 && Xsqlite3StrICmp(tls, (*Index)(unsafe.Pointer(pIdx)).FzName, zIndexedBy) != 0; pIdx = (*Index)(unsafe.Pointer(pIdx)).FpNext {
 	}
 	if !(pIdx != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19164, libc.VaList(bp, zIndexedBy, 0))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19211, libc.VaList(bp, zIndexedBy, 0))
 		(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 		return SQLITE_ERROR
 	}
@@ -90262,7 +90297,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 {
 	defer tls.Free(8)
 
 	if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19182, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19229, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
 		return 1
 	}
 	return 0
@@ -90391,7 +90426,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		*(*U32)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= U32(SF_CopyCte)
 
 		if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19205, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
+			Xsqlite3ErrorMsg(tls, pParse, ts+19252, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
 			return 2
 		}
 		libc.SetBitFieldPtr16Uint32(pFrom+60+4, uint32(1), 8, 0x100)
@@ -90414,7 +90449,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 					libc.SetBitFieldPtr16Uint32(pItem+60+4, uint32(1), 6, 0x40)
 					if (*Select)(unsafe.Pointer(pRecTerm)).FselFlags&U32(SF_Recursive) != 0 {
 						Xsqlite3ErrorMsg(tls, pParse,
-							ts+19225, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
+							ts+19272, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
 						return 2
 					}
 					*(*U32)(unsafe.Pointer(pRecTerm + 4)) |= U32(SF_Recursive)
@@ -90430,7 +90465,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 			pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior
 		}
 
-		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19268
+		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19315
 		pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith
 		(*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 48))
 		if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
@@ -90456,7 +90491,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		pEList = (*Select)(unsafe.Pointer(pLeft)).FpEList
 		if (*Cte)(unsafe.Pointer(pCte)).FpCols != 0 {
 			if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr != (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19291,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19338,
 					libc.VaList(bp+24, (*Cte)(unsafe.Pointer(pCte)).FzName, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr))
 				(*Parse)(unsafe.Pointer(pParse)).FpWith = pSavedWith
 				return 2
@@ -90467,9 +90502,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		Xsqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8)
 		if bMayRecursive != 0 {
 			if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19329
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19376
 			} else {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19363
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19410
 			}
 			Xsqlite3WalkSelect(tls, pWalker, pSel)
 		}
@@ -90516,7 +90551,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	if (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 {
 		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3DbStrDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias)
 	} else {
-		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19401, libc.VaList(bp, pFrom))
+		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19448, libc.VaList(bp, pFrom))
 	}
 	for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 {
 		pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior
@@ -90628,7 +90663,7 @@ __1:
 				return WRC_Abort
 			}
 			if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19405,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19452,
 					libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 				(*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0)
 				return WRC_Abort
@@ -90647,7 +90682,7 @@ __1:
 				if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW {
 					if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) &&
 						(*Table)(unsafe.Pointer(pTab)).FpSchema != (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19444,
+						Xsqlite3ErrorMsg(tls, pParse, ts+19491,
 							libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName))
 					}
 					(*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, *(*uintptr)(unsafe.Pointer(pTab + 64)), 0)
@@ -90771,7 +90806,7 @@ __3:
 							if pNew != 0 {
 								var pX uintptr = pNew + 8 + uintptr((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1)*32
 
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19475, libc.VaList(bp+24, zUName))
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19522, libc.VaList(bp+24, zUName))
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(ENAME_TAB), 0, 0x3)
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(1), 7, 0x80)
 							}
@@ -90836,7 +90871,7 @@ __3:
 								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(pNestedFrom+8+uintptr(j)*32)).FzEName)
 
 							} else {
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19480,
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19527,
 									libc.VaList(bp+32, zSchemaName, zTabName, zName))
 
 							}
@@ -90867,9 +90902,9 @@ __3:
 				;
 				if !(tableSeen != 0) {
 					if zTName != 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19489, libc.VaList(bp+72, zTName))
+						Xsqlite3ErrorMsg(tls, pParse, ts+19536, libc.VaList(bp+72, zTName))
 					} else {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19507, 0)
+						Xsqlite3ErrorMsg(tls, pParse, ts+19554, 0)
 					}
 				}
 			}
@@ -90879,7 +90914,7 @@ __3:
 	}
 	if (*Select)(unsafe.Pointer(p)).FpEList != 0 {
 		if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19527, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+19574, 0)
 			return WRC_Abort
 		}
 		if elistFlags&U32(EP_HasFunc|EP_Subquery) != U32(0) {
@@ -91017,7 +91052,7 @@ func optimizeAggregateUseOfIndexedExpr(tls *libc.TLS, pParse uintptr, pSelect ui
 	(*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn = (*AggInfo)(unsafe.Pointer(pAggInfo)).FnAccumulator
 	if int32((*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn) > 0 {
 		if (*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn == 0 {
-			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(0)
+			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpGroupBy)).FnExpr)
 		} else {
 			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(int32((*AggInfo_col)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaCol+uintptr((*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn-1)*24)).FiSorterColumn) + 1)
 		}
@@ -91101,13 +91136,13 @@ __1:
 
 			if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != 1 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+19558, 0)
+					ts+19605, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1
 			} else {
 				var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral,
 					(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -8)
-				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19609, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
+				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19656, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
 			}
 		}
 
@@ -91296,11 +91331,11 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt
 
 	if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 {
 		var bCover int32 = libc.Bool32(pIdx != uintptr(0) && ((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0) || !(int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY)))
-		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19642,
+		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19689,
 			libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName,
 				func() uintptr {
 					if bCover != 0 {
-						return ts + 19654
+						return ts + 19701
 					}
 					return ts + 1554
 				}(),
@@ -91628,7 +91663,7 @@ __5:
 		goto __7
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+19677,
+		ts+19724,
 		libc.VaList(bp, func() uintptr {
 			if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 {
 				return (*SrcItem)(unsafe.Pointer(p0)).FzAlias
@@ -91689,7 +91724,7 @@ __14:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19731,
+	Xsqlite3ErrorMsg(tls, pParse, ts+19778,
 		libc.VaList(bp+8, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr))
 	goto select_end
 __15:
@@ -91831,7 +91866,7 @@ __33:
 
 	(*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19771, libc.VaList(bp+32, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19818, libc.VaList(bp+32, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	libc.SetBitFieldPtr16Uint32(pItem1+60+4, uint32(1), 5, 0x20)
@@ -91890,7 +91925,7 @@ __43:
 	;
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19786, libc.VaList(bp+40, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19833, libc.VaList(bp+40, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	if !(onceAddr != 0) {
@@ -92361,9 +92396,9 @@ __101:
 	explainTempTable(tls, pParse,
 		func() uintptr {
 			if (*DistinctCtx)(unsafe.Pointer(bp+136)).FisTnct != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct) == U32(0) {
-				return ts + 19802
+				return ts + 19849
 			}
-			return ts + 19811
+			return ts + 19858
 		}())
 
 	groupBySort = 1
@@ -92714,7 +92749,7 @@ __65:
 	if !(int32((*DistinctCtx)(unsafe.Pointer(bp+136)).FeTnctType) == WHERE_DISTINCT_UNORDERED) {
 		goto __146
 	}
-	explainTempTable(tls, pParse, ts+19802)
+	explainTempTable(tls, pParse, ts+19849)
 __146:
 	;
 	if !((*SortCtx)(unsafe.Pointer(bp+48)).FpOrderBy != 0) {
@@ -92819,7 +92854,7 @@ __5:
 	}
 	Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg)
 	(*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+19820, 0)
+		ts+19867, 0)
 	(*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 	return 1
 __11:
@@ -93052,7 +93087,7 @@ func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2
 	if !((*Token)(unsafe.Pointer(pName2)).Fn > uint32(0)) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19885, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19932, 0)
 	goto trigger_cleanup
 __3:
 	;
@@ -93096,7 +93131,7 @@ __7:
 	goto trigger_cleanup
 __8:
 	;
-	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+19931, *(*uintptr)(unsafe.Pointer(bp + 32)))
+	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+19978, *(*uintptr)(unsafe.Pointer(bp + 32)))
 	if !(Xsqlite3FixSrcList(tls, bp+40, pTableName) != 0) {
 		goto __9
 	}
@@ -93114,7 +93149,7 @@ __10:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB) {
 		goto __11
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19939, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19986, 0)
 	goto trigger_orphan_error
 __11:
 	;
@@ -93126,7 +93161,7 @@ __11:
 	goto trigger_cleanup
 __12:
 	;
-	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19931, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
+	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19978, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
 		goto __13
 	}
 	goto trigger_cleanup
@@ -93141,11 +93176,12 @@ __13:
 	if !!(noErr != 0) {
 		goto __16
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19980, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20027, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
 	goto __17
 __16:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
+
 __17:
 	;
 	goto trigger_cleanup
@@ -93156,19 +93192,19 @@ __14:
 	if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+6381, 7) == 0) {
 		goto __18
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20006, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20053, 0)
 	goto trigger_cleanup
 __18:
 	;
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW && tr_tm != TK_INSTEAD) {
 		goto __19
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20044,
+	Xsqlite3ErrorMsg(tls, pParse, ts+20091,
 		libc.VaList(bp+8, func() uintptr {
 			if tr_tm == TK_BEFORE {
-				return ts + 20081
+				return ts + 20128
 			}
-			return ts + 20088
+			return ts + 20135
 		}(), pTableName+8))
 	goto trigger_orphan_error
 __19:
@@ -93177,7 +93213,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20094, libc.VaList(bp+24, pTableName+8))
+		ts+20141, libc.VaList(bp+24, pTableName+8))
 	goto trigger_orphan_error
 __20:
 	;
@@ -93326,7 +93362,7 @@ __2:
 __3:
 	;
 	Xsqlite3TokenInit(tls, bp+56, (*Trigger)(unsafe.Pointer(pTrig)).FzName)
-	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+19931, bp+56)
+	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+19978, bp+56)
 	if !(Xsqlite3FixTriggerStep(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 ||
 		Xsqlite3FixExpr(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0) {
 		goto __4
@@ -93359,7 +93395,7 @@ __9:
 		goto __12
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20140,
+		ts+20187,
 		libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrig)).FzName, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget))
 	goto triggerfinish_cleanup
 __12:
@@ -93384,13 +93420,13 @@ __13:
 	z = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pAll)).Fz, uint64((*Token)(unsafe.Pointer(pAll)).Fn))
 
 	Xsqlite3NestedParse(tls, pParse,
-		ts+20188,
+		ts+20235,
 		libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName,
 			(*Trigger)(unsafe.Pointer(pTrig)).Ftable, z))
 	Xsqlite3DbFree(tls, db, z)
 	Xsqlite3ChangeCookie(tls, pParse, iDb)
 	Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb,
-		Xsqlite3MPrintf(tls, db, ts+20263, libc.VaList(bp+48, zName)), uint16(0))
+		Xsqlite3MPrintf(tls, db, ts+20310, libc.VaList(bp+48, zName)), uint16(0))
 __7:
 	;
 __6:
@@ -93646,7 +93682,7 @@ __5:
 	if !!(noErr != 0) {
 		goto __9
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20292, libc.VaList(bp, pName+8))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20339, libc.VaList(bp, pName+8))
 	goto __10
 __9:
 	Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb)
@@ -93699,7 +93735,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) {
 
 	if libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse)) != uintptr(0) {
 		Xsqlite3NestedParse(tls, pParse,
-			ts+20312,
+			ts+20359,
 			libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Trigger)(unsafe.Pointer(pTrigger)).FzName))
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 		Xsqlite3VdbeAddOp4(tls, v, OP_DropTrigger, iDb, 0, 0, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, 0)
@@ -93813,12 +93849,12 @@ __9:
 		goto __15
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20374,
+		ts+20421,
 		libc.VaList(bp, func() uintptr {
 			if op == TK_DELETE {
-				return ts + 20422
+				return ts + 20469
 			}
-			return ts + 20429
+			return ts + 20476
 		}()))
 __15:
 	;
@@ -93932,7 +93968,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 {
 	if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK {
 		return 0
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20436, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20483, 0)
 	return 1
 }
 
@@ -93998,7 +94034,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab
 	}
 	Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(bp)).FpEList)
 	pNew = sqlite3ExpandReturning(tls, pParse, (*Returning)(unsafe.Pointer(pReturning)).FpReturnEL, pTab)
-	if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) {
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 {
 		libc.Xmemset(tls, bp+240, 0, uint64(unsafe.Sizeof(NameContext{})))
 		if (*Returning)(unsafe.Pointer(pReturning)).FnRetCol == 0 {
 			(*Returning)(unsafe.Pointer(pReturning)).FnRetCol = (*ExprList)(unsafe.Pointer(pNew)).FnExpr
@@ -94162,7 +94198,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt
 	if v != 0 {
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 {
 			Xsqlite3VdbeChangeP4(tls, v, -1,
-				Xsqlite3MPrintf(tls, db, ts+20478, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
+				Xsqlite3MPrintf(tls, db, ts+20525, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
 		}
 
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FpWhen != 0 {
@@ -94755,7 +94791,7 @@ __25:
 	}
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20492,
+		ts+20539,
 		libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*24)).FzCnName))
 	goto update_cleanup
 __27:
@@ -94787,7 +94823,7 @@ __21:
 	iRowidExpr = i
 	goto __30
 __29:
-	Xsqlite3ErrorMsg(tls, pParse, ts+20528, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20575, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
 	(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 	goto update_cleanup
 __30:
@@ -95113,7 +95149,12 @@ __74:
 	goto __77
 __76:
 	flags = WHERE_ONEPASS_DESIRED
-	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) && !(pTrigger != 0) && !(hasFK != 0) && !(chngKey != 0) && !(*(*int32)(unsafe.Pointer(bp + 104)) != 0)) {
+	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) &&
+		!(pTrigger != 0) &&
+		!(hasFK != 0) &&
+		!(chngKey != 0) &&
+		!(*(*int32)(unsafe.Pointer(bp + 104)) != 0) &&
+		(*NameContext)(unsafe.Pointer(bp+40)).FncFlags&NC_Subquery == 0) {
 		goto __78
 	}
 	flags = flags | WHERE_ONEPASS_MULTIROW
@@ -95667,7 +95708,7 @@ __168:
 	if !(regRowCount != 0) {
 		goto __169
 	}
-	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20547)
+	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20594)
 __169:
 	;
 update_cleanup:
@@ -95973,10 +96014,10 @@ __1:
 			if nClause == 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) {
 				*(*int8)(unsafe.Pointer(bp + 216)) = int8(0)
 			} else {
-				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216, ts+20560, libc.VaList(bp, nClause+1))
+				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216, ts+20607, libc.VaList(bp, nClause+1))
 			}
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+20564, libc.VaList(bp+8, bp+216))
+				ts+20611, libc.VaList(bp+8, bp+216))
 			return SQLITE_ERROR
 		}
 
@@ -96099,7 +96140,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 {
 		var zSubSql uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
 
 		if zSubSql != 0 &&
-			(libc.Xstrncmp(tls, zSubSql, ts+20637, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20641, uint64(3)) == 0) {
+			(libc.Xstrncmp(tls, zSubSql, ts+20684, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20688, uint64(3)) == 0) {
 			rc = execSql(tls, db, pzErrMsg, zSubSql)
 			if rc != SQLITE_OK {
 				break
@@ -96247,14 +96288,14 @@ func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p
 	if !!(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) {
 		goto __1
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20645)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20692)
 	return SQLITE_ERROR
 __1:
 	;
 	if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) {
 		goto __2
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20685)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20732)
 	return SQLITE_ERROR
 __2:
 	;
@@ -96265,7 +96306,7 @@ __2:
 	if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) {
 		goto __5
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20728)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20775)
 	return SQLITE_ERROR
 __5:
 	;
@@ -96293,7 +96334,7 @@ __4:
 	isMemDb = Xsqlite3PagerIsMemdb(tls, Xsqlite3BtreePager(tls, pMain))
 
 	nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb
-	rc = execSqlF(tls, db, pzErrMsg, ts+20746, libc.VaList(bp, zOut))
+	rc = execSqlF(tls, db, pzErrMsg, ts+20793, libc.VaList(bp, zOut))
 	(*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags
 	if !(rc != SQLITE_OK) {
 		goto __6
@@ -96313,7 +96354,7 @@ __6:
 		goto __8
 	}
 	rc = SQLITE_ERROR
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20769)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20816)
 	goto end_of_vacuum
 __8:
 	;
@@ -96373,7 +96414,7 @@ __12:
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb)
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20796,
+		ts+20843,
 		libc.VaList(bp+8, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __13
@@ -96382,7 +96423,7 @@ __12:
 __13:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20904,
+		ts+20951,
 		libc.VaList(bp+16, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __14
@@ -96393,7 +96434,7 @@ __14:
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
 
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20958,
+		ts+21005,
 		libc.VaList(bp+24, zDbMain))
 
 	*(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))
@@ -96404,7 +96445,7 @@ __14:
 __15:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+21109,
+		ts+21156,
 		libc.VaList(bp+32, zDbMain))
 	if !(rc != 0) {
 		goto __16
@@ -96833,11 +96874,11 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		if pEnd != 0 {
 			(*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32((int64((*Token)(unsafe.Pointer(pEnd)).Fz)-int64((*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz))/1)) + (*Token)(unsafe.Pointer(pEnd)).Fn
 		}
-		zStmt = Xsqlite3MPrintf(tls, db, ts+21239, libc.VaList(bp, pParse+272))
+		zStmt = Xsqlite3MPrintf(tls, db, ts+21286, libc.VaList(bp, pParse+272))
 
 		iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema)
 		Xsqlite3NestedParse(tls, pParse,
-			ts+21263,
+			ts+21310,
 			libc.VaList(bp+8, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
@@ -96847,7 +96888,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 
 		Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
-		zWhere = Xsqlite3MPrintf(tls, db, ts+21362, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
+		zWhere = Xsqlite3MPrintf(tls, db, ts+21409, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
 		Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0))
 		Xsqlite3DbFree(tls, db, zStmt)
 
@@ -96908,7 +96949,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	for pCtx = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx; pCtx != 0; pCtx = (*VtabCtx)(unsafe.Pointer(pCtx)).FpPrior {
 		if (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db,
-				ts+21381, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
+				ts+21428, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 			return SQLITE_LOCKED
 		}
 	}
@@ -96936,9 +96977,11 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FbDeclared = 0
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32
+	(*Table)(unsafe.Pointer(pTab)).FnTabRef++
 	rc = (*struct {
 		f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32
 	})(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+64)
+	Xsqlite3DeleteTable(tls, db, pTab)
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior
 	if rc == SQLITE_NOMEM {
 		Xsqlite3OomFault(tls, db)
@@ -96946,7 +96989,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 
 	if SQLITE_OK != rc {
 		if *(*uintptr)(unsafe.Pointer(bp + 64)) == uintptr(0) {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21423, libc.VaList(bp+8, zModuleName))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21470, libc.VaList(bp+8, zModuleName))
 		} else {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+3663, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64))))
 			Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
@@ -96958,7 +97001,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 		(*Module)(unsafe.Pointer(pMod)).FnRefModule++
 		(*VTable)(unsafe.Pointer(pVTable)).FnRef = 1
 		if (*VtabCtx)(unsafe.Pointer(bp+32)).FbDeclared == 0 {
-			var zFormat uintptr = ts + 21453
+			var zFormat uintptr = ts + 21500
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName))
 			Xsqlite3VtabUnlock(tls, pVTable)
 			rc = SQLITE_ERROR
@@ -97032,7 +97075,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32
 
 	if !(pMod != 0) {
 		var zModule uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pTab + 64 + 8))))
-		Xsqlite3ErrorMsg(tls, pParse, ts+21499, libc.VaList(bp, zModule))
+		Xsqlite3ErrorMsg(tls, pParse, ts+21546, libc.VaList(bp, zModule))
 		rc = SQLITE_ERROR
 	} else {
 		*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
@@ -97090,7 +97133,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr,
 	pMod = Xsqlite3HashFind(tls, db+576, zMod)
 
 	if pMod == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21499, libc.VaList(bp, zMod))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21546, libc.VaList(bp, zMod))
 		rc = SQLITE_ERROR
 	} else {
 		rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr)
@@ -97124,7 +97167,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3
 	if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
 		Xsqlite3Error(tls, db, SQLITE_MISUSE)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
-		return Xsqlite3MisuseError(tls, 151030)
+		return Xsqlite3MisuseError(tls, 151102)
 	}
 	pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab
 
@@ -97577,7 +97620,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	if !(p != 0) {
-		rc = Xsqlite3MisuseError(tls, 151521)
+		rc = Xsqlite3MisuseError(tls, 151593)
 	} else {
 		ap = va
 		switch op {
@@ -97604,7 +97647,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 			fallthrough
 		default:
 			{
-				rc = Xsqlite3MisuseError(tls, 151539)
+				rc = Xsqlite3MisuseError(tls, 151611)
 				break
 
 			}
@@ -97835,7 +97878,7 @@ type InLoop = struct {
 func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr {
 	i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2)))
 	if i == -2 {
-		return ts + 21518
+		return ts + 21565
 	}
 	if i == -1 {
 		return ts + 16267
@@ -97847,11 +97890,11 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	var i int32
 
 	if bAnd != 0 {
-		Xsqlite3_str_append(tls, pStr, ts+21525, 5)
+		Xsqlite3_str_append(tls, pStr, ts+21572, 5)
 	}
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21531, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21578, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97866,7 +97909,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	Xsqlite3_str_append(tls, pStr, zOp, 1)
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21531, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21578, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97892,27 +97935,27 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) {
 	if int32(nEq) == 0 && (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT|WHERE_TOP_LIMIT) == U32(0) {
 		return
 	}
-	Xsqlite3_str_append(tls, pStr, ts+21533, 2)
+	Xsqlite3_str_append(tls, pStr, ts+21580, 2)
 	for i = 0; i < int32(nEq); i++ {
 		var z uintptr = explainIndexColumnName(tls, pIndex, i)
 		if i != 0 {
-			Xsqlite3_str_append(tls, pStr, ts+21525, 5)
+			Xsqlite3_str_append(tls, pStr, ts+21572, 5)
 		}
 		Xsqlite3_str_appendf(tls, pStr, func() uintptr {
 			if i >= int32(nSkip) {
-				return ts + 21536
+				return ts + 21583
 			}
-			return ts + 21541
+			return ts + 21588
 		}(), libc.VaList(bp, z))
 	}
 
 	j = i
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21549)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21596)
 		i = 1
 	}
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_TOP_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21551)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21598)
 	}
 	Xsqlite3_str_append(tls, pStr, ts+4957, 1)
 }
@@ -97955,11 +97998,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 
 		Xsqlite3StrAccumInit(tls, bp+64, db, bp+96, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 		(*StrAccum)(unsafe.Pointer(bp + 64)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-		Xsqlite3_str_appendf(tls, bp+64, ts+21553, libc.VaList(bp, func() uintptr {
+		Xsqlite3_str_appendf(tls, bp+64, ts+21600, libc.VaList(bp, func() uintptr {
 			if isSearch != 0 {
-				return ts + 21559
+				return ts + 21606
 			}
-			return ts + 21566
+			return ts + 21613
 		}(), pItem))
 		if flags&U32(WHERE_IPK|WHERE_VIRTUALTABLE) == U32(0) {
 			var zFmt uintptr = uintptr(0)
@@ -97972,40 +98015,40 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 					zFmt = ts + 10976
 				}
 			} else if flags&U32(WHERE_PARTIALIDX) != 0 {
-				zFmt = ts + 21571
+				zFmt = ts + 21618
 			} else if flags&U32(WHERE_AUTO_INDEX) != 0 {
-				zFmt = ts + 21604
+				zFmt = ts + 21651
 			} else if flags&U32(WHERE_IDX_ONLY) != 0 {
-				zFmt = ts + 21629
+				zFmt = ts + 21676
 			} else {
-				zFmt = ts + 21647
+				zFmt = ts + 21694
 			}
 			if zFmt != 0 {
-				Xsqlite3_str_append(tls, bp+64, ts+21656, 7)
+				Xsqlite3_str_append(tls, bp+64, ts+21703, 7)
 				Xsqlite3_str_appendf(tls, bp+64, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName))
 				explainIndexRange(tls, bp+64, pLoop)
 			}
 		} else if flags&U32(WHERE_IPK) != U32(0) && flags&U32(WHERE_CONSTRAINT) != U32(0) {
 			var cRangeOp int8
 			var zRowid uintptr = ts + 16267
-			Xsqlite3_str_appendf(tls, bp+64, ts+21664, libc.VaList(bp+24, zRowid))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21711, libc.VaList(bp+24, zRowid))
 			if flags&U32(WHERE_COLUMN_EQ|WHERE_COLUMN_IN) != 0 {
 				cRangeOp = int8('=')
 			} else if flags&U32(WHERE_BOTH_LIMIT) == U32(WHERE_BOTH_LIMIT) {
-				Xsqlite3_str_appendf(tls, bp+64, ts+21695, libc.VaList(bp+32, zRowid))
+				Xsqlite3_str_appendf(tls, bp+64, ts+21742, libc.VaList(bp+32, zRowid))
 				cRangeOp = int8('<')
 			} else if flags&U32(WHERE_BTM_LIMIT) != 0 {
 				cRangeOp = int8('>')
 			} else {
 				cRangeOp = int8('<')
 			}
-			Xsqlite3_str_appendf(tls, bp+64, ts+21705, libc.VaList(bp+40, int32(cRangeOp)))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21752, libc.VaList(bp+40, int32(cRangeOp)))
 		} else if flags&U32(WHERE_VIRTUALTABLE) != U32(0) {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21710,
+			Xsqlite3_str_appendf(tls, bp+64, ts+21757,
 				libc.VaList(bp+48, *(*int32)(unsafe.Pointer(pLoop + 24)), *(*uintptr)(unsafe.Pointer(pLoop + 24 + 16))))
 		}
 		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&JT_LEFT != 0 {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21737, 0)
+			Xsqlite3_str_appendf(tls, bp+64, ts+21784, 0)
 		}
 		zMsg = Xsqlite3StrAccumFinish(tls, bp+64)
 
@@ -98037,22 +98080,22 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp
 
 	Xsqlite3StrAccumInit(tls, bp+24, db, bp+56, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 	(*StrAccum)(unsafe.Pointer(bp + 24)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-	Xsqlite3_str_appendf(tls, bp+24, ts+21748, libc.VaList(bp, pItem))
+	Xsqlite3_str_appendf(tls, bp+24, ts+21795, libc.VaList(bp, pItem))
 	pLoop = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_IPK) != 0 {
 		var pTab uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FpTab
 		if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21536, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21583, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
 		} else {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21769, 0)
+			Xsqlite3_str_appendf(tls, bp+24, ts+21816, 0)
 		}
 	} else {
 		for i = int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip); i < int32(*(*U16)(unsafe.Pointer(pLoop + 24))); i++ {
 			var z uintptr = explainIndexColumnName(tls, *(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)), i)
 			if i > int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip) {
-				Xsqlite3_str_append(tls, bp+24, ts+21525, 5)
+				Xsqlite3_str_append(tls, bp+24, ts+21572, 5)
 			}
-			Xsqlite3_str_appendf(tls, bp+24, ts+21536, libc.VaList(bp+16, z))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21583, libc.VaList(bp+16, z))
 		}
 	}
 	Xsqlite3_str_append(tls, bp+24, ts+4957, 1)
@@ -99649,7 +99692,7 @@ __134:
 	;
 __126:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21777, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21824, 0)
 	ii = 0
 __135:
 	if !(ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm) {
@@ -99677,7 +99720,7 @@ __139:
 	pOrExpr = pAndExpr
 __140:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21792, libc.VaList(bp, ii+1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21839, libc.VaList(bp, ii+1))
 
 	pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0),
 		uint16(WHERE_OR_SUBCLAUSE), iCovCur)
@@ -100195,7 +100238,7 @@ func Xsqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
 	var mAll Bitmask = uint64(0)
 	var k int32
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21801, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21848, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
 
 	for k = 0; k < iLevel; k++ {
 		var iIdxCur int32
@@ -100556,7 +100599,7 @@ var aOp = [4]Op2{
 	{FzOp: ts + 16116, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)},
 	{FzOp: ts + 15447, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)},
 	{FzOp: ts + 14967, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)},
-	{FzOp: ts + 21815, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
+	{FzOp: ts + 21862, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
 }
 
 func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) {
@@ -101046,12 +101089,12 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			extraRight = x - uint64(1)
 
 			if prereqAll>>1 >= x {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21822, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21869, 0)
 				return
 			}
 		} else if prereqAll>>1 >= x {
 			if (*SrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*SrcItem)(unsafe.Pointer(pSrc+8)).Ffg.Fjointype)&JT_LTORJ != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21822, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21869, 0)
 				return
 			}
 			*(*U32)(unsafe.Pointer(pExpr + 4)) &= libc.Uint32FromInt32(libc.CplInt32(EP_InnerON))
@@ -101130,7 +101173,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_OuterON) != U32(0)) &&
 			0 == Xsqlite3ExprCanBeNull(tls, pLeft) {
 			(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
-			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6769
+			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 7699
 			*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0)
@@ -101224,7 +101267,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 		}
 		zCollSeqName = func() uintptr {
 			if *(*int32)(unsafe.Pointer(bp + 20)) != 0 {
-				return ts + 21863
+				return ts + 21910
 			}
 			return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))
 		}()
@@ -101600,7 +101643,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 			k++
 		}
 		if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21870,
+			Xsqlite3ErrorMsg(tls, pParse, ts+21917,
 				libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j))
 			return
 		}
@@ -101616,7 +101659,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 		pRhs = Xsqlite3PExpr(tls, pParse, TK_UPLUS,
 			Xsqlite3ExprDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*ExprList_item)(unsafe.Pointer(pArgs+8+uintptr(j)*32)).FpExpr, 0), uintptr(0))
 		pTerm = Xsqlite3PExpr(tls, pParse, TK_EQ, pColRef, pRhs)
-		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ) != 0 {
+		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ|JT_RIGHT) != 0 {
 			joinType = U32(EP_OuterON)
 		} else {
 			joinType = U32(EP_InnerON)
@@ -102334,7 +102377,7 @@ __4:
 		goto __6
 	}
 	Xsqlite3_log(tls, SQLITE_WARNING|int32(1)<<8,
-		ts+21906, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
+		ts+21953, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
 			(*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*24)).FzCnName))
 	sentWarning = U8(1)
 __6:
@@ -102405,7 +102448,7 @@ __13:
 __14:
 	;
 	*(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)) = pIdx
-	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21932
+	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21979
 	(*Index)(unsafe.Pointer(pIdx)).FpTable = pTable
 	n = 0
 	idxCols = uint64(0)
@@ -102579,6 +102622,10 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 	var pLoop uintptr = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	var iCur int32
+	var saved_pIdxEpr uintptr
+
+	saved_pIdxEpr = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = uintptr(0)
 
 	addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once)
 	for __ccgo := true; __ccgo; __ccgo = iLevel < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel) {
@@ -102622,9 +102669,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 			var r1 int32 = Xsqlite3GetTempRange(tls, pParse, n)
 			var jj int32
 			for jj = 0; jj < n; jj++ {
-				var iCol int32 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(jj)*2)))
-
-				Xsqlite3ExprCodeGetColumnOfTable(tls, v, (*Index)(unsafe.Pointer(pIdx)).FpTable, iCur, iCol, r1+jj)
+				Xsqlite3ExprCodeLoadIndexColumn(tls, pParse, pIdx, iCur, jj, r1+jj)
 			}
 			Xsqlite3VdbeAddOp4Int(tls, v, OP_FilterAdd, (*WhereLevel)(unsafe.Pointer(pLevel)).FregFilter, 0, r1, n)
 			Xsqlite3ReleaseTempRange(tls, pParse, r1, n)
@@ -102658,6 +102703,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 		}
 	}
 	Xsqlite3VdbeJumpHere(tls, v, addrOnce)
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = saved_pIdxEpr
 }
 
 func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr {
@@ -102916,11 +102962,16 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro
 
 	_ = pParse
 
+	if !((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) && int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol)
+	} else {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnColumn)
+	}
 	nField = func() int32 {
-		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < (*Index)(unsafe.Pointer(pIdx)).FnSample {
+		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < nField {
 			return int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField)
 		}
-		return (*Index)(unsafe.Pointer(pIdx)).FnSample
+		return nField
 	}()
 	iCol = 0
 	iSample = (*Index)(unsafe.Pointer(pIdx)).FnSample * nField
@@ -104501,7 +104552,7 @@ __4:
 				j >= (*WhereClause)(unsafe.Pointer(pWC)).FnTerm ||
 				*(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) ||
 				int32((*sqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21943, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+				Xsqlite3ErrorMsg(tls, pParse, ts+21990, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 				return SQLITE_ERROR
 			}
@@ -104559,7 +104610,7 @@ __6:
 	(*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm = U16(mxTerm + 1)
 	for i = 0; i <= mxTerm; i++ {
 		if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21943, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+			Xsqlite3ErrorMsg(tls, pParse, ts+21990, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 			return SQLITE_ERROR
 		}
@@ -104957,7 +105008,7 @@ __1:
 		mPrior = mPrior | (*WhereLoop)(unsafe.Pointer(pNew)).FmaskSelf
 		if rc != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 			if rc == SQLITE_DONE {
-				Xsqlite3_log(tls, SQLITE_WARNING, ts+21969, 0)
+				Xsqlite3_log(tls, SQLITE_WARNING, ts+22016, 0)
 				rc = SQLITE_OK
 			} else {
 				goto __3
@@ -105564,7 +105615,7 @@ __3:
 	}
 
 	if nFrom == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22004, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+22051, 0)
 		Xsqlite3DbFreeNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pSpace)
 		return SQLITE_ERROR
 	}
@@ -105599,6 +105650,10 @@ __3:
 			if int32((*WherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*ExprList)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr {
 				(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_ORDERED)
 			}
+			if (*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 &&
+				int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr {
+				(*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = I8((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr)
+			}
 		} else {
 			(*WhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*WherePath)(unsafe.Pointer(pFrom)).FrevLoop
 			if int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 {
@@ -105893,6 +105948,9 @@ func whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur in
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCur = iIdxCur
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCol = i
 		(*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow = U8(bMaybeNullRow)
+		if Xsqlite3IndexAffinityStr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pIdx) != 0 {
+			(*IndexedExpr)(unsafe.Pointer(p)).Faff = U8(*(*int8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(i))))
+		}
 		(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = p
 		if (*IndexedExpr)(unsafe.Pointer(p)).FpIENext == uintptr(0) {
 			Xsqlite3ParserAddCleanup(tls, pParse, *(*uintptr)(unsafe.Pointer(&struct {
@@ -106045,7 +106103,7 @@ __1:
 	if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22022, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+22069, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
 	return uintptr(0)
 __2:
 	;
@@ -106109,7 +106167,7 @@ __6:
 	(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE)
 __7:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22050, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22097, 0)
 	goto __5
 __4:
 	ii = 0
@@ -106991,7 +107049,7 @@ __1:
 
 error_out:
 	Xsqlite3_result_error(tls,
-		pCtx, ts+22068, -1)
+		pCtx, ts+22115, -1)
 }
 
 func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
@@ -107124,7 +107182,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 			(*NtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 			if (*NtileCtx)(unsafe.Pointer(p)).FnParam <= int64(0) {
 				Xsqlite3_result_error(tls,
-					pCtx, ts+22124, -1)
+					pCtx, ts+22171, -1)
 			}
 		}
 		(*NtileCtx)(unsafe.Pointer(p)).FnTotal++
@@ -107214,17 +107272,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
 	}
 }
 
-var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22169))
-var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22180))
-var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22191))
-var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22196))
-var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22209))
-var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22219))
-var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22225))
-var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22236))
-var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22246))
-var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22258))
-var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22263))
+var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22216))
+var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22227))
+var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22238))
+var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22243))
+var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22256))
+var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22266))
+var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22272))
+var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22283))
+var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22293))
+var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22305))
+var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22310))
 
 func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) {
 	_ = p
@@ -107270,7 +107328,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin
 		}
 	}
 	if p == uintptr(0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22267, libc.VaList(bp, zName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+22314, libc.VaList(bp, zName))
 	}
 	return p
 }
@@ -107314,12 +107372,12 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin
 		((*Window)(unsafe.Pointer(pWin)).FpStart != 0 || (*Window)(unsafe.Pointer(pWin)).FpEnd != 0) &&
 		((*Window)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*ExprList)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != 1) {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+22286, 0)
+			ts+22333, 0)
 	} else if (*FuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
 		if (*Window)(unsafe.Pointer(pWin)).FpFilter != 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22357, 0)
+				ts+22404, 0)
 		} else {
 			*(*[8]WindowUpdate)(unsafe.Pointer(bp)) = [8]WindowUpdate{
 				{FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT},
@@ -107548,7 +107606,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr
 
 	if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) {
 		Xsqlite3ErrorMsg(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse,
-			ts+22420, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
+			ts+22467, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
 	}
 	return WRC_Continue
 }
@@ -107664,7 +107722,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 {
 
 		if *(*uintptr)(unsafe.Pointer(bp + 48)) == uintptr(0) {
 			*(*uintptr)(unsafe.Pointer(bp + 48)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0),
-				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7530))
+				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7519))
 		}
 
 		pSub = Xsqlite3SelectNew(tls,
@@ -107779,7 +107837,7 @@ __1:
 		eStart == TK_FOLLOWING && (eEnd == TK_PRECEDING || eEnd == TK_CURRENT)) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22446, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22493, 0)
 	goto windowAllocErr
 __2:
 	;
@@ -107844,15 +107902,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint
 			var zErr uintptr = uintptr(0)
 
 			if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 {
-				zErr = ts + 22478
+				zErr = ts + 22525
 			} else if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0 {
-				zErr = ts + 22495
+				zErr = ts + 22542
 			} else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 {
-				zErr = ts + 22511
+				zErr = ts + 22558
 			}
 			if zErr != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+22531, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
+					ts+22578, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
 			} else {
 				(*Window)(unsafe.Pointer(pWin)).FpPartition = Xsqlite3ExprListDup(tls, db, (*Window)(unsafe.Pointer(pExist)).FpPartition, 0)
 				if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 {
@@ -107873,7 +107931,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr
 		(*Window)(unsafe.Pointer(pWin)).FpOwner = p
 		if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Distinct) != 0 && int32((*Window)(unsafe.Pointer(pWin)).FeFrmType) != TK_FILTER {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22564, 0)
+				ts+22611, 0)
 		}
 	} else {
 		Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin)
@@ -108029,11 +108087,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) {
 }
 
 var azErr = [5]uintptr{
-	ts + 22611,
-	ts + 22664,
-	ts + 22068,
-	ts + 22715,
-	ts + 22767,
+	ts + 22658,
+	ts + 22711,
+	ts + 22115,
+	ts + 22762,
+	ts + 22814,
 }
 var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge}
 
@@ -109428,19 +109486,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) {
 			}
 			cnt++
 			if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*Select)(unsafe.Pointer(pLoop)).FpLimit != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+22817,
+				Xsqlite3ErrorMsg(tls, pParse, ts+22864,
 					libc.VaList(bp, func() uintptr {
 						if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) {
-							return ts + 22859
+							return ts + 22906
 						}
-						return ts + 22868
+						return ts + 22915
 					}(),
 						Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(pNext)).Fop))))
 				break
 			}
 		}
 		if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_MultiValue) == U32(0) && libc.AssignInt32(&mxSelect, *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 4*4))) > 0 && cnt > mxSelect {
-			Xsqlite3ErrorMsg(tls, pParse, ts+22874, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+22921, 0)
 		}
 	}
 
@@ -109508,7 +109566,7 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT
 	var p uintptr = Xsqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0))
 	if (hasCollate != 0 || sortOrder != -1) &&
 		int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22908,
+		Xsqlite3ErrorMsg(tls, pParse, ts+22955,
 			libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz))
 	}
 	Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1)
@@ -110605,7 +110663,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) {
 		yy_pop_parser_stack(tls, yypParser)
 	}
 
-	Xsqlite3ErrorMsg(tls, pParse, ts+22946, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22993, 0)
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
 }
@@ -111584,7 +111642,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(TF_WithoutRowid | TF_NoVisibleRowid)
 				} else {
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22968, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23015, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			break
@@ -111594,7 +111652,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(TF_Strict)
 				} else {
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22968, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23015, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			*(*U32)(unsafe.Pointer(yymsp + 8)) = *(*U32)(unsafe.Pointer(bp + 40))
@@ -112337,7 +112395,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 		case uint32(157):
 			{
 				Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8)), yymsp+libc.UintptrFromInt32(-4)*24+8)
-				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+22995)
+				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+23042)
 				if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) != 0 {
 					var pFromClause uintptr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8))
 					if (*SrcList)(unsafe.Pointer(pFromClause)).FnSrc > 1 {
@@ -112501,7 +112559,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*Token)(unsafe.Pointer(bp + 128)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 
 					if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+23004, libc.VaList(bp+32, bp+128))
+						Xsqlite3ErrorMsg(tls, pParse, ts+23051, libc.VaList(bp+32, bp+128))
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0)
 					} else {
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0))
@@ -112718,9 +112776,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					Xsqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
 					*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_STRING, func() uintptr {
 						if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8)) != 0 {
-							return ts + 6764
+							return ts + 7694
 						}
-						return ts + 6769
+						return ts + 7699
 					}())
 					if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) != 0 {
 						Xsqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
@@ -113004,19 +113062,19 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 			{
 				*(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23028, 0)
+					ts+23075, 0)
 			}
 			break
 		case uint32(271):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23123, 0)
+					ts+23170, 0)
 			}
 			break
 		case uint32(272):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23207, 0)
+					ts+23254, 0)
 			}
 			break
 		case uint32(273):
@@ -113395,9 +113453,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To
 
 	_ = yymajor
 	if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8)).Fz)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23004, libc.VaList(bp, bp+8))
+		Xsqlite3ErrorMsg(tls, pParse, ts+23051, libc.VaList(bp, bp+8))
 	} else {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23292, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+23339, 0)
 	}
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
@@ -114165,7 +114223,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 			} else {
 				(*Token)(unsafe.Pointer(bp + 2464)).Fz = zSql
 				(*Token)(unsafe.Pointer(bp + 2464)).Fn = uint32(n)
-				Xsqlite3ErrorMsg(tls, pParse, ts+23309, libc.VaList(bp, bp+2464))
+				Xsqlite3ErrorMsg(tls, pParse, ts+23356, libc.VaList(bp, bp+2464))
 				break
 			}
 		}
@@ -114188,7 +114246,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 		if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) {
 			(*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+3663, libc.VaList(bp+8, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc)))
 		}
-		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23334, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
+		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23381, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
 		nErr++
 	}
 	(*Parse)(unsafe.Pointer(pParse)).FzTail = zSql
@@ -114361,7 +114419,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'C':
 						{
-							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23345, 6) == 0 {
+							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23392, 6) == 0 {
 								token = U8(TkCREATE)
 							} else {
 								token = U8(TkOTHER)
@@ -114374,11 +114432,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'T':
 						{
-							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19931, 7) == 0 {
+							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19978, 7) == 0 {
 								token = U8(TkTRIGGER)
-							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23352, 4) == 0 {
+							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23399, 4) == 0 {
 								token = U8(TkTEMP)
-							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23357, 9) == 0 {
+							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23404, 9) == 0 {
 								token = U8(TkTEMP)
 							} else {
 								token = U8(TkOTHER)
@@ -114391,9 +114449,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'E':
 						{
-							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23367, 3) == 0 {
+							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23414, 3) == 0 {
 								token = U8(TkEND)
-							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23371, 7) == 0 {
+							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23418, 7) == 0 {
 								token = U8(TkEXPLAIN)
 							} else {
 								token = U8(TkOTHER)
@@ -114627,7 +114685,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 {
 	var rc int32 = SQLITE_OK
 
 	if Xsqlite3Config.FisInit != 0 {
-		return Xsqlite3MisuseError(tls, 174337)
+		return Xsqlite3MisuseError(tls, 174426)
 	}
 
 	ap = va
@@ -115202,7 +115260,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 		return SQLITE_OK
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 175111)
+		return Xsqlite3MisuseError(tls, 175200)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 {
@@ -115217,7 +115275,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 
 	if !(forceZombie != 0) && connectionIsBusy(tls, db) != 0 {
 		Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-			ts+23379, 0)
+			ts+23426, 0)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		return SQLITE_BUSY
 	}
@@ -115408,23 +115466,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) {
 // Return a static string that describes the kind of error specified in the
 // argument.
 func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
-	var zErr uintptr = ts + 23447
+	var zErr uintptr = ts + 23494
 	switch rc {
 	case SQLITE_ABORT | int32(2)<<8:
 		{
-			zErr = ts + 23461
+			zErr = ts + 23508
 			break
 
 		}
 	case SQLITE_ROW:
 		{
-			zErr = ts + 23483
+			zErr = ts + 23530
 			break
 
 		}
 	case SQLITE_DONE:
 		{
-			zErr = ts + 23505
+			zErr = ts + 23552
 			break
 
 		}
@@ -115442,35 +115500,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
 }
 
 var aMsg = [29]uintptr{
-	ts + 23528,
-	ts + 23541,
+	ts + 23575,
+	ts + 23588,
 	uintptr(0),
-	ts + 23557,
-	ts + 23582,
-	ts + 23596,
-	ts + 23615,
+	ts + 23604,
+	ts + 23629,
+	ts + 23643,
+	ts + 23662,
 	ts + 1490,
-	ts + 23640,
-	ts + 23677,
-	ts + 23689,
-	ts + 23704,
-	ts + 23737,
-	ts + 23755,
-	ts + 23780,
-	ts + 23809,
+	ts + 23687,
+	ts + 23724,
+	ts + 23736,
+	ts + 23751,
+	ts + 23784,
+	ts + 23802,
+	ts + 23827,
+	ts + 23856,
 	uintptr(0),
 	ts + 5838,
 	ts + 5334,
-	ts + 23826,
-	ts + 23844,
-	ts + 23862,
+	ts + 23873,
+	ts + 23891,
+	ts + 23909,
 	uintptr(0),
-	ts + 23896,
-	uintptr(0),
-	ts + 23917,
 	ts + 23943,
-	ts + 23966,
-	ts + 23987,
+	uintptr(0),
+	ts + 23964,
+	ts + 23990,
+	ts + 24013,
+	ts + 24034,
 }
 
 func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 {
@@ -115591,7 +115649,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 		libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) ||
 		(nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) ||
 		255 < Xsqlite3Strlen30(tls, zFunctionName) {
-		return Xsqlite3MisuseError(tls, 175758)
+		return Xsqlite3MisuseError(tls, 175847)
 	}
 
 	extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS)
@@ -115636,7 +115694,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 	if p != 0 && (*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK) == U32(enc) && int32((*FuncDef)(unsafe.Pointer(p)).FnArg) == nArg {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24003, 0)
+				ts+24050, 0)
 
 			return SQLITE_BUSY
 		} else {
@@ -115753,7 +115811,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs
 	_ = NotUsed
 	_ = NotUsed2
 	zErr = Xsqlite3_mprintf(tls,
-		ts+24066, libc.VaList(bp, zName))
+		ts+24113, libc.VaList(bp, zName))
 	Xsqlite3_result_error(tls, context, zErr, -1)
 	Xsqlite3_free(tls, zErr)
 }
@@ -115989,7 +116047,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
 	}
 	if iDb < 0 {
 		rc = SQLITE_ERROR
-		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24117, libc.VaList(bp, zDb))
+		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24164, libc.VaList(bp, zDb))
 	} else {
 		(*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0
 		rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt)
@@ -116082,7 +116140,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr {
 		return Xsqlite3ErrStr(tls, SQLITE_NOMEM)
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176503))
+		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176592))
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -116152,7 +116210,7 @@ var misuse = [34]U16{
 // passed to this function, we assume a malloc() failed during sqlite3_open().
 func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176582)
+		return Xsqlite3MisuseError(tls, 176671)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -116162,7 +116220,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 
 func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176591)
+		return Xsqlite3MisuseError(tls, 176680)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -116194,14 +116252,14 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint
 		enc2 = SQLITE_UTF16LE
 	}
 	if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE {
-		return Xsqlite3MisuseError(tls, 176639)
+		return Xsqlite3MisuseError(tls, 176728)
 	}
 
 	pColl = Xsqlite3FindCollSeq(tls, db, U8(enc2), zName, 0)
 	if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24138, 0)
+				ts+24185, 0)
 			return SQLITE_BUSY
 		}
 		Xsqlite3ExpirePreparedStatements(tls, db, 0)
@@ -116331,7 +116389,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u
 
 	if !((flags&uint32(SQLITE_OPEN_URI) != 0 ||
 		Xsqlite3Config.FbOpenUri != 0) &&
-		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24206, uint64(5)) == 0) {
+		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24253, uint64(5)) == 0) {
 		goto __1
 	}
 	iOut = 0
@@ -116376,10 +116434,10 @@ __8:
 	goto __8
 __9:
 	;
-	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24212, zUri+7, uint64(9)) != 0)) {
+	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24259, zUri+7, uint64(9)) != 0)) {
 		goto __10
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24222,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24269,
 		libc.VaList(bp, iIn-7, zUri+7))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
@@ -116484,7 +116542,7 @@ __27:
 	zVal = zOpt + uintptr(nOpt+1)
 	nVal = Xsqlite3Strlen30(tls, zVal)
 
-	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24250, zOpt, uint64(3)) == 0) {
+	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24297, zOpt, uint64(3)) == 0) {
 		goto __29
 	}
 	zVfs = zVal
@@ -116495,17 +116553,17 @@ __29:
 	mask = 0
 	limit = 0
 
-	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24254, zOpt, uint64(5)) == 0) {
+	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24301, zOpt, uint64(5)) == 0) {
 		goto __31
 	}
 
 	mask = SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE
 	aMode = uintptr(unsafe.Pointer(&aCacheMode))
 	limit = mask
-	zModeType = ts + 24254
+	zModeType = ts + 24301
 __31:
 	;
-	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24260, zOpt, uint64(4)) == 0) {
+	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24307, zOpt, uint64(4)) == 0) {
 		goto __32
 	}
 
@@ -116543,7 +116601,7 @@ __36:
 	if !(mode == 0) {
 		goto __38
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24265, libc.VaList(bp+16, zModeType, zVal))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24312, libc.VaList(bp+16, zModeType, zVal))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
 __38:
@@ -116551,7 +116609,7 @@ __38:
 	if !(mode&libc.CplInt32(SQLITE_OPEN_MEMORY) > limit) {
 		goto __39
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24285,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24332,
 		libc.VaList(bp+32, zModeType, zVal))
 	rc = SQLITE_PERM
 	goto parse_uri_out
@@ -116591,7 +116649,7 @@ __2:
 	if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) {
 		goto __42
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24309, libc.VaList(bp+48, zVfs))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24356, libc.VaList(bp+48, zVfs))
 	rc = SQLITE_ERROR
 __42:
 	;
@@ -116615,14 +116673,14 @@ type OpenMode = struct {
 }
 
 var aCacheMode = [3]OpenMode{
-	{Fz: ts + 24325, Fmode: SQLITE_OPEN_SHAREDCACHE},
-	{Fz: ts + 24332, Fmode: SQLITE_OPEN_PRIVATECACHE},
+	{Fz: ts + 24372, Fmode: SQLITE_OPEN_SHAREDCACHE},
+	{Fz: ts + 24379, Fmode: SQLITE_OPEN_PRIVATECACHE},
 	{},
 }
 var aOpenMode = [5]OpenMode{
-	{Fz: ts + 24340, Fmode: SQLITE_OPEN_READONLY},
-	{Fz: ts + 24343, Fmode: SQLITE_OPEN_READWRITE},
-	{Fz: ts + 24346, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
+	{Fz: ts + 24387, Fmode: SQLITE_OPEN_READONLY},
+	{Fz: ts + 24390, Fmode: SQLITE_OPEN_READWRITE},
+	{Fz: ts + 24393, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
 	{Fz: ts + 17362, Fmode: SQLITE_OPEN_MEMORY},
 	{},
 }
@@ -116769,10 +116827,10 @@ __12:
 	createCollation(tls, db, uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{binCollFunc})), uintptr(0))
-	createCollation(tls, db, ts+21863, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+21910, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{nocaseCollatingFunc})), uintptr(0))
-	createCollation(tls, db, ts+24350, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+24397, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{rtrimCollFunc})), uintptr(0))
 	if !((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) {
@@ -116786,7 +116844,7 @@ __15:
 	if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) {
 		goto __16
 	}
-	rc = Xsqlite3MisuseError(tls, 177308)
+	rc = Xsqlite3MisuseError(tls, 177397)
 	goto __17
 __16:
 	rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24)
@@ -116839,7 +116897,7 @@ __22:
 
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 6441
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).Fsafety_level = U8(SQLITE_DEFAULT_SYNCHRONOUS + 1)
-	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23352
+	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23399
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF)
 
 	(*Sqlite3)(unsafe.Pointer(db)).FeOpenState = U8(SQLITE_STATE_OPEN)
@@ -116944,7 +117002,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 {
 		return rc
 	}
 	if zFilename == uintptr(0) {
-		zFilename = ts + 24356
+		zFilename = ts + 24403
 	}
 	pVal = Xsqlite3ValueNew(tls, uintptr(0))
 	Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0))
@@ -117047,21 +117105,21 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr)
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	Xsqlite3_log(tls, iErr, ts+24359,
+	Xsqlite3_log(tls, iErr, ts+24406,
 		libc.VaList(bp, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls)))
 	return iErr
 }
 
 func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24384)
+	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24431)
 }
 
 func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24404)
+	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24451)
 }
 
 func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24411)
+	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24458)
 }
 
 // This is a convenience routine that makes sure that all thread-specific
@@ -117219,7 +117277,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24)))
-	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24428, libc.VaList(bp, zTableName,
+	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24475, libc.VaList(bp, zTableName,
 		zColumnName))
 	rc = SQLITE_ERROR
 __20:
@@ -117875,7 +117933,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 {
 
 	azCompileOpt = Xsqlite3CompileOptions(tls, bp)
 
-	if Xsqlite3_strnicmp(tls, zOptName, ts+24456, 7) == 0 {
+	if Xsqlite3_strnicmp(tls, zOptName, ts+24503, 7) == 0 {
 		zOptName += uintptr(7)
 	}
 	n = Xsqlite3Strlen30(tls, zOptName)
@@ -117993,7 +118051,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin
 
 	Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr {
 		if rc != 0 {
-			return ts + 24464
+			return ts + 24511
 		}
 		return uintptr(0)
 	}(), 0)
@@ -118171,7 +118229,7 @@ type JsonParse1 = struct {
 type JsonParse = JsonParse1
 
 var jsonType = [8]uintptr{
-	ts + 6181, ts + 6764, ts + 6769, ts + 6191, ts + 6186, ts + 8005, ts + 24487, ts + 24493,
+	ts + 6181, ts + 7694, ts + 7699, ts + 6191, ts + 6186, ts + 8005, ts + 24534, ts + 24540,
 }
 
 func jsonZero(tls *libc.TLS, p uintptr) {
@@ -118324,7 +118382,7 @@ __10:
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0' + int32(c)>>4)
-	c = uint8(*(*int8)(unsafe.Pointer(ts + 24500 + uintptr(int32(c)&0xf))))
+	c = uint8(*(*int8)(unsafe.Pointer(ts + 24547 + uintptr(int32(c)&0xf))))
 __8:
 	;
 __6:
@@ -118379,7 +118437,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) {
 	default:
 		{
 			if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 {
-				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24517, -1)
+				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24564, -1)
 				(*JsonString)(unsafe.Pointer(p)).FbErr = U8(2)
 				jsonReset(tls, p)
 			}
@@ -118443,13 +118501,13 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr
 		}
 	case JSON_TRUE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6764, uint32(4))
+			jsonAppendRaw(tls, pOut, ts+7694, uint32(4))
 			break
 
 		}
 	case JSON_FALSE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6769, uint32(5))
+			jsonAppendRaw(tls, pOut, ts+7699, uint32(5))
 			break
 
 		}
@@ -118999,12 +119057,12 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 't' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6764, uint64(4)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7694, uint64(4)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(4)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_TRUE), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 'f' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6769, uint64(5)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7699, uint64(5)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(5)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_FALSE), uint32(0), uintptr(0))
 		return int32(i + U32(5))
@@ -119105,7 +119163,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32
 			if (*JsonParse)(unsafe.Pointer(pParse)).Foom != 0 {
 				Xsqlite3_result_error_nomem(tls, pCtx)
 			} else {
-				Xsqlite3_result_error(tls, pCtx, ts+24546, -1)
+				Xsqlite3_result_error(tls, pCtx, ts+24593, -1)
 			}
 		}
 		jsonParseReset(tls, pParse)
@@ -119411,7 +119469,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt
 	}
 	if int32(*(*int8)(unsafe.Pointer(zPath))) == '.' {
 		jsonParseAddNode(tls, pParse, uint32(JSON_OBJECT), uint32(0), uintptr(0))
-	} else if libc.Xstrncmp(tls, zPath, ts+24561, uint64(3)) == 0 {
+	} else if libc.Xstrncmp(tls, zPath, ts+24608, uint64(3)) == 0 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0))
 	} else {
 		return uintptr(0)
@@ -119426,7 +119484,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	return Xsqlite3_mprintf(tls, ts+24565, libc.VaList(bp, zErr))
+	return Xsqlite3_mprintf(tls, ts+24612, libc.VaList(bp, zErr))
 }
 
 func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr {
@@ -119480,7 +119538,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24591,
+	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24638,
 		libc.VaList(bp, zFuncName))
 	Xsqlite3_result_error(tls, pCtx, zMsg, -1)
 	Xsqlite3_free(tls, zMsg)
@@ -119585,11 +119643,11 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 			if int32(*(*int8)(unsafe.Pointer(zPath))) != '$' {
 				jsonInit(tls, bp, ctx)
 				if int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zPath)))])&0x04 != 0 {
-					jsonAppendRaw(tls, bp, ts+24634, uint32(2))
+					jsonAppendRaw(tls, bp, ts+24681, uint32(2))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendRaw(tls, bp, ts+4998, uint32(2))
 				} else {
-					jsonAppendRaw(tls, bp, ts+24637, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
+					jsonAppendRaw(tls, bp, ts+24684, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendChar(tls, bp, int8(0))
 				}
@@ -119746,14 +119804,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 
 	if argc&1 != 0 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+24640, -1)
+			ts+24687, -1)
 		return
 	}
 	jsonInit(tls, bp, ctx)
 	jsonAppendChar(tls, bp, int8('{'))
 	for i = 0; i < argc; i = i + 2 {
 		if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != SQLITE_TEXT {
-			Xsqlite3_result_error(tls, ctx, ts+24691, -1)
+			Xsqlite3_result_error(tls, ctx, ts+24738, -1)
 			jsonReset(tls, bp)
 			return
 		}
@@ -119923,9 +119981,9 @@ __1:
 	}
 	jsonWrongNumArgs(tls, ctx, func() uintptr {
 		if bIsSet != 0 {
-			return ts + 24725
+			return ts + 24772
 		}
-		return ts + 24729
+		return ts + 24776
 	}())
 	return
 __2:
@@ -120058,7 +120116,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24736, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24783, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -120155,7 +120213,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24739, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24786, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -120199,7 +120257,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u
 	_ = argc
 	_ = pAux
 	rc = Xsqlite3_declare_vtab(tls, db,
-		ts+24742)
+		ts+24789)
 	if rc == SQLITE_OK {
 		pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{}))))
 		if pNew == uintptr(0) {
@@ -120330,7 +120388,7 @@ func jsonAppendObjectPathElement(tls *libc.TLS, pStr uintptr, pNode uintptr) {
 			nn = nn - 2
 		}
 	}
-	jsonPrintf(tls, nn+2, pStr, ts+24825, libc.VaList(bp, nn, z))
+	jsonPrintf(tls, nn+2, pStr, ts+24872, libc.VaList(bp, nn, z))
 }
 
 func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
@@ -120349,7 +120407,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
 	pNode = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(i)*16
 	pUp = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(iUp)*16
 	if int32((*JsonNode)(unsafe.Pointer(pUp)).FeType) == JSON_ARRAY {
-		jsonPrintf(tls, 30, pStr, ts+24831, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
+		jsonPrintf(tls, 30, pStr, ts+24878, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
 	} else {
 		if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_LABEL == 0 {
 			pNode -= 16
@@ -120445,7 +120503,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 					jsonAppendChar(tls, bp+8, int8('$'))
 				}
 				if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY {
-					jsonPrintf(tls, 30, bp+8, ts+24831, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
+					jsonPrintf(tls, 30, bp+8, ts+24878, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
 				} else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT {
 					jsonAppendObjectPathElement(tls, bp+8, pThis)
 				}
@@ -120469,7 +120527,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 		{
 			var zRoot uintptr = (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot
 			if zRoot == uintptr(0) {
-				zRoot = ts + 24836
+				zRoot = ts + 24883
 			}
 			Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0))
 			break
@@ -120591,7 +120649,7 @@ func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, ar
 		var rc int32 = SQLITE_NOMEM
 		if int32((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.Foom) == 0 {
 			Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg)
-			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24546, 0)
+			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24593, 0)
 			if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 {
 				rc = SQLITE_ERROR
 			}
@@ -120686,25 +120744,25 @@ func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) {
 }
 
 var aJsonFunc = [19]FuncDef{
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24838},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24843},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24854},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24854},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24872},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 24885},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 24888},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24892},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24904},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24916},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24927},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24938},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24950},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 24963},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24972},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24972},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24982},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24993},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25010}}
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24885},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24890},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24901},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24901},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24919},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 24932},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 24935},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24939},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24951},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24963},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24974},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24985},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24997},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 25010},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25019},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25019},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25029},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25040},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25057}}
 
 // Register the JSON table-valued functions
 func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 {
@@ -120723,8 +120781,8 @@ var aMod = [2]struct {
 	FzName   uintptr
 	FpModule uintptr
 }{
-	{FzName: ts + 25028, FpModule: 0},
-	{FzName: ts + 25038, FpModule: 0},
+	{FzName: ts + 25075, FpModule: 0},
+	{FzName: ts + 25085, FpModule: 0},
 }
 
 type Rtree1 = struct {
@@ -120984,11 +121042,11 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo
 		}
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) {
-		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25048, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25095, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		if zTab == uintptr(0) {
 			return SQLITE_NOMEM
 		}
-		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25056, iNode, 0,
+		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25103, iNode, 0,
 			pRtree+112)
 		Xsqlite3_free(tls, zTab)
 	}
@@ -121199,7 +121257,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32
 	var zCreate uintptr = Xsqlite3_mprintf(tls,
-		ts+25061,
+		ts+25108,
 		libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
@@ -121897,7 +121955,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 {
 	var pSrc uintptr
 	var pInfo uintptr
 
-	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25143)
+	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25190)
 	if pSrc == uintptr(0) {
 		return SQLITE_ERROR
 	}
@@ -123238,7 +123296,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+25157, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+	zSql = Xsqlite3_mprintf(tls, ts+25204, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 	if zSql != 0 {
 		rc = Xsqlite3_prepare_v2(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -1, bp+56, uintptr(0))
 	} else {
@@ -123250,12 +123308,12 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 		if iCol == 0 {
 			var zCol uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 0)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25177, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
+				ts+25224, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
 		} else {
 			var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol)
 			var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol+1)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25209, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
+				ts+25256, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
 		}
 	}
 
@@ -123481,7 +123539,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32 = SQLITE_NOMEM
 	var zSql uintptr = Xsqlite3_mprintf(tls,
-		ts+25246, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
+		ts+25293, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
 	if zSql != 0 {
 		nodeBlobReset(tls, pRtree)
 		rc = Xsqlite3_exec(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0))
@@ -123504,7 +123562,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 {
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	var zFmt uintptr = ts + 25391
+	var zFmt uintptr = ts + 25438
 	var zSql uintptr
 
 	var rc int32
@@ -123552,7 +123610,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName1 = [3]uintptr{
-	ts + 25447, ts + 5060, ts + 16267,
+	ts + 25494, ts + 5060, ts + 16267,
 }
 
 var rtreeModule = Sqlite3_module{
@@ -123595,19 +123653,19 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		var p uintptr = Xsqlite3_str_new(tls, db)
 		var ii int32
 		Xsqlite3_str_appendf(tls, p,
-			ts+25452,
+			ts+25499,
 			libc.VaList(bp, zDb, zPrefix))
 		for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
-			Xsqlite3_str_appendf(tls, p, ts+25514, libc.VaList(bp+16, ii))
+			Xsqlite3_str_appendf(tls, p, ts+25561, libc.VaList(bp+16, ii))
 		}
 		Xsqlite3_str_appendf(tls, p,
-			ts+25519,
+			ts+25566,
 			libc.VaList(bp+24, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25583,
+			ts+25630,
 			libc.VaList(bp+40, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25653,
+			ts+25700,
 			libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))
 		zCreate = Xsqlite3_str_finish(tls, p)
 		if !(zCreate != 0) {
@@ -123636,7 +123694,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		if i != 3 || int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) == 0 {
 			zFormat = azSql[i]
 		} else {
-			zFormat = ts + 25702
+			zFormat = ts + 25749
 		}
 		zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix))
 		if zSql != 0 {
@@ -123648,7 +123706,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FnAux != 0 {
 		(*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls,
-			ts+25810,
+			ts+25857,
 			libc.VaList(bp+96, zDb, zPrefix))
 		if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -123656,18 +123714,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 			var p uintptr = Xsqlite3_str_new(tls, db)
 			var ii int32
 			var zSql uintptr
-			Xsqlite3_str_appendf(tls, p, ts+25855, libc.VaList(bp+112, zDb, zPrefix))
+			Xsqlite3_str_appendf(tls, p, ts+25902, libc.VaList(bp+112, zDb, zPrefix))
 			for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
 				if ii != 0 {
 					Xsqlite3_str_append(tls, p, ts+12767, 1)
 				}
 				if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) {
-					Xsqlite3_str_appendf(tls, p, ts+25882, libc.VaList(bp+128, ii, ii+2, ii))
+					Xsqlite3_str_appendf(tls, p, ts+25929, libc.VaList(bp+128, ii, ii+2, ii))
 				} else {
-					Xsqlite3_str_appendf(tls, p, ts+25904, libc.VaList(bp+152, ii, ii+2))
+					Xsqlite3_str_appendf(tls, p, ts+25951, libc.VaList(bp+152, ii, ii+2))
 				}
 			}
-			Xsqlite3_str_appendf(tls, p, ts+25912, 0)
+			Xsqlite3_str_appendf(tls, p, ts+25959, 0)
 			zSql = Xsqlite3_str_finish(tls, p)
 			if zSql == uintptr(0) {
 				rc = SQLITE_NOMEM
@@ -123682,14 +123740,14 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 }
 
 var azSql = [8]uintptr{
-	ts + 25928,
-	ts + 25981,
-	ts + 26026,
-	ts + 26078,
-	ts + 26132,
-	ts + 26177,
-	ts + 26235,
-	ts + 26290,
+	ts + 25975,
+	ts + 26028,
+	ts + 26073,
+	ts + 26125,
+	ts + 26179,
+	ts + 26224,
+	ts + 26282,
+	ts + 26337,
 }
 
 func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 {
@@ -123718,7 +123776,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 	var zSql uintptr
 	if isCreate != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = 0
-		zSql = Xsqlite3_mprintf(tls, ts+26337, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
+		zSql = Xsqlite3_mprintf(tls, ts+26384, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
 		rc = getIntFromStmt(tls, db, zSql, bp+48)
 		if rc == SQLITE_OK {
 			(*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp + 48)) - 64
@@ -123730,7 +123788,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		}
 	} else {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+26357,
+			ts+26404,
 			libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		rc = getIntFromStmt(tls, db, zSql, pRtree+32)
 		if rc != SQLITE_OK {
@@ -123738,7 +123796,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		} else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < 512-64 {
 			rc = SQLITE_CORRUPT | int32(1)<<8
 
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26414,
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26461,
 				libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		}
 	}
@@ -123780,10 +123838,10 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr
 	ii = 4
 	*(*[5]uintptr)(unsafe.Pointer(bp + 96)) = [5]uintptr{
 		uintptr(0),
-		ts + 26449,
-		ts + 26492,
-		ts + 26527,
-		ts + 26563,
+		ts + 26496,
+		ts + 26539,
+		ts + 26574,
+		ts + 26610,
 	}
 
 	if !(argc < 6 || argc > RTREE_MAX_AUX_COLUMN+3) {
@@ -123814,7 +123872,7 @@ __2:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+26600,
+	Xsqlite3_str_appendf(tls, pSql, ts+26647,
 		libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8))))
 	ii = 4
 __3:
@@ -123826,7 +123884,7 @@ __3:
 		goto __6
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+26624, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
+	Xsqlite3_str_appendf(tls, pSql, ts+26671, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
 	goto __7
 __6:
 	if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) {
@@ -123849,7 +123907,7 @@ __4:
 	goto __5
 __5:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26630, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26677, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __10
@@ -123945,7 +124003,7 @@ __25:
 	return rc
 }
 
-var azFormat = [2]uintptr{ts + 26633, ts + 26644}
+var azFormat = [2]uintptr{ts + 26680, ts + 26691}
 
 func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	bp := tls.Alloc(1072)
@@ -123985,11 +124043,11 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 		if ii > 0 {
 			Xsqlite3_str_append(tls, pOut, ts+10920, 1)
 		}
-		Xsqlite3_str_appendf(tls, pOut, ts+26654, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
+		Xsqlite3_str_appendf(tls, pOut, ts+26701, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
 		for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+56)).FnDim2); jj++ {
-			Xsqlite3_str_appendf(tls, pOut, ts+26660, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
+			Xsqlite3_str_appendf(tls, pOut, ts+26707, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
 		}
-		Xsqlite3_str_append(tls, pOut, ts+26664, 1)
+		Xsqlite3_str_append(tls, pOut, ts+26711, 1)
 	}
 	errCode = Xsqlite3_str_errcode(tls, pOut)
 	Xsqlite3_result_text(tls, ctx, Xsqlite3_str_finish(tls, pOut), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
@@ -124000,7 +124058,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	_ = nArg
 	if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB ||
 		Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 {
-		Xsqlite3_result_error(tls, ctx, ts+26666, -1)
+		Xsqlite3_result_error(tls, ctx, ts+26713, -1)
 	} else {
 		var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 		if zBlob != 0 {
@@ -124078,7 +124136,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr
 		if z == uintptr(0) {
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM
 		} else {
-			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26699,
+			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26746,
 				libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr {
 					if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 {
 						return ts + 4062
@@ -124102,7 +124160,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) {
 		(*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = rtreeCheckPrepare(tls, pCheck,
-			ts+26706,
+			ts+26753,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab))
 	}
 
@@ -124121,7 +124179,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 		}
 		rtreeCheckReset(tls, pCheck, (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode)
 		if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) {
-			rtreeCheckAppendMsg(tls, pCheck, ts+26751, libc.VaList(bp+16, iNode))
+			rtreeCheckAppendMsg(tls, pCheck, ts+26798, libc.VaList(bp+16, iNode))
 		}
 	}
 
@@ -124135,8 +124193,8 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	var rc int32
 	var pStmt uintptr
 	*(*[2]uintptr)(unsafe.Pointer(bp + 80)) = [2]uintptr{
-		ts + 26783,
-		ts + 26837,
+		ts + 26830,
+		ts + 26884,
 	}
 
 	if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) {
@@ -124151,23 +124209,23 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	Xsqlite3_bind_int64(tls, pStmt, 1, iKey)
 	rc = Xsqlite3_step(tls, pStmt)
 	if rc == SQLITE_DONE {
-		rtreeCheckAppendMsg(tls, pCheck, ts+26885,
+		rtreeCheckAppendMsg(tls, pCheck, ts+26932,
 			libc.VaList(bp+16, iKey, iVal, func() uintptr {
 				if bLeaf != 0 {
-					return ts + 26930
+					return ts + 26977
 				}
-				return ts + 26938
+				return ts + 26985
 			}()))
 	} else if rc == SQLITE_ROW {
 		var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0)
 		if ii != iVal {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+26947,
+				ts+26994,
 				libc.VaList(bp+40, iKey, ii, func() uintptr {
 					if bLeaf != 0 {
-						return ts + 26930
+						return ts + 26977
 					}
-					return ts + 26938
+					return ts + 26985
 				}(), iKey, iVal))
 		}
 	}
@@ -124191,7 +124249,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 			return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48)) > *(*RtreeValue)(unsafe.Pointer(bp + 52)))
 		}() != 0 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27005, libc.VaList(bp, i, iCell, iNode))
+				ts+27052, libc.VaList(bp, i, iCell, iNode))
 		}
 
 		if pParent != 0 {
@@ -124211,7 +124269,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 					return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52)) > *(*RtreeValue)(unsafe.Pointer(bp + 60)))
 				}() != 0 {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27053, libc.VaList(bp+24, i, iCell, iNode))
+					ts+27100, libc.VaList(bp+24, i, iCell, iNode))
 			}
 		}
 	}
@@ -124228,14 +124286,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 	if aNode != 0 {
 		if *(*int32)(unsafe.Pointer(bp + 48)) < 4 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27120, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
+				ts+27167, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
 		} else {
 			var nCell int32
 			var i int32
 			if aParent == uintptr(0) {
 				iDepth = readInt16(tls, aNode)
 				if iDepth > RTREE_MAX_DEPTH {
-					rtreeCheckAppendMsg(tls, pCheck, ts+27154, libc.VaList(bp+16, iDepth))
+					rtreeCheckAppendMsg(tls, pCheck, ts+27201, libc.VaList(bp+16, iDepth))
 					Xsqlite3_free(tls, aNode)
 					return
 				}
@@ -124243,7 +124301,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 			nCell = readInt16(tls, aNode+2)
 			if 4+nCell*(8+(*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim*2*4) > *(*int32)(unsafe.Pointer(bp + 48)) {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27184,
+					ts+27231,
 					libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48))))
 			} else {
 				for i = 0; i < nCell; i++ {
@@ -124272,14 +124330,14 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) {
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK {
 		var pCount uintptr
-		pCount = rtreeCheckPrepare(tls, pCheck, ts+27239,
+		pCount = rtreeCheckPrepare(tls, pCheck, ts+27286,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl))
 		if pCount != 0 {
 			if Xsqlite3_step(tls, pCount) == SQLITE_ROW {
 				var nActual I64 = Xsqlite3_column_int64(tls, pCount, 0)
 				if nActual != nExpect {
 					rtreeCheckAppendMsg(tls, pCheck,
-						ts+27270, libc.VaList(bp+24, zTbl, nExpect, nActual))
+						ts+27317, libc.VaList(bp+24, zTbl, nExpect, nActual))
 				}
 			}
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount)
@@ -124306,7 +124364,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	}
 
 	if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
-		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27337, libc.VaList(bp, zDb, zTab))
+		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27384, libc.VaList(bp, zDb, zTab))
 		if pStmt != 0 {
 			nAux = Xsqlite3_column_count(tls, pStmt) - 2
 			Xsqlite3_finalize(tls, pStmt)
@@ -124315,12 +124373,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		}
 	}
 
-	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25157, libc.VaList(bp+16, zDb, zTab))
+	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25204, libc.VaList(bp+16, zDb, zTab))
 	if pStmt != 0 {
 		var rc int32
 		(*RtreeCheck)(unsafe.Pointer(bp + 32)).FnDim = (Xsqlite3_column_count(tls, pStmt) - 1 - nAux) / 2
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).FnDim < 1 {
-			rtreeCheckAppendMsg(tls, bp+32, ts+27365, 0)
+			rtreeCheckAppendMsg(tls, bp+32, ts+27412, 0)
 		} else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).FbInt = libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)
 		}
@@ -124334,8 +124392,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			rtreeCheckNode(tls, bp+32, 0, uintptr(0), int64(1))
 		}
-		rtreeCheckCount(tls, bp+32, ts+27396, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
-		rtreeCheckCount(tls, bp+32, ts+27403, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27443, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27450, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
 	}
 
 	Xsqlite3_finalize(tls, (*RtreeCheck)(unsafe.Pointer(bp+32)).FpGetNode)
@@ -124343,7 +124401,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 + 40 + 1*8)))
 
 	if bEnd != 0 {
-		var rc int32 = Xsqlite3_exec(tls, db, ts+27411, uintptr(0), uintptr(0), uintptr(0))
+		var rc int32 = Xsqlite3_exec(tls, db, ts+27458, uintptr(0), uintptr(0), uintptr(0))
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).Frc = rc
 		}
@@ -124358,7 +124416,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 
 	if nArg != 1 && nArg != 2 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+27415, -1)
+			ts+27462, -1)
 	} else {
 		var rc int32
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
@@ -124376,7 +124434,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 				if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
 					return *(*uintptr)(unsafe.Pointer(bp))
 				}
-				return ts + 18012
+				return ts + 18059
 			}(), -1, libc.UintptrFromInt32(-1))
 		} else {
 			Xsqlite3_result_error_code(tls, ctx, rc)
@@ -124747,11 +124805,11 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var db uintptr = Xsqlite3_context_db_handle(tls, context)
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
-		Xsqlite3_str_append(tls, x, ts+27466, 1)
+		Xsqlite3_str_append(tls, x, ts+27513, 1)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27468, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27515, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27479, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27526, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -124771,19 +124829,19 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
 		var cSep int8 = int8('\'')
-		Xsqlite3_str_appendf(tls, x, ts+27490, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27537, 0)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27508, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27555, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 			cSep = int8(' ')
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27516, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27563, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		for i = 1; i < argc; i++ {
 			var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 			if z != 0 && *(*int8)(unsafe.Pointer(z)) != 0 {
-				Xsqlite3_str_appendf(tls, x, ts+27524, libc.VaList(bp+40, z))
+				Xsqlite3_str_appendf(tls, x, ts+27571, libc.VaList(bp+40, z))
 			}
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27528, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27575, 0)
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -125703,7 +125761,7 @@ __1:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+27541, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+27588, 0)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1)
 	ii = 3
@@ -125712,7 +125770,7 @@ __2:
 		goto __4
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+27563, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
+	Xsqlite3_str_appendf(tls, pSql, ts+27610, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
 	goto __3
 __3:
 	ii++
@@ -125720,7 +125778,7 @@ __3:
 	goto __4
 __4:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26630, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26677, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __5
@@ -125957,7 +126015,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 	}
 	if iFuncTerm >= 0 {
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum
-		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27567
+		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27614
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).FargvIndex = 1
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).Fomit = uint8(0)
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 300.0
@@ -125965,7 +126023,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 		return SQLITE_OK
 	}
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4
-	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27573
+	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27620
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000)
 	return SQLITE_OK
@@ -126077,7 +126135,7 @@ __1:
 	if !(*(*int32)(unsafe.Pointer(bp + 48)) == SQLITE_ERROR) {
 		goto __4
 	}
-	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27582, 0)
+	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27629, 0)
 __4:
 	;
 	goto geopoly_update_end
@@ -126209,14 +126267,14 @@ geopoly_update_end:
 func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 {
 	_ = pVtab
 	_ = nArg
-	if Xsqlite3_stricmp(tls, zName, ts+27622) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27669) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyOverlapFunc}))
 		*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
 		return SQLITE_INDEX_CONSTRAINT_FUNCTION
 	}
-	if Xsqlite3_stricmp(tls, zName, ts+27638) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27685) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyWithinFunc}))
@@ -126281,7 +126339,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 {
 			uintptr(0), aAgg[i].FxStep, aAgg[i].FxFinal)
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27653, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27700, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
 	}
 	return rc
 }
@@ -126293,25 +126351,25 @@ var aFunc = [12]struct {
 	F__ccgo_pad1 [6]byte
 	FzName       uintptr
 }{
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27661},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27674},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27687},
-	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27700},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27638},
-	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27712},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27622},
-	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27735},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27749},
-	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27762},
-	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27776},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27792},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27708},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27721},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27734},
+	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27747},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27685},
+	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27759},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27669},
+	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27782},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27796},
+	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27809},
+	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27823},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27839},
 }
 var aAgg = [1]struct {
 	FxStep  uintptr
 	FxFinal uintptr
 	FzName  uintptr
 }{
-	{FxStep: 0, FxFinal: 0, FzName: ts + 27804},
+	{FxStep: 0, FxFinal: 0, FzName: ts + 27851},
 }
 
 // Register the r-tree module with database handle db. This creates the
@@ -126321,26 +126379,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 {
 	var utf8 int32 = SQLITE_UTF8
 	var rc int32
 
-	rc = Xsqlite3_create_function(tls, db, ts+27823, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	rc = Xsqlite3_create_function(tls, db, ts+27870, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr)
 	}{rtreenode})), uintptr(0), uintptr(0))
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27833, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27880, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreedepth})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27844, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27891, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreecheck})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_REAL32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27567, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27614, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_INT32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27855, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27902, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		rc = sqlite3_geopoly_init(tls, db)
@@ -126394,7 +126452,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
 			Xsqlite3_result_error_nomem(tls, ctx)
 			rtreeMatchArgFree(tls, pBlob)
 		} else {
-			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25143, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
+			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25190, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
 		}
 	}
 }
@@ -126721,7 +126779,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 
 	nOut = rbuDeltaOutputSize(tls, aDelta, nDelta)
 	if nOut < 0 {
-		Xsqlite3_result_error(tls, context, ts+27865, -1)
+		Xsqlite3_result_error(tls, context, ts+27912, -1)
 		return
 	}
 
@@ -126732,7 +126790,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 		nOut2 = rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut)
 		if nOut2 != nOut {
 			Xsqlite3_free(tls, aOut)
-			Xsqlite3_result_error(tls, context, ts+27865, -1)
+			Xsqlite3_result_error(tls, context, ts+27912, -1)
 		} else {
 			Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		}
@@ -126833,7 +126891,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuObjIterClearStatements(tls, pIter)
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) {
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+27886, uintptr(0), uintptr(0), p+64)
+				ts+27933, uintptr(0), uintptr(0), p+64)
 		}
 
 		if rc == SQLITE_OK {
@@ -126897,7 +126955,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) {
 				Xsqlite3_result_text(tls, pCtx, zIn, -1, uintptr(0))
 			}
 		} else {
-			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25056, zIn, uint64(4)) == 0 {
+			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25103, zIn, uint64(4)) == 0 {
 				var i int32
 				for i = 4; int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) >= '0' && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) <= '9'; i++ {
 				}
@@ -126918,16 +126976,16 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 
 	rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28057, libc.VaList(bp, func() uintptr {
+			ts+28104, libc.VaList(bp, func() uintptr {
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					return ts + 28207
+					return ts + 28254
 				}
 				return ts + 1554
 			}())))
 
 	if rc == SQLITE_OK {
 		rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64,
-			ts+28248)
+			ts+28295)
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1
@@ -127043,7 +127101,7 @@ func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28373, libc.VaList(bp, zTab)))
+			ts+28420, libc.VaList(bp, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) != SQLITE_ROW) {
 		goto __1
 	}
@@ -127061,7 +127119,7 @@ __2:
 	*(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), 1)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+1*8, p+64,
-		Xsqlite3_mprintf(tls, ts+28492, libc.VaList(bp+8, zTab)))
+		Xsqlite3_mprintf(tls, ts+28539, libc.VaList(bp+8, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) {
 		goto __3
 	}
@@ -127079,7 +127137,7 @@ __4:
 	}
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+2*8, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28513, libc.VaList(bp+16, zIdx)))
+			ts+28560, libc.VaList(bp+16, zIdx)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __7
 	}
@@ -127102,7 +127160,7 @@ __6:
 __5:
 	;
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+3*8, p+64,
-		Xsqlite3_mprintf(tls, ts+28564, libc.VaList(bp+24, zTab)))
+		Xsqlite3_mprintf(tls, ts+28611, libc.VaList(bp+24, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __10
 	}
@@ -127148,7 +127206,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		libc.Xmemcpy(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+16, p+64,
-			Xsqlite3_mprintf(tls, ts+28585, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28632, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0
@@ -127163,7 +127221,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 			libc.Xmemset(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0x01, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		}
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp+8, zIdx)))
+			Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp+8, zIdx)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
 			var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 1)
 			if iCid >= 0 {
@@ -127203,7 +127261,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+56, pIter+108)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19489, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19536, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
 			return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc
@@ -127213,18 +127271,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		}
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+64, p+64,
-			Xsqlite3_mprintf(tls, ts+28642, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
+			Xsqlite3_mprintf(tls, ts+28689, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 			rbuAllocateIterArrays(tls, p, pIter, nCol)
 		}
 		for i = 0; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && i < nCol; i++ {
 			var zName uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), i)
-			if Xsqlite3_strnicmp(tls, ts+28661, zName, 4) != 0 {
+			if Xsqlite3_strnicmp(tls, ts+28708, zName, 4) != 0 {
 				var zCopy uintptr = rbuStrndup(tls, zName, p+56)
 				*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol
 				*(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(libc.PostIncInt32(&(*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol, 1))*8)) = zCopy
-			} else if 0 == Xsqlite3_stricmp(tls, ts+28666, zName) {
+			} else if 0 == Xsqlite3_stricmp(tls, ts+28713, zName) {
 				bRbuRowid = 1
 			}
 		}
@@ -127236,18 +127294,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			bRbuRowid != libc.Bool32((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls,
-				ts+28676, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
+				ts+28723, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 					func() uintptr {
 						if bRbuRowid != 0 {
-							return ts + 28705
+							return ts + 28752
 						}
-						return ts + 28718
+						return ts + 28765
 					}()))
 		}
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-				Xsqlite3_mprintf(tls, ts+28727, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				Xsqlite3_mprintf(tls, ts+28774, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		}
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64))) {
 			var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 1)
@@ -127261,7 +127319,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			}
 			if i == (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28749,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28796,
 					libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName))
 			} else {
 				var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 5)
@@ -127308,7 +127366,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var i int32
 	for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 		var z uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-		zList = rbuMPrintf(tls, p, ts+28776, libc.VaList(bp, zList, zSep, z))
+		zList = rbuMPrintf(tls, p, ts+28823, libc.VaList(bp, zList, zSep, z))
 		zSep = ts + 14614
 	}
 	return zList
@@ -127326,7 +127384,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr,
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if int32(*(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zRet = rbuMPrintf(tls, p, ts+28785, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
+				zRet = rbuMPrintf(tls, p, ts+28832, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
 				zSep = zSeparator
 				break
 			}
@@ -127348,25 +127406,25 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32,
 	if bRowid != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+28798, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				ts+28845, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 			var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-			zRet = rbuMPrintf(tls, p, ts+28830, libc.VaList(bp+16, iMax))
+			zRet = rbuMPrintf(tls, p, ts+28877, libc.VaList(bp+16, iMax))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 	} else {
-		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+28853)
-		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28859, ts+28866, ts+4957)
+		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+28900)
+		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28906, ts+28913, ts+4957)
 		var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+1554)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 				Xsqlite3_mprintf(tls,
-					ts+28874,
+					ts+28921,
 					libc.VaList(bp+24, zSelect, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 				var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-				zRet = rbuMPrintf(tls, p, ts+28916, libc.VaList(bp+56, zList, zVal))
+				zRet = rbuMPrintf(tls, p, ts+28963, libc.VaList(bp+56, zList, zVal))
 			}
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 		}
@@ -127408,7 +127466,7 @@ func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	*(*uintptr)(unsafe.Pointer(bp + 176)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-		Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+		Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 __1:
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176)))) {
 		goto __2
@@ -127443,7 +127501,7 @@ __10:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 	goto __7
 __6:
-	zCol = ts + 28936
+	zCol = ts + 28983
 __7:
 	;
 	goto __5
@@ -127451,11 +127509,11 @@ __4:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 __5:
 	;
-	zLhs = rbuMPrintf(tls, p, ts+28944,
+	zLhs = rbuMPrintf(tls, p, ts+28991,
 		libc.VaList(bp+8, zLhs, zSep, zCol, zCollate))
-	zOrder = rbuMPrintf(tls, p, ts+28965,
+	zOrder = rbuMPrintf(tls, p, ts+29012,
 		libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate))
-	zSelect = rbuMPrintf(tls, p, ts+29001,
+	zSelect = rbuMPrintf(tls, p, ts+29048,
 		libc.VaList(bp+80, zSelect, zSep, iCol, zCol))
 	zSep = ts + 14614
 	iCol++
@@ -127475,7 +127533,7 @@ __11:
 	*(*uintptr)(unsafe.Pointer(bp + 184)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+184, p+64,
-		Xsqlite3_mprintf(tls, ts+29028,
+		Xsqlite3_mprintf(tls, ts+29075,
 			libc.VaList(bp+112, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 184)))) {
 		goto __13
@@ -127502,7 +127560,7 @@ __19:
 	;
 __18:
 	;
-	zVector = rbuMPrintf(tls, p, ts+29076, libc.VaList(bp+136, zVector, zSep, zQuoted))
+	zVector = rbuMPrintf(tls, p, ts+29123, libc.VaList(bp+136, zVector, zSep, zQuoted))
 	zSep = ts + 14614
 	goto __15
 __15:
@@ -127514,7 +127572,7 @@ __16:
 	if !!(bFailed != 0) {
 		goto __20
 	}
-	zRet = rbuMPrintf(tls, p, ts+29083, libc.VaList(bp+160, zLhs, zVector))
+	zRet = rbuMPrintf(tls, p, ts+29130, libc.VaList(bp+160, zLhs, zVector))
 __20:
 	;
 __13:
@@ -127547,7 +127605,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 	if rc == SQLITE_OK {
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200, p+64,
-			Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+			Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 	}
 
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200))) {
@@ -127559,7 +127617,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 		if iCid == -2 {
 			var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 0)
-			zRet = Xsqlite3_mprintf(tls, ts+29095, libc.VaList(bp+8, zRet, zCom,
+			zRet = Xsqlite3_mprintf(tls, ts+29142, libc.VaList(bp+8, zRet, zCom,
 				(*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FnSpan, (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FzSpan, zCollate))
 			zType = ts + 1554
 		} else {
@@ -127571,37 +127629,37 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 					zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 				} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					zCol = ts + 28936
+					zCol = ts + 28983
 				} else {
-					zCol = ts + 28666
+					zCol = ts + 28713
 				}
 				zType = ts + 1119
 			} else {
 				zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 				zType = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8))
 			}
-			zRet = Xsqlite3_mprintf(tls, ts+29117, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
+			zRet = Xsqlite3_mprintf(tls, ts+29164, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 5) != 0 {
 			var zOrder uintptr = func() uintptr {
 				if bDesc != 0 {
-					return ts + 28853
+					return ts + 28900
 				}
 				return ts + 1554
 			}()
-			zImpPK = Xsqlite3_mprintf(tls, ts+29137,
+			zImpPK = Xsqlite3_mprintf(tls, ts+29184,
 				libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder))
 		}
-		zImpCols = Xsqlite3_mprintf(tls, ts+29158,
+		zImpCols = Xsqlite3_mprintf(tls, ts+29205,
 			libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate))
 		zWhere = Xsqlite3_mprintf(tls,
-			ts+29191, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
+			ts+29238, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
 		if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) {
 			rc = SQLITE_NOMEM
 		}
 		zCom = ts + 14614
-		zAnd = ts + 21525
+		zAnd = ts + 21572
 		nBind++
 	}
 
@@ -127640,9 +127698,9 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = Xsqlite3_mprintf(tls, ts+29215, libc.VaList(bp, zList, zS, zObj, zCol))
+				zList = Xsqlite3_mprintf(tls, ts+29262, libc.VaList(bp, zList, zS, zObj, zCol))
 			} else {
-				zList = Xsqlite3_mprintf(tls, ts+29227, libc.VaList(bp+32, zList, zS))
+				zList = Xsqlite3_mprintf(tls, ts+29274, libc.VaList(bp+32, zList, zS))
 			}
 			zS = ts + 14614
 			if zList == uintptr(0) {
@@ -127652,7 +127710,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-			zList = rbuMPrintf(tls, p, ts+29236, libc.VaList(bp+48, zList, zObj))
+			zList = rbuMPrintf(tls, p, ts+29283, libc.VaList(bp+48, zList, zObj))
 		}
 	}
 	return zList
@@ -127664,18 +127722,18 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	var zList uintptr = uintptr(0)
 	if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-		zList = rbuMPrintf(tls, p, ts+29251, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
+		zList = rbuMPrintf(tls, p, ts+29298, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
 	} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
 		var zSep uintptr = ts + 1554
 		var i int32
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
-				zList = rbuMPrintf(tls, p, ts+29265, libc.VaList(bp+8, zList, zSep, i, i+1))
-				zSep = ts + 21525
+				zList = rbuMPrintf(tls, p, ts+29312, libc.VaList(bp+8, zList, zSep, i, i+1))
+				zSep = ts + 21572
 			}
 		}
 		zList = rbuMPrintf(tls, p,
-			ts+29277, libc.VaList(bp+40, zList))
+			ts+29324, libc.VaList(bp+40, zList))
 
 	} else {
 		var zSep uintptr = ts + 1554
@@ -127683,8 +127741,8 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = rbuMPrintf(tls, p, ts+29327, libc.VaList(bp+48, zList, zSep, zCol, i+1))
-				zSep = ts + 21525
+				zList = rbuMPrintf(tls, p, ts+29374, libc.VaList(bp+48, zList, zSep, zCol, i+1))
+				zSep = ts + 21572
 			}
 		}
 	}
@@ -127693,7 +127751,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 func rbuBadControlError(tls *libc.TLS, p uintptr) {
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29340, 0)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29387, 0)
 }
 
 func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr {
@@ -127711,15 +127769,15 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr
 			for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 				var c int8 = *(*int8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4)))))
 				if int32(c) == 'x' {
-					zList = rbuMPrintf(tls, p, ts+29327,
+					zList = rbuMPrintf(tls, p, ts+29374,
 						libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14614
 				} else if int32(c) == 'd' {
-					zList = rbuMPrintf(tls, p, ts+29366,
+					zList = rbuMPrintf(tls, p, ts+29413,
 						libc.VaList(bp+32, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14614
 				} else if int32(c) == 'f' {
-					zList = rbuMPrintf(tls, p, ts+29396,
+					zList = rbuMPrintf(tls, p, ts+29443,
 						libc.VaList(bp+72, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14614
 				}
@@ -127756,19 +127814,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var z uintptr = uintptr(0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		var zSep uintptr = ts + 29433
+		var zSep uintptr = ts + 29480
 		*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 		*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56, p+64,
-			Xsqlite3_mprintf(tls, ts+28585, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28632, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) {
 			var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 3)
 			if zOrig != 0 && libc.Xstrcmp(tls, zOrig, ts+16155) == 0 {
 				var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 1)
 				if zIdx != 0 {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-						Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp+8, zIdx)))
+						Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp+8, zIdx)))
 				}
 				break
 			}
@@ -127780,15 +127838,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 				var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 2)
 				var zDesc uintptr
 				if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 3) != 0 {
-					zDesc = ts + 28853
+					zDesc = ts + 28900
 				} else {
 					zDesc = ts + 1554
 				}
-				z = rbuMPrintf(tls, p, ts+29446, libc.VaList(bp+16, z, zSep, zCol, zDesc))
+				z = rbuMPrintf(tls, p, ts+29493, libc.VaList(bp+16, z, zSep, zCol, zDesc))
 				zSep = ts + 14614
 			}
 		}
-		z = rbuMPrintf(tls, p, ts+29457, libc.VaList(bp+48, z))
+		z = rbuMPrintf(tls, p, ts+29504, libc.VaList(bp+48, z))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
 	return z
@@ -127808,7 +127866,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		var zPk uintptr = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168, p+64,
-			ts+29461)
+			ts+29508)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168)), 1, tnum)
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168))) {
@@ -127817,7 +127875,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		}
 		if zIdx != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-				Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp, zIdx)))
+				Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp, zIdx)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168)))
 
@@ -127827,23 +127885,23 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 				var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 1)
 				var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 3)
 				var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 4)
-				zCols = rbuMPrintf(tls, p, ts+29511, libc.VaList(bp+8, zCols, zComma,
+				zCols = rbuMPrintf(tls, p, ts+29558, libc.VaList(bp+8, zCols, zComma,
 					iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate))
-				zPk = rbuMPrintf(tls, p, ts+29533, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
+				zPk = rbuMPrintf(tls, p, ts+29580, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
 					if bDesc != 0 {
-						return ts + 28853
+						return ts + 28900
 					}
 					return ts + 1554
 				}()))
 				zComma = ts + 14614
 			}
 		}
-		zCols = rbuMPrintf(tls, p, ts+29543, libc.VaList(bp+80, zCols))
+		zCols = rbuMPrintf(tls, p, ts+29590, libc.VaList(bp+80, zCols))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176)))
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 1, tnum))
 		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+29558,
+			ts+29605,
 			libc.VaList(bp+120, zCols, zPk))
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 0, 0))
 	}
@@ -127869,13 +127927,13 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192, uintptr(0), uintptr(0), uintptr(0))
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 {
-				zPk = ts + 29620
+				zPk = ts + 29667
 			}
-			zSql = rbuMPrintf(tls, p, ts+29633,
+			zSql = rbuMPrintf(tls, p, ts+29680,
 				libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192)),
 					func() uintptr {
 						if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 {
-							return ts + 29660
+							return ts + 29707
 						}
 						return ts + 1554
 					}()))
@@ -127885,16 +127943,16 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
 			var zPk uintptr = rbuWithoutRowidPK(tls, p, pIter)
 			if zPk != 0 {
-				zSql = rbuMPrintf(tls, p, ts+29670, libc.VaList(bp+88, zSql, zPk))
+				zSql = rbuMPrintf(tls, p, ts+29717, libc.VaList(bp+88, zSql, zPk))
 			}
 		}
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 1, tnum))
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29677,
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29724,
 			libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql,
 				func() uintptr {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
-						return ts + 29709
+						return ts + 29756
 					}
 					return ts + 1554
 				}()))
@@ -127911,7 +127969,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis
 	if zBind != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls,
-				ts+29724,
+				ts+29771,
 				libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind)))
 	}
 }
@@ -127948,7 +128006,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(bp + 8)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64,
-			ts+29781)
+			ts+29828)
 	}
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		var rc2 int32
@@ -128053,7 +128111,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 		var zLimit uintptr = uintptr(0)
 
 		if nOffset != 0 {
-			zLimit = Xsqlite3_mprintf(tls, ts+29847, libc.VaList(bp, nOffset))
+			zLimit = Xsqlite3_mprintf(tls, ts+29894, libc.VaList(bp, nOffset))
 			if !(zLimit != 0) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
 			}
@@ -128076,7 +128134,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 0, 1))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 1, tnum))
 			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+29867,
+				ts+29914,
 				libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600)), *(*uintptr)(unsafe.Pointer(bp + 608))))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 0, 0))
 
@@ -128084,13 +128142,13 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64,
-					Xsqlite3_mprintf(tls, ts+29932, libc.VaList(bp+128, zTbl, zBind)))
+					Xsqlite3_mprintf(tls, ts+29979, libc.VaList(bp+128, zTbl, zBind)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64,
-					Xsqlite3_mprintf(tls, ts+29968, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
+					Xsqlite3_mprintf(tls, ts+30015, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
 			}
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -128106,7 +128164,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					}
 
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30002,
+						ts+30049,
 						libc.VaList(bp+160, zCollist,
 							(*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
@@ -128114,9 +128172,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								if zStart != 0 {
 									return func() uintptr {
 										if zPart != 0 {
-											return ts + 30063
+											return ts + 30110
 										}
-										return ts + 30067
+										return ts + 30114
 									}()
 								}
 								return ts + 1554
@@ -128125,20 +128183,20 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					Xsqlite3_free(tls, zStart)
 				} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30073,
+						ts+30120,
 						libc.VaList(bp+216, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart, zCollist, zLimit))
 				} else {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30134,
+						ts+30181,
 						libc.VaList(bp+264, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart,
 							zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
 							func() uintptr {
 								if zPart != 0 {
-									return ts + 30063
+									return ts + 30110
 								}
-								return ts + 30067
+								return ts + 30114
 							}(),
 							zCollist, zLimit))
 				}
@@ -128175,16 +128233,16 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB {
 					return ts + 1554
 				}
-				return ts + 30293
+				return ts + 30340
 			}()
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30302,
+						ts+30349,
 						libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr {
 							if bRbuRowid != 0 {
-								return ts + 30338
+								return ts + 30385
 							}
 							return ts + 1554
 						}(), zBindings)))
@@ -128193,32 +128251,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30348, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
+						ts+30395, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 				var zRbuRowid uintptr = ts + 1554
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-					zRbuRowid = ts + 30376
+					zRbuRowid = ts + 30423
 				}
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-					ts+30388, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
+					ts+30435, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
 						if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
-							return ts + 30464
+							return ts + 30511
 						}
 						return ts + 1554
 					}(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-					ts+30481,
+					ts+30528,
 					libc.VaList(bp+440, zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zNewlist))
 
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-						ts+30780,
+						ts+30827,
 						libc.VaList(bp+512, zWrite, zTbl, zNewlist))
 				}
 
@@ -128231,9 +128289,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				var zOrder uintptr = uintptr(0)
 				if bRbuRowid != 0 {
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-						zRbuRowid = ts + 30879
+						zRbuRowid = ts + 30926
 					} else {
-						zRbuRowid = ts + 30889
+						zRbuRowid = ts + 30936
 					}
 				}
 
@@ -128246,7 +128304,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 						}
 					}
 					if bRbuRowid != 0 {
-						zOrder = rbuMPrintf(tls, p, ts+28936, 0)
+						zOrder = rbuMPrintf(tls, p, ts+28983, 0)
 					} else {
 						zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+1554)
 					}
@@ -128255,11 +128313,11 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz,
 						Xsqlite3_mprintf(tls,
-							ts+30900,
+							ts+30947,
 							libc.VaList(bp+536, zCollist,
 								func() uintptr {
 									if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-										return ts + 30948
+										return ts + 30995
 									}
 									return ts + 1554
 								}(),
@@ -128272,7 +128330,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								}(),
 								func() uintptr {
 									if zOrder != 0 {
-										return ts + 22859
+										return ts + 22906
 									}
 									return ts + 1554
 								}(), zOrder,
@@ -128340,9 +128398,9 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp
 			var zPrefix uintptr = ts + 1554
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB {
-				zPrefix = ts + 30293
+				zPrefix = ts + 30340
 			}
-			zUpdate = Xsqlite3_mprintf(tls, ts+30954,
+			zUpdate = Xsqlite3_mprintf(tls, ts+31001,
 				libc.VaList(bp, zPrefix, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere))
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate)
@@ -128401,7 +128459,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr {
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 16)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8, p+64,
-		Xsqlite3_mprintf(tls, ts+30984, libc.VaList(bp, p+48)))
+		Xsqlite3_mprintf(tls, ts+31031, libc.VaList(bp, p+48)))
 	for *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 		switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0) {
 		case RBU_STATE_STAGE:
@@ -128474,18 +128532,18 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441, SQLITE_FCNTL_RBUCNT, p)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) {
 			var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441)
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31014, libc.VaList(bp, zFile, zFile))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31061, libc.VaList(bp, zFile, zFile))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 {
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31042, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31089, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
 		libc.Xmemcpy(tls, p+48, ts+3286, uint64(4))
 	} else {
 		libc.Xmemcpy(tls, p+48, ts+6441, uint64(4))
 	}
 
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31060, libc.VaList(bp+24, p+48))
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31107, libc.VaList(bp+24, p+48))
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		var bOpen int32 = 0
@@ -128525,11 +128583,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				return
 			}
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31126, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31173, 0)
 		} else {
 			var zTarget uintptr
 			var zExtra uintptr = uintptr(0)
-			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24206, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
+			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24253, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
 				zExtra = (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5
 				for *(*int8)(unsafe.Pointer(zExtra)) != 0 {
 					if int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zExtra, 1)))) == '?' {
@@ -128541,13 +128599,13 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				}
 			}
 
-			zTarget = Xsqlite3_mprintf(tls, ts+31158,
+			zTarget = Xsqlite3_mprintf(tls, ts+31205,
 				libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441),
 					func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1554
 						}
-						return ts + 31190
+						return ts + 31237
 					}(), func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1554
@@ -128566,21 +128624,21 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31192, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31239, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTmpInsertFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31207, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31254, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuFossilDeltaFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+31224, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31271, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTargetNameFunc})), uintptr(0), uintptr(0))
 	}
@@ -128588,7 +128646,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, SQLITE_FCNTL_RBU, p)
 	}
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31240, 0)
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31287, 0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, SQLITE_FCNTL_RBU, p)
@@ -128596,7 +128654,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31268, 0)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31315, 0)
 	}
 }
 
@@ -128625,14 +128683,14 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
 	if pState == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = 0
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31240, uintptr(0), uintptr(0), uintptr(0))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31287, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var rc2 int32
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CAPTURE
-		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31286, uintptr(0), uintptr(0), uintptr(0))
+		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31333, uintptr(0), uintptr(0), uintptr(0))
 		if rc2 != SQLITE_NOTICE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 		}
@@ -128758,7 +128816,7 @@ func rbuLockDatabase(tls *libc.TLS, db uintptr) int32 {
 
 func rbuExclusiveCheckpoint(tls *libc.TLS, db uintptr) int32 {
 	var zUri uintptr = Xsqlite3_db_filename(tls, db, uintptr(0))
-	return Xsqlite3_uri_boolean(tls, zUri, ts+31321, 0)
+	return Xsqlite3_uri_boolean(tls, zUri, ts+31368, 0)
 }
 
 func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
@@ -128773,8 +128831,8 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441)
 	}
-	zOal = Xsqlite3_mprintf(tls, ts+31346, libc.VaList(bp, zMove))
-	zWal = Xsqlite3_mprintf(tls, ts+31353, libc.VaList(bp+8, zMove))
+	zOal = Xsqlite3_mprintf(tls, ts+31393, libc.VaList(bp, zMove))
+	zWal = Xsqlite3_mprintf(tls, ts+31400, libc.VaList(bp+8, zMove))
 
 	if zWal == uintptr(0) || zOal == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
@@ -128891,7 +128949,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) {
 			(*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 &&
 			Xsqlite3_column_type(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect, i) == SQLITE_NULL {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_MISMATCH
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23844, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23891, 0)
 			return
 		}
 
@@ -128984,7 +129042,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 		var iCookie int32 = 1000000
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8, p+64,
-			ts+31360)
+			ts+31407)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 				iCookie = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0)
@@ -128992,7 +129050,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8)))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31382, libc.VaList(bp, iCookie+1))
+			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31429, libc.VaList(bp, iCookie+1))
 		}
 	}
 }
@@ -129013,7 +129071,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) {
 
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+31409,
+				ts+31456,
 				libc.VaList(bp, p+48,
 					RBU_STATE_STAGE, eStage,
 					RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl,
@@ -129043,9 +129101,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+31567, libc.VaList(bp, zPragma)))
+			Xsqlite3_mprintf(tls, ts+31614, libc.VaList(bp, zPragma)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31582,
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31629,
 				libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 0)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -129059,10 +129117,10 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 
-	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31602, uintptr(0), uintptr(0), p+64)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31649, uintptr(0), uintptr(0), p+64)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+31627)
+			ts+31674)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -129076,12 +129134,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+31735)
+			ts+31782)
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64,
-			ts+31800)
+			ts+31847)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -129093,7 +129151,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
 	}
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31844, uintptr(0), uintptr(0), p+64)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31891, uintptr(0), uintptr(0), p+64)
 	}
 
 	rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp)))
@@ -129121,7 +129179,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 {
 						if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 							rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-								ts+31869, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
+								ts+31916, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 						}
 					} else {
 						rbuObjIterPrepareAll(tls, p, pIter, 0)
@@ -129243,7 +129301,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) {
 
 		if rc == SQLITE_OK && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) {
 			rc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31897, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31944, 0)
 		}
 
 		if rc == SQLITE_OK {
@@ -129259,7 +129317,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	var zOal uintptr = rbuMPrintf(tls, p, ts+31346, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
+	var zOal uintptr = rbuMPrintf(tls, p, ts+31393, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
 	if zOal != 0 {
 		*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, SQLITE_FCNTL_VFS_POINTER, bp+8)
@@ -129276,7 +129334,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) {
 	defer tls.Free(76)
 
 	Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8)
-	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+31922, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
+	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+31969, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12, uintptr(0))
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12)
@@ -129310,7 +129368,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) {
 
 	rc = prepareFreeAndCollectError(tls, db, bp+8, bp+16,
 		Xsqlite3_mprintf(tls,
-			ts+31933, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
+			ts+31980, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
 	if rc != SQLITE_OK {
 		Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 16)), -1)
 	} else {
@@ -129340,13 +129398,13 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+32005, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+32052, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuIndexCntFunc})), uintptr(0), uintptr(0))
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32019)
+				ts+32066)
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
@@ -129357,7 +129415,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && bExists != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32076)
+				ts+32123)
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
@@ -129431,7 +129489,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd != 0 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32150, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32197, 0)
 			} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_MOVE {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CKPT
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FnStep = 0
@@ -129449,12 +129507,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 			}()
 			if (*Rbu_file)(unsafe.Pointer(pFd)).FiCookie != (*RbuState)(unsafe.Pointer(pState)).FiCookie {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32182,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32229,
 					libc.VaList(bp+8, func() uintptr {
 						if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-							return ts + 32214
+							return ts + 32261
 						}
-						return ts + 32221
+						return ts + 32268
 					}()))
 			}
 		}
@@ -129478,14 +129536,14 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32228, uintptr(0), uintptr(0), p+64)
+						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32275, uintptr(0), uintptr(0), p+64)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 						var frc int32 = Xsqlite3_file_control(tls, db, ts+6441, SQLITE_FCNTL_ZIPVFS, uintptr(0))
 						if frc == SQLITE_OK {
 							(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls,
-								db, ts+32244, uintptr(0), uintptr(0), p+64)
+								db, ts+32291, uintptr(0), uintptr(0), p+64)
 						}
 					}
 
@@ -129539,7 +129597,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr
 	}
 	if zState != 0 {
 		var n int32 = int32(libc.Xstrlen(tls, zState))
-		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32268, zState+uintptr(n-7), uint64(7)) {
+		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32315, zState+uintptr(n-7), uint64(7)) {
 			return rbuMisuseError(tls)
 		}
 	}
@@ -129566,7 +129624,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) {
 		var i uint32
 		var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg)
 		for i = uint32(0); Size_t(i) < nErrmsg-uint64(8); i++ {
-			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30293, uint64(8)) == 0 {
+			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30340, uint64(8)) == 0 {
 				var nDel int32 = 8
 				for int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= '0' && int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= '9' {
 					nDel++
@@ -129602,7 +129660,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 {
 		rbuObjIterFinalize(tls, p+80)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 {
-			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32276, uintptr(0), uintptr(0), uintptr(0))
+			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32323, uintptr(0), uintptr(0), uintptr(0))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE && rc2 != SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 			}
@@ -129721,12 +129779,12 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 				zBegin = ts + 14503
 			} else {
-				zBegin = ts + 32228
+				zBegin = ts + 32275
 			}
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32228, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32275, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -130072,7 +130130,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 			})(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16)
 			if rc == SQLITE_OK {
 				rc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32303, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32350, 0)
 			} else if rc == SQLITE_NOTFOUND {
 				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p
 				(*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu
@@ -130097,7 +130155,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 	if rc == SQLITE_OK && op == SQLITE_FCNTL_VFSNAME {
 		var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs
 		var zIn uintptr = *(*uintptr)(unsafe.Pointer(pArg))
-		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32326, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
+		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32373, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
 		*(*uintptr)(unsafe.Pointer(pArg)) = zOut
 		if zOut == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -130257,7 +130315,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags
 	}
 
 	if oflags&SQLITE_OPEN_MAIN_DB != 0 &&
-		Xsqlite3_uri_boolean(tls, zName, ts+32337, 0) != 0 {
+		Xsqlite3_uri_boolean(tls, zName, ts+32384, 0) != 0 {
 		oflags = SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE
 		zOpen = uintptr(0)
 	}
@@ -131086,7 +131144,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 		rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0))
 		if rc == SQLITE_OK {
 			zPragma = Xsqlite3_mprintf(tls,
-				ts+32348, 0)
+				ts+32395, 0)
 		} else if rc == SQLITE_ERROR {
 			zPragma = Xsqlite3_mprintf(tls, ts+1554, 0)
 		} else {
@@ -131099,7 +131157,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 			return rc
 		}
 	} else {
-		zPragma = Xsqlite3_mprintf(tls, ts+32469, libc.VaList(bp, zDb, zThis))
+		zPragma = Xsqlite3_mprintf(tls, ts+32516, libc.VaList(bp, zDb, zThis))
 	}
 	if !(zPragma != 0) {
 		*(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0)
@@ -131779,9 +131837,9 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr,
 
 	for i = 0; i < nCol; i++ {
 		if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
-			zRet = Xsqlite3_mprintf(tls, ts+32498,
+			zRet = Xsqlite3_mprintf(tls, ts+32545,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 21525
+			zSep = ts + 21572
 			if zRet == uintptr(0) {
 				break
 			}
@@ -131804,9 +131862,9 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 		if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 {
 			bHave = 1
 			zRet = Xsqlite3_mprintf(tls,
-				ts+32532,
+				ts+32579,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 32573
+			zSep = ts + 32620
 			if zRet == uintptr(0) {
 				break
 			}
@@ -131814,7 +131872,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 	}
 
 	if bHave == 0 {
-		zRet = Xsqlite3_mprintf(tls, ts+7530, 0)
+		zRet = Xsqlite3_mprintf(tls, ts+7519, 0)
 	}
 
 	return zRet
@@ -131825,7 +131883,7 @@ func sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, zTbl uintpt
 	defer tls.Free(40)
 
 	var zRet uintptr = Xsqlite3_mprintf(tls,
-		ts+32578,
+		ts+32625,
 		libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr))
 	return zRet
 }
@@ -131868,7 +131926,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro
 		rc = SQLITE_NOMEM
 	} else {
 		var zStmt uintptr = Xsqlite3_mprintf(tls,
-			ts+32656,
+			ts+32703,
 			libc.VaList(bp, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2))
 		if zStmt == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -131995,7 +132053,7 @@ __6:
 	if !(pzErrMsg != 0) {
 		goto __16
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32709, 0)
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32756, 0)
 __16:
 	;
 	rc = SQLITE_SCHEMA
@@ -132471,7 +132529,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 
 	if 0 == Xsqlite3_stricmp(tls, ts+11348, zTab) {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+32736, libc.VaList(bp, zDb))
+			ts+32783, libc.VaList(bp, zDb))
 		if zSql == uintptr(0) {
 			*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_NOMEM
 		}
@@ -132480,18 +132538,18 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 		var zSep uintptr = ts + 1554
 		*(*SessionBuffer)(unsafe.Pointer(bp + 8)) = SessionBuffer{}
 
-		sessionAppendStr(tls, bp+8, ts+32846, bp+24)
+		sessionAppendStr(tls, bp+8, ts+32893, bp+24)
 		sessionAppendIdent(tls, bp+8, zDb, bp+24)
 		sessionAppendStr(tls, bp+8, ts+1567, bp+24)
 		sessionAppendIdent(tls, bp+8, zTab, bp+24)
-		sessionAppendStr(tls, bp+8, ts+32861, bp+24)
+		sessionAppendStr(tls, bp+8, ts+32908, bp+24)
 		for i = 0; i < nCol; i++ {
 			if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
 				sessionAppendStr(tls, bp+8, zSep, bp+24)
 				sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+24)
-				sessionAppendStr(tls, bp+8, ts+32869, bp+24)
+				sessionAppendStr(tls, bp+8, ts+32916, bp+24)
 				sessionAppendInteger(tls, bp+8, i+1, bp+24)
-				zSep = ts + 21525
+				zSep = ts + 21572
 			}
 		}
 		zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8)).FaBuf
@@ -132600,7 +132658,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 {
 		return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc
 	}
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32875, uintptr(0), uintptr(0), uintptr(0))
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32922, uintptr(0), uintptr(0), uintptr(0))
 	if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
@@ -132692,7 +132750,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	}
 
 	Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24)).FaBuf)
-	Xsqlite3_exec(tls, db, ts+32895, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+32942, uintptr(0), uintptr(0), uintptr(0))
 	Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db))
 	return *(*int32)(unsafe.Pointer(bp + 40))
 }
@@ -132955,7 +133013,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 		rc = sessionInputBuffer(tls, pIn, 9)
 		if rc == SQLITE_OK {
 			if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData {
-				rc = Xsqlite3CorruptError(tls, 219078)
+				rc = Xsqlite3CorruptError(tls, 219169)
 			} else {
 				eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1)))))
 
@@ -132978,7 +133036,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 				rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
 				if rc == SQLITE_OK {
 					if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext {
-						rc = Xsqlite3CorruptError(tls, 219098)
+						rc = Xsqlite3CorruptError(tls, 219189)
 					} else {
 						var enc U8 = func() uint8 {
 							if eType == SQLITE_TEXT {
@@ -133020,7 +133078,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in
 		nRead = nRead + sessionVarintGet(tls, (*SessionInput)(unsafe.Pointer(pIn)).FaData+uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext+nRead), bp)
 
 		if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > 65536 {
-			rc = Xsqlite3CorruptError(tls, 219152)
+			rc = Xsqlite3CorruptError(tls, 219243)
 		} else {
 			rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100)
 			nRead = nRead + *(*int32)(unsafe.Pointer(bp))
@@ -133081,7 +133139,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 {
 			(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
 			sessionBufferGrow(tls, p+72, int64(nByte), bp+4)
 		} else {
-			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219240)
+			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219331)
 		}
 	}
 
@@ -133155,13 +133213,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 	}
 
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219326))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219417))
 	}
 
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op)
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))))
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219332))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219423))
 	}
 
 	if paRec != 0 {
@@ -133223,7 +133281,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 				if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8))
 					if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) {
-						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219376))
+						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219467))
 					}
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0)
 				}
@@ -133596,7 +133654,7 @@ __27:
 	goto __6
 
 __11:
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219741)
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219832)
 	goto finished_invert
 __6:
 	;
@@ -133775,34 +133833,34 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32,
 				(*SessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24
 				libc.Xmemcpy(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(unsafe.Sizeof(U32(0))))
 
-				sessionAppendStr(tls, bp, ts+32913, bp+16)
+				sessionAppendStr(tls, bp, ts+32960, bp+16)
 				sessionAppendIdent(tls, bp, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+16)
-				sessionAppendStr(tls, bp, ts+32926, bp+16)
+				sessionAppendStr(tls, bp, ts+32973, bp+16)
 
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-						sessionAppendStr(tls, bp, ts+32932, bp+16)
+						sessionAppendStr(tls, bp, ts+32979, bp+16)
 						sessionAppendInteger(tls, bp, ii*2+1, bp+16)
 						zSep = ts + 14614
 					}
 				}
 
 				zSep = ts + 1554
-				sessionAppendStr(tls, bp, ts+32861, bp+16)
+				sessionAppendStr(tls, bp, ts+32908, bp+16)
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						if bStat1 != 0 && ii == 1 {
 							sessionAppendStr(tls, bp,
-								ts+32937, bp+16)
+								ts+32984, bp+16)
 						} else {
 							sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-							sessionAppendStr(tls, bp, ts+32869, bp+16)
+							sessionAppendStr(tls, bp, ts+32916, bp+16)
 							sessionAppendInteger(tls, bp, ii*2+2, bp+16)
 						}
-						zSep = ts + 21525
+						zSep = ts + 21572
 					}
 				}
 
@@ -133854,34 +133912,34 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 	var nPk int32 = 0
 
-	sessionAppendStr(tls, bp, ts+33012, bp+16)
+	sessionAppendStr(tls, bp, ts+33059, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+32861, bp+16)
+	sessionAppendStr(tls, bp, ts+32908, bp+16)
 
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 			nPk++
 			sessionAppendStr(tls, bp, zSep, bp+16)
 			sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-			sessionAppendStr(tls, bp, ts+32932, bp+16)
+			sessionAppendStr(tls, bp, ts+32979, bp+16)
 			sessionAppendInteger(tls, bp, i+1, bp+16)
-			zSep = ts + 21525
+			zSep = ts + 21572
 		}
 	}
 
 	if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol {
-		sessionAppendStr(tls, bp, ts+33030, bp+16)
+		sessionAppendStr(tls, bp, ts+33077, bp+16)
 		sessionAppendInteger(tls, bp, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol+1, bp+16)
-		sessionAppendStr(tls, bp, ts+32573, bp+16)
+		sessionAppendStr(tls, bp, ts+32620, bp+16)
 
 		zSep = ts + 1554
 		for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 			if !(int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i)))) != 0) {
 				sessionAppendStr(tls, bp, zSep, bp+16)
 				sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-				sessionAppendStr(tls, bp, ts+32869, bp+16)
+				sessionAppendStr(tls, bp, ts+32916, bp+16)
 				sessionAppendInteger(tls, bp, i+1, bp+16)
-				zSep = ts + 33038
+				zSep = ts + 33085
 			}
 		}
 		sessionAppendStr(tls, bp, ts+4957, bp+16)
@@ -133908,9 +133966,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	var i int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 
-	sessionAppendStr(tls, bp, ts+33043, bp+16)
+	sessionAppendStr(tls, bp, ts+33090, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+21531, bp+16)
+	sessionAppendStr(tls, bp, ts+21578, bp+16)
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if i != 0 {
 			sessionAppendStr(tls, bp, ts+14614, bp+16)
@@ -133918,9 +133976,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 		sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
 	}
 
-	sessionAppendStr(tls, bp, ts+33061, bp+16)
+	sessionAppendStr(tls, bp, ts+33108, bp+16)
 	for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
-		sessionAppendStr(tls, bp, ts+33072, bp+16)
+		sessionAppendStr(tls, bp, ts+33119, bp+16)
 	}
 	sessionAppendStr(tls, bp, ts+4957, bp+16)
 
@@ -133939,11 +133997,11 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 {
 	var rc int32 = sessionSelectRow(tls, db, ts+11348, p)
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+16,
-			ts+33076)
+			ts+33123)
 	}
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+8,
-			ts+33189)
+			ts+33236)
 	}
 	return rc
 }
@@ -133971,7 +134029,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab
 				f func(*libc.TLS, uintptr, int32, uintptr) int32
 			})(unsafe.Pointer(&struct{ uintptr }{xValue})).f(tls, pIter, i, bp)
 			if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
-				rc = Xsqlite3CorruptError(tls, 220219)
+				rc = Xsqlite3CorruptError(tls, 220310)
 			} else {
 				rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp)))
 			}
@@ -134224,7 +134282,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 		if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
 			rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 		} else if *(*int32)(unsafe.Pointer(bp)) != 0 {
-			rc = Xsqlite3_exec(tls, db, ts+33333, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33380, uintptr(0), uintptr(0), uintptr(0))
 			if rc == SQLITE_OK {
 				rc = sessionBindRow(tls, pIter,
 					*(*uintptr)(unsafe.Pointer(&struct {
@@ -134240,7 +134298,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 				rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 			}
 			if rc == SQLITE_OK {
-				rc = Xsqlite3_exec(tls, db, ts+33354, uintptr(0), uintptr(0), uintptr(0))
+				rc = Xsqlite3_exec(tls, db, ts+33401, uintptr(0), uintptr(0), uintptr(0))
 			}
 		}
 	}
@@ -134313,10 +134371,10 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 	(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FbInvertConstraints = libc.BoolInt32(!!(flags&SQLITE_CHANGESETAPPLY_INVERT != 0))
 	Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db))
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
-		rc = Xsqlite3_exec(tls, db, ts+33373, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33420, uintptr(0), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_exec(tls, db, ts+33399, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33446, uintptr(0), uintptr(0), uintptr(0))
 	}
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3changeset_next(tls, pIter) {
 		Xsqlite3changeset_op(tls, pIter, bp+176, bp+184, bp+188, uintptr(0))
@@ -134375,16 +134433,16 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 				if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol == 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33429, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+33476, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol < *(*int32)(unsafe.Pointer(bp + 184)) {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33473,
+						ts+33520,
 						libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 200)), (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol, *(*int32)(unsafe.Pointer(bp + 184))))
 				} else if *(*int32)(unsafe.Pointer(bp + 184)) < nMinCol || libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 192)), uint64(*(*int32)(unsafe.Pointer(bp + 184)))) != 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33544, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+33591, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else {
 					(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FnCol = *(*int32)(unsafe.Pointer(bp + 184))
 					if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), ts+11348) {
@@ -134438,14 +134496,14 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 			}
 		}
 	}
-	Xsqlite3_exec(tls, db, ts+33604, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+33651, uintptr(0), uintptr(0), uintptr(0))
 
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, db, ts+33634, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33681, uintptr(0), uintptr(0), uintptr(0))
 		} else {
-			Xsqlite3_exec(tls, db, ts+33658, uintptr(0), uintptr(0), uintptr(0))
-			Xsqlite3_exec(tls, db, ts+33634, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33705, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33681, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -135693,7 +135751,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) {
 		fts5yy_pop_parser_stack(tls, fts5yypParser)
 	}
 
-	sqlite3Fts5ParseError(tls, pParse, ts+33686, 0)
+	sqlite3Fts5ParseError(tls, pParse, ts+33733, 0)
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -135981,7 +136039,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32
 
 	_ = fts5yymajor
 	sqlite3Fts5ParseError(tls,
-		pParse, ts+33714, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
+		pParse, ts+33761, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -136168,7 +136226,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int
 		if n < 0 {
 			n = int32(libc.Xstrlen(tls, z))
 		}
-		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33745, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
+		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33792, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
 		if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) {
 			*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 		}
@@ -136236,7 +136294,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp
 	var iCol int32
 
 	if nVal != 3 {
-		var zErr uintptr = ts + 33752
+		var zErr uintptr = ts + 33799
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -136418,7 +136476,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
 	var nCol int32
 
 	if nVal != 5 {
-		var zErr uintptr = ts + 33802
+		var zErr uintptr = ts + 33849
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -136742,13 +136800,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(96)
 
 	*(*[3]Builtin)(unsafe.Pointer(bp)) = [3]Builtin{
-		{FzFunc: ts + 33850, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33897, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5SnippetFunction}))},
-		{FzFunc: ts + 33858, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33905, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5HighlightFunction}))},
-		{FzFunc: ts + 33868, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33915, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5Bm25Function}))},
 	}
@@ -137299,7 +137357,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 	var nCmd int32 = int32(libc.Xstrlen(tls, zCmd))
-	if Xsqlite3_strnicmp(tls, ts+33873, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+33920, zCmd, nCmd) == 0 {
 		var nByte int32 = int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))
 		var p uintptr
 		var bFirst int32 = 1
@@ -137326,14 +137384,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 				break
 			}
 			if int32(*(*int8)(unsafe.Pointer(p))) < '0' || int32(*(*int8)(unsafe.Pointer(p))) > '9' {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33880, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33927, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
 
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES {
 				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-					ts+33911, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
+					ts+33958, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -137344,7 +137402,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 			}
 
 			if nPre <= 0 || nPre >= 1000 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33944, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33991, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -137357,7 +137415,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+33981, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34028, zCmd, nCmd) == 0 {
 		var p uintptr = zArg
 		var nArg Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zArg) + uint64(1))
 		var azArg uintptr = sqlite3Fts5MallocZero(tls, bp+40, int64(uint64(unsafe.Sizeof(uintptr(0)))*uint64(nArg)))
@@ -137366,7 +137424,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 		if azArg != 0 && pSpace != 0 {
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33990, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34037, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				for nArg = int64(0); p != 0 && *(*int8)(unsafe.Pointer(p)) != 0; nArg++ {
@@ -137385,7 +137443,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 					}
 				}
 				if p == uintptr(0) {
-					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34023, 0)
+					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34070, 0)
 					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				} else {
 					*(*int32)(unsafe.Pointer(bp + 40)) = sqlite3Fts5GetTokenizer(tls, pGlobal,
@@ -137400,14 +137458,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34057, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34104, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34065, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34112, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			if *(*int8)(unsafe.Pointer(zArg)) != 0 {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_EXTERNAL
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34097, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34144, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
 			} else {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE
 			}
@@ -137415,9 +137473,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34103, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34150, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34117, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34164, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40, zArg, -1)
@@ -137425,9 +137483,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34155, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34202, zCmd, nCmd) == 0 {
 		if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34166, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34213, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')
@@ -137439,17 +137497,17 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		*(*[4]Fts5Enum)(unsafe.Pointer(bp + 48)) = [4]Fts5Enum{
 			{FzName: ts + 8026, FeVal: FTS5_DETAIL_NONE},
 			{FzName: ts + 17345},
-			{FzName: ts + 34201, FeVal: FTS5_DETAIL_COLUMNS},
+			{FzName: ts + 34248, FeVal: FTS5_DETAIL_COLUMNS},
 			{},
 		}
 
 		if libc.AssignPtrInt32(bp+40, fts5ConfigSetEnum(tls, bp+48, zArg, pConfig+92)) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34209, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34256, 0)
 		}
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34240, libc.VaList(bp+24, nCmd, zCmd))
+	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34287, libc.VaList(bp+24, nCmd, zCmd))
 	return SQLITE_ERROR
 }
 
@@ -137496,15 +137554,15 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr,
 	defer tls.Free(16)
 
 	var rc int32 = SQLITE_OK
-	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22191) ||
+	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22238) ||
 		0 == Xsqlite3_stricmp(tls, zCol, ts+16267) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34268, libc.VaList(bp, zCol))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34315, libc.VaList(bp, zCol))
 		rc = SQLITE_ERROR
 	} else if zArg != 0 {
-		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34298) {
+		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34345) {
 			*(*U8)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*Fts5Config)(unsafe.Pointer(p)).FnCol))) = U8(1)
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34308, libc.VaList(bp+8, zArg))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34355, libc.VaList(bp+8, zArg))
 			rc = SQLITE_ERROR
 		}
 	}
@@ -137521,13 +137579,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_OK
 	*(*Fts5Buffer)(unsafe.Pointer(bp + 32)) = Fts5Buffer{}
 
-	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34339, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
+	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34386, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
 	if (*Fts5Config)(unsafe.Pointer(p)).FeContent != FTS5_CONTENT_NONE {
 		for i = 0; i < (*Fts5Config)(unsafe.Pointer(p)).FnCol; i++ {
 			if (*Fts5Config)(unsafe.Pointer(p)).FeContent == FTS5_CONTENT_EXTERNAL {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34344, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34391, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
 			} else {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34351, libc.VaList(bp+16, i))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34398, libc.VaList(bp+16, i))
 			}
 		}
 	}
@@ -137565,8 +137623,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 	(*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -1)
 	(*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize = 1
 	(*Fts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL
-	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22191) == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34359, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
+	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22238) == 0 {
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34406, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
 		*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 	}
 
@@ -137598,7 +137656,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 
 		if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK {
 			if z == uintptr(0) {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34388, libc.VaList(bp+8, zOrig))
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34435, libc.VaList(bp+8, zOrig))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				if bOption != 0 {
@@ -137635,14 +137693,14 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 		var zTail uintptr = uintptr(0)
 
 		if (*Fts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL {
-			zTail = ts + 34057
+			zTail = ts + 34104
 		} else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 {
-			zTail = ts + 34408
+			zTail = ts + 34455
 		}
 
 		if zTail != 0 {
 			(*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls,
-				bp+40, ts+34416, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
+				bp+40, ts+34463, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
 		}
 	}
 
@@ -137691,7 +137749,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_OK
 	var zSql uintptr
 
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34427, 0)
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34474, 0)
 	for i = 0; zSql != 0 && i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
 		var zSep uintptr = func() uintptr {
 			if i == 0 {
@@ -137699,10 +137757,10 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 			}
 			return ts + 14614
 		}()
-		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34443, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
+		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34490, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
 	}
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34450,
-		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22191))
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34497,
+		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22238))
 
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql)
@@ -137812,7 +137870,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 
 	var rc int32 = SQLITE_OK
 
-	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34476) {
+	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34523) {
 		var pgsz int32 = 0
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			pgsz = Xsqlite3_value_int(tls, pVal)
@@ -137822,7 +137880,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34481) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34528) {
 		var nHashSize int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nHashSize = Xsqlite3_value_int(tls, pVal)
@@ -137832,7 +137890,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34490) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34537) {
 		var nAutomerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nAutomerge = Xsqlite3_value_int(tls, pVal)
@@ -137845,7 +137903,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34500) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34547) {
 		var nUsermerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nUsermerge = Xsqlite3_value_int(tls, pVal)
@@ -137855,7 +137913,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34510) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34557) {
 		var nCrisisMerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nCrisisMerge = Xsqlite3_value_int(tls, pVal)
@@ -137871,7 +137929,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22191) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22238) {
 		var zIn uintptr = Xsqlite3_value_text(tls, pVal)
 
 		rc = sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8)
@@ -137894,7 +137952,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 	bp := tls.Alloc(52)
 	defer tls.Free(52)
 
-	var zSelect uintptr = ts + 34522
+	var zSelect uintptr = ts + 34569
 	var zSql uintptr
 	*(*uintptr)(unsafe.Pointer(bp + 40)) = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
@@ -137916,7 +137974,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) {
 			var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 0)
 			var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 1)
-			if 0 == Xsqlite3_stricmp(tls, zK, ts+34554) {
+			if 0 == Xsqlite3_stricmp(tls, zK, ts+34601) {
 				iVersion = Xsqlite3_value_int(tls, pVal)
 			} else {
 				*(*int32)(unsafe.Pointer(bp + 48)) = 0
@@ -137930,7 +137988,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 {
 			*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-				ts+34562,
+				ts+34609,
 				libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION))
 		}
 	}
@@ -138028,7 +138086,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 					}
 				}
 				if int32(*(*int8)(unsafe.Pointer(z2))) == 0 {
-					sqlite3Fts5ParseError(tls, pParse, ts+34627, 0)
+					sqlite3Fts5ParseError(tls, pParse, ts+34674, 0)
 					return FTS5_EOF
 				}
 			}
@@ -138041,20 +138099,20 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 		{
 			var z2 uintptr
 			if sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z))) == 0 {
-				sqlite3Fts5ParseError(tls, pParse, ts+34647, libc.VaList(bp, z))
+				sqlite3Fts5ParseError(tls, pParse, ts+34694, libc.VaList(bp, z))
 				return FTS5_EOF
 			}
 			tok = FTS5_STRING
 			for z2 = z + 1; sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z2))) != 0; z2++ {
 			}
 			(*Fts5Token)(unsafe.Pointer(pToken)).Fn = int32((int64(z2) - int64(z)) / 1)
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34678, uint64(2)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34725, uint64(2)) == 0 {
 				tok = FTS5_OR
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34681, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34728, uint64(3)) == 0 {
 				tok = FTS5_NOT
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30063, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30110, uint64(3)) == 0 {
 				tok = FTS5_AND
 			}
 			break
@@ -139832,9 +139890,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34685, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
+	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34732, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
 		sqlite3Fts5ParseError(tls,
-			pParse, ts+33714, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
+			pParse, ts+33761, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
 	}
 }
 
@@ -139850,7 +139908,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p
 				var c int8 = *(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))
 				if int32(c) < '0' || int32(c) > '9' {
 					sqlite3Fts5ParseError(tls,
-						pParse, ts+34690, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
+						pParse, ts+34737, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
 					return
 				}
 				nNear = nNear*10 + (int32(*(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - '0')
@@ -139937,7 +139995,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui
 			}
 		}
 		if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol {
-			sqlite3Fts5ParseError(tls, pParse, ts+20528, libc.VaList(bp, z))
+			sqlite3Fts5ParseError(tls, pParse, ts+20575, libc.VaList(bp, z))
 		} else {
 			pRet = fts5ParseColset(tls, pParse, pColset, iCol)
 		}
@@ -140018,7 +140076,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo
 	*(*uintptr)(unsafe.Pointer(bp)) = pColset
 	if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE {
 		sqlite3Fts5ParseError(tls, pParse,
-			ts+34719, 0)
+			ts+34766, 0)
 	} else {
 		fts5ParseSetColset(tls, pParse, pExpr, pColset, bp)
 	}
@@ -140188,12 +140246,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 1 ||
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*Fts5ExprTerm)(unsafe.Pointer(pPhrase+32)).FbFirst != 0 {
 							sqlite3Fts5ParseError(tls, pParse,
-								ts+34772,
+								ts+34819,
 								libc.VaList(bp, func() uintptr {
 									if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 {
-										return ts + 34822
+										return ts + 34869
 									}
-									return ts + 34685
+									return ts + 34732
 								}()))
 							Xsqlite3_free(tls, pRet)
 							pRet = uintptr(0)
@@ -141136,7 +141194,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK {
 			var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 			rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb,
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34829, iRowid, 0, p+56)
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34876, iRowid, 0, p+56)
 		}
 
 		if rc == SQLITE_ERROR {
@@ -141215,7 +141273,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in
 	if (*Fts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+64, Xsqlite3_mprintf(tls,
-			ts+34835,
+			ts+34882,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 		if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 			return
@@ -141240,7 +141298,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = Xsqlite3_mprintf(tls,
-			ts+34886,
+			ts+34933,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if fts5IndexPrepareStmt(tls, p, p+72, zSql) != 0 {
 			return
@@ -141263,7 +141321,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+88, Xsqlite3_mprintf(tls,
-			ts+34935,
+			ts+34982,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -141502,7 +141560,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 {
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) {
 			(*Fts5Index)(unsafe.Pointer(p)).Frc = fts5IndexPrepareStmt(tls, p, p+112,
-				Xsqlite3_mprintf(tls, ts+34975, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
+				Xsqlite3_mprintf(tls, ts+35022, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
 			if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 				return int64(0)
 			}
@@ -142701,7 +142759,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls,
-			ts+34998,
+			ts+35045,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect
@@ -144167,7 +144225,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls,
-			ts+35082,
+			ts+35129,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 
@@ -145249,13 +145307,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		(*Fts5Index)(unsafe.Pointer(p)).FpConfig = pConfig
 		(*Fts5Index)(unsafe.Pointer(p)).FnWorkUnit = FTS5_WORK_UNIT
-		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35139, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35186, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 {
 			*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+25056, ts+35147, 0, pzErr)
+				pConfig, ts+25103, ts+35194, 0, pzErr)
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 				*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls, pConfig, ts+11488,
-					ts+35182,
+					ts+35229,
 					1, pzErr)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
@@ -145508,7 +145566,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 {
 	sqlite3Fts5Put32(tls, bp, iNew)
 
 	rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl,
-		ts+34829, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
+		ts+34876, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
 	if rc == SQLITE_OK {
 		Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, 4, 0)
 		rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
@@ -145622,7 +145680,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) {
 	}
 
 	fts5IndexPrepareStmt(tls, p, bp+24, Xsqlite3_mprintf(tls,
-		ts+35226,
+		ts+35273,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid)))
 
 	for (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
@@ -145792,7 +145850,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks
 		} else {
 			(*Fts5Buffer)(unsafe.Pointer(bp + 16)).Fn = 0
 			fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp))+96+uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaFirst+1*4)).FiFirst)*120, uintptr(0), bp+16)
-			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35312)
+			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35359)
 			for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fn, bp+32, bp+40) {
 				var iCol int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) >> 32)
 				var iTokOff int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) & int64(0x7FFFFFFF))
@@ -146063,7 +146121,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 {
 
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 {
 		(*Fts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+35317, 0)
+			ts+35364, 0)
 		return SQLITE_ERROR
 	}
 
@@ -146487,7 +146545,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 	(*Fts5Sorter)(unsafe.Pointer(pSorter)).FnIdx = nPhrase
 
 	rc = fts5PrepareStatement(tls, pSorter, pConfig,
-		ts+35356,
+		ts+35403,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			func() uintptr {
 				if zRankArgs != 0 {
@@ -146503,9 +146561,9 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 			}(),
 			func() uintptr {
 				if bDesc != 0 {
-					return ts + 35411
+					return ts + 35458
 				}
-				return ts + 35416
+				return ts + 35463
 			}()))
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter
@@ -146551,12 +146609,12 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr)
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan = FTS5_PLAN_SPECIAL
 
-	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35420, z, n) {
+	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35467, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = I64(sqlite3Fts5IndexReads(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex))
 	} else if n == 2 && 0 == Xsqlite3_strnicmp(tls, ts+5057, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId
 	} else {
-		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35426, libc.VaList(bp, n, z))
+		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35473, libc.VaList(bp, n, z))
 		rc = SQLITE_ERROR
 	}
 
@@ -146587,7 +146645,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs
 
 	if zRankArgs != 0 {
-		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35454, libc.VaList(bp, zRankArgs))
+		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35501, libc.VaList(bp, zRankArgs))
 		if zSql != 0 {
 			*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 			*(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1,
@@ -146618,7 +146676,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 		pAux = fts5FindAuxiliary(tls, pTab, zRank)
 		if pAux == uintptr(0) {
-			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35464, libc.VaList(bp+8, zRank))
+			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35511, libc.VaList(bp+8, zRank))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		}
 	}
@@ -146650,14 +146708,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin
 			*(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_FREE_ZRANK
 		} else if rc == SQLITE_ERROR {
 			(*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35485, libc.VaList(bp, z))
+				ts+35532, libc.VaList(bp, z))
 		}
 	} else {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank != 0 {
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRankArgs
 		} else {
-			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33868
+			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33915
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0)
 		}
 	}
@@ -146713,7 +146771,7 @@ func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintp
 		goto __1
 	}
 	(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+35317, 0)
+		ts+35364, 0)
 	return SQLITE_ERROR
 __1:
 	;
@@ -146930,7 +146988,7 @@ __35:
 		goto __40
 	}
 	*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-		ts+35518, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		ts+35565, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	rc = SQLITE_ERROR
 	goto __41
 __40:
@@ -147075,28 +147133,28 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr)
 	var rc int32 = SQLITE_OK
 	*(*int32)(unsafe.Pointer(bp)) = 0
 
-	if 0 == Xsqlite3_stricmp(tls, ts+35554, zCmd) {
+	if 0 == Xsqlite3_stricmp(tls, ts+35601, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			fts5SetVtabError(tls, pTab,
-				ts+35565, 0)
+				ts+35612, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35645, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35692, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE {
 			fts5SetVtabError(tls, pTab,
-				ts+35653, 0)
+				ts+35700, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
 	} else if 0 == Xsqlite3_stricmp(tls, ts+16934, zCmd) {
 		rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35709, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35756, zCmd) {
 		var nMerge int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageMerge(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, nMerge)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35715, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35762, zCmd) {
 		var iArg int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg)
 	} else {
@@ -147167,12 +147225,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p
 
 		if eType0 == SQLITE_INTEGER && fts5IsContentless(tls, pTab) != 0 {
 			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35731,
+				ts+35778,
 				libc.VaList(bp, func() uintptr {
 					if nArg > 1 {
-						return ts + 20429
+						return ts + 20476
 					}
-					return ts + 35768
+					return ts + 35815
 				}(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		} else if nArg == 1 {
@@ -147802,7 +147860,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 
 	pCsr = fts5CursorFromCsrid(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId)
 	if pCsr == uintptr(0) || (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 {
-		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35780, libc.VaList(bp, iCsrId))
+		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35827, libc.VaList(bp, iCsrId))
 		Xsqlite3_result_error(tls, context, zErr, -1)
 		Xsqlite3_free(tls, zErr)
 	} else {
@@ -148046,7 +148104,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 	}())
 	if pMod == uintptr(0) {
 		rc = SQLITE_ERROR
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35801, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35848, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
 	} else {
 		rc = (*struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
@@ -148065,7 +148123,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 		(*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16
 		if rc != SQLITE_OK {
 			if pzErr != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35823, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35870, 0)
 			}
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls,
@@ -148112,7 +148170,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 	var ppApi uintptr
 	_ = nArg
 
-	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35854)
+	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35901)
 	if ppApi != 0 {
 		*(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal
 	}
@@ -148121,7 +148179,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) {
 	_ = nArg
 	_ = apUnused
-	Xsqlite3_result_text(tls, pCtx, ts+35867, -1, libc.UintptrFromInt32(-1))
+	Xsqlite3_result_text(tls, pCtx, ts+35914, -1, libc.UintptrFromInt32(-1))
 }
 
 func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
@@ -148135,7 +148193,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName2 = [5]uintptr{
-	ts + 35958, ts + 34057, ts + 25056, ts + 34408, ts + 11488,
+	ts + 36005, ts + 34104, ts + 25103, ts + 34455, ts + 11488,
 }
 
 func fts5Init(tls *libc.TLS, db uintptr) int32 {
@@ -148159,7 +148217,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		(*Fts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32
 		}{fts5FindTokenizer}))
-		rc = Xsqlite3_create_module_v2(tls, db, ts+35965, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+36012, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5IndexInit(tls, db)
 		}
@@ -148177,13 +148235,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35965, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+				db, ts+36012, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
 				}{fts5Fts5Func})), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35970, 0,
+				db, ts+36017, 0,
 				SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
 				p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
@@ -148240,17 +148298,17 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p
 
 	if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) {
 		*(*[11]uintptr)(unsafe.Pointer(bp + 128)) = [11]uintptr{
-			ts + 35985,
-			ts + 36053,
-			ts + 36122,
-			ts + 36155,
-			ts + 36194,
-			ts + 36234,
-			ts + 36273,
-			ts + 36314,
-			ts + 36353,
-			ts + 36395,
-			ts + 36435,
+			ts + 36032,
+			ts + 36100,
+			ts + 36169,
+			ts + 36202,
+			ts + 36241,
+			ts + 36281,
+			ts + 36320,
+			ts + 36361,
+			ts + 36400,
+			ts + 36442,
+			ts + 36482,
 		}
 		var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = uintptr(0)
@@ -148352,18 +148410,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 {
 	defer tls.Free(80)
 
 	var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36458,
+		ts+36505,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36562,
+			ts+36609,
 			libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36600,
+			ts+36647,
 			libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	return rc
@@ -148375,7 +148433,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin
 
 	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(pRc)) = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36638,
+			ts+36685,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail))
 	}
 }
@@ -148387,14 +148445,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in
 	var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig
 	*(*int32)(unsafe.Pointer(bp)) = sqlite3Fts5StorageSync(tls, pStorage)
 
-	fts5StorageRenameOne(tls, pConfig, bp, ts+25056, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+25103, zName)
 	fts5StorageRenameOne(tls, pConfig, bp, ts+11488, zName)
-	fts5StorageRenameOne(tls, pConfig, bp, ts+35958, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+36005, zName)
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34408, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34455, zName)
 	}
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34057, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34104, zName)
 	}
 	return *(*int32)(unsafe.Pointer(bp))
 }
@@ -148406,17 +148464,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn
 	var rc int32
 	*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
-	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36680,
+	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36727,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn,
 			func() uintptr {
 				if bWithout != 0 {
-					return ts + 29709
+					return ts + 29756
 				}
 				return ts + 1554
 			}()))
 	if *(*uintptr)(unsafe.Pointer(bp + 64)) != 0 {
 		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-			ts+36710,
+			ts+36757,
 			libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64))))
 		Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
@@ -148453,27 +148511,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre
 			} else {
 				var i int32
 				var iOff int32
-				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36754, 0)
+				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36801, 0)
 				iOff = int32(libc.Xstrlen(tls, zDefn))
 				for i = 0; i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
-					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36777, libc.VaList(bp, i))
+					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36824, libc.VaList(bp, i))
 					iOff = iOff + int32(libc.Xstrlen(tls, zDefn+uintptr(iOff)))
 				}
-				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34057, zDefn, 0, pzErr)
+				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34104, zDefn, 0, pzErr)
 			}
 			Xsqlite3_free(tls, zDefn)
 		}
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+34408, ts+36783, 0, pzErr)
+				pConfig, ts+34455, ts+36830, 0, pzErr)
 		}
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+35958, ts+36815, 1, pzErr)
+				pConfig, ts+36005, ts+36862, 1, pzErr)
 		}
 		if rc == SQLITE_OK {
-			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34554, uintptr(0), FTS5_CURRENT_VERSION)
+			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34601, uintptr(0), FTS5_CURRENT_VERSION)
 		}
 	}
 
@@ -148679,12 +148737,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 	(*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0
 
 	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36832,
+		ts+36879,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36882,
+			ts+36929,
 			libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 
@@ -148692,7 +148750,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 		rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex)
 	}
 	if rc == SQLITE_OK {
-		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34554, uintptr(0), FTS5_CURRENT_VERSION)
+		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34601, uintptr(0), FTS5_CURRENT_VERSION)
 	}
 	return rc
 }
@@ -148868,7 +148926,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr)
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+36911,
+	zSql = Xsqlite3_mprintf(tls, ts+36958,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix))
 	if zSql == uintptr(0) {
 		rc = SQLITE_NOMEM
@@ -149050,14 +149108,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 {
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			*(*I64)(unsafe.Pointer(bp + 48)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34057, bp+48)
+			rc = fts5StorageCount(tls, p, ts+34104, bp+48)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 48)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
 		}
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			*(*I64)(unsafe.Pointer(bp + 56)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34408, bp+56)
+			rc = fts5StorageCount(tls, p, ts+34455, bp+56)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 56)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
@@ -149252,9 +149310,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32,
 			libc.Xmemcpy(tls, p, uintptr(unsafe.Pointer(&aAsciiTokenChar)), uint64(unsafe.Sizeof(aAsciiTokenChar)))
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36943) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36990) {
 					fts5AsciiAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36954) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37001) {
 					fts5AsciiAddExceptions(tls, p, zArg, 0)
 				} else {
 					rc = SQLITE_ERROR
@@ -149469,7 +149527,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 	} else {
 		p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Unicode61Tokenizer{})))
 		if p != 0 {
-			var zCat uintptr = ts + 36965
+			var zCat uintptr = ts + 37012
 			var i int32
 			libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{})))
 
@@ -149481,7 +149539,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 			}
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36974) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37021) {
 					zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
 				}
 			}
@@ -149492,18 +149550,18 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36985) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37032) {
 					if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' && int32(*(*int8)(unsafe.Pointer(zArg))) != '2' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 						rc = SQLITE_ERROR
 					} else {
 						(*Unicode61Tokenizer)(unsafe.Pointer(p)).FeRemoveDiacritic = int32(*(*int8)(unsafe.Pointer(zArg))) - '0'
 
 					}
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36943) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36990) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36954) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37001) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 0)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36974) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37021) {
 				} else {
 					rc = SQLITE_ERROR
 				}
@@ -149779,7 +149837,7 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp
 	var rc int32 = SQLITE_OK
 	var pRet uintptr
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
-	var zBase uintptr = ts + 37003
+	var zBase uintptr = ts + 37050
 
 	if nArg > 0 {
 		zBase = *(*uintptr)(unsafe.Pointer(azArg))
@@ -149921,7 +149979,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37013, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37060, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149929,11 +149987,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37016, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37063, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37021, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37068, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -149941,7 +149999,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'e':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37026, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37073, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149949,7 +150007,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37029, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37076, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149957,11 +150015,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37032, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37079, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37037, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37084, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -149969,19 +150027,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37042, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37089, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37046, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37093, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37052, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37099, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37057, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37104, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149989,11 +150047,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'o':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37061, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37108, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37065, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37112, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -150001,7 +150059,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 's':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37068, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37115, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150009,11 +150067,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37072, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37119, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37076, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37123, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150021,7 +150079,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37080, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37127, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150029,7 +150087,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37084, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37131, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150037,7 +150095,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37088, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37135, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150053,24 +150111,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37092, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37072, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37139, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37119, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'b':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37095, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37098, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37142, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37145, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37102, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37088, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37149, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37135, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
@@ -150085,44 +150143,44 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37105, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37152, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37072, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37119, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37113, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37160, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37120, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37167, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 4
 			}
 		}
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37125, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37172, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37021, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37068, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37130, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37177, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37016, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37063, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
 		}
 		break
 
 	case 'e':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37135, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37182, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37088, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37135, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 'g':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37140, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37187, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+15480, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
@@ -150131,91 +150189,91 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37145, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37192, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37098, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37145, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37149, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37196, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37154, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37201, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37057, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37104, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37160, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37207, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37164, uint64(1))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37211, uint64(1))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 1
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37166, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37213, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37080, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37127, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
 		}
 		break
 
 	case 'o':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37172, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37219, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37088, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37135, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37180, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37227, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37072, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37119, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37186, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37233, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37072, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37119, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37191, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37238, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37197, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37244, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37084, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37131, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37205, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37252, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37213, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37260, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37217, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37264, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37080, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37127, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
 		}
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37225, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37272, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37231, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37278, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37084, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37131, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37237, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37284, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37098, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37145, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 3
 			}
 		}
@@ -150230,16 +150288,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37244, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37291, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37029, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37076, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37249, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37296, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -150247,21 +150305,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37254, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37301, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37029, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37076, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37260, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37307, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37029, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37076, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37213, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37260, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150269,7 +150327,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37266, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37313, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
@@ -150277,9 +150335,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37272, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37319, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
@@ -150294,12 +150352,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'e':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37278, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37325, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37282, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37329, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 2
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37285, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37332, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 				ret = 1
@@ -150308,7 +150366,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37288, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37335, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 				ret = 1
@@ -150464,7 +150522,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp
 		(*TrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = 1
 		for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 			var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37292) {
+			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37339) {
 				if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 					rc = SQLITE_ERROR
 				} else {
@@ -150644,22 +150702,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(128)
 
 	*(*[4]BuiltinTokenizer)(unsafe.Pointer(bp)) = [4]BuiltinTokenizer{
-		{FzName: ts + 37003, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37050, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5UnicodeCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5UnicodeDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5UnicodeTokenize}))}},
-		{FzName: ts + 37307, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37354, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5AsciiCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5AsciiDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5AsciiTokenize}))}},
-		{FzName: ts + 37313, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37360, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5PorterCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5PorterDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5PorterTokenize}))}},
-		{FzName: ts + 37320, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37367, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5TriCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5TriDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
@@ -151802,14 +151860,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint
 	var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8, zType, -1)
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		sqlite3Fts5Dequote(tls, zCopy)
-		if Xsqlite3_stricmp(tls, zCopy, ts+37328) == 0 {
+		if Xsqlite3_stricmp(tls, zCopy, ts+37375) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37332) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37379) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37336) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37383) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37345, libc.VaList(bp, zCopy))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37392, libc.VaList(bp, zCopy))
 			*(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_ERROR
 		}
 		Xsqlite3_free(tls, zCopy)
@@ -151835,19 +151893,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	defer tls.Free(36)
 
 	*(*[3]uintptr)(unsafe.Pointer(bp + 8)) = [3]uintptr{
-		ts + 37379,
-		ts + 37419,
-		ts + 37454,
+		ts + 37426,
+		ts + 37466,
+		ts + 37501,
 	}
 
 	var pRet uintptr = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
 	var bDb int32
 
-	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23352, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
+	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23399, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
 
 	if argc != 5 && bDb == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37497, 0)
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37544, 0)
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 	} else {
 		var nByte int32
@@ -151980,11 +152038,11 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 
 	if (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 {
 		(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+37530, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+			ts+37577, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 		return SQLITE_ERROR
 	}
 	zSql = sqlite3Fts5Mprintf(tls, bp+64,
-		ts+37561,
+		ts+37608,
 		libc.VaList(bp+16, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 64)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+72, uintptr(0))
@@ -152008,7 +152066,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 			*(*uintptr)(unsafe.Pointer(bp + 72)) = uintptr(0)
 			if *(*int32)(unsafe.Pointer(bp + 64)) == SQLITE_OK {
 				(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-					ts+37612, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+					ts+37659, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 				*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 			}
 		} else {
@@ -152403,7 +152461,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32
 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 {
 	var p uintptr = pGlobal
 
-	return Xsqlite3_create_module_v2(tls, db, ts+37638, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
+	return Xsqlite3_create_module_v2(tls, db, ts+37685, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
 }
 
 var fts5Vocab = Sqlite3_module{
@@ -152425,7 +152483,7 @@ var fts5Vocab = Sqlite3_module{
 // ************* End of stmt.c ***********************************************
 // Return the source-id for this library
 func Xsqlite3_sourceid(tls *libc.TLS) uintptr {
-	return ts + 37648
+	return ts + 37695
 }
 
 func init() {
@@ -153402,5 +153460,5 @@ func init() {
 	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError
 }
 
-var ts1 = "3.41.0\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00"
+var ts1 = "3.41.2\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00"
 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go
index fed30522..e83f5b55 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_arm.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_arm.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_arm.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
@@ -893,11 +893,11 @@ const (
 	NC_OrderAgg                           = 0x8000000
 	NC_PartIdx                            = 0x000002
 	NC_SelfRef                            = 0x00002e
+	NC_Subquery                           = 0x000040
 	NC_UAggInfo                           = 0x000100
 	NC_UBaseReg                           = 0x000400
 	NC_UEList                             = 0x000080
 	NC_UUpsert                            = 0x000200
-	NC_VarSelect                          = 0x000040
 	NDEBUG                                = 1
 	NN                                    = 1
 	NOT_WITHIN                            = 0
@@ -2139,7 +2139,7 @@ const (
 	SQLITE_SHM_UNLOCK                     = 1
 	SQLITE_SORTER_PMASZ                   = 250
 	SQLITE_SOUNDEX                        = 1
-	SQLITE_SOURCE_ID                      = "2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d"
+	SQLITE_SOURCE_ID                      = "2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da"
 	SQLITE_SO_ASC                         = 0
 	SQLITE_SO_DESC                        = 1
 	SQLITE_SO_UNDEFINED                   = -1
@@ -2247,8 +2247,8 @@ const (
 	SQLITE_UTF8                           = 1
 	SQLITE_VDBEINT_H                      = 0
 	SQLITE_VDBE_H                         = 0
-	SQLITE_VERSION                        = "3.41.0"
-	SQLITE_VERSION_NUMBER                 = 3041000
+	SQLITE_VERSION                        = "3.41.2"
+	SQLITE_VERSION_NUMBER                 = 3041002
 	SQLITE_VTABRISK_High                  = 2
 	SQLITE_VTABRISK_Low                   = 0
 	SQLITE_VTABRISK_Normal                = 1
@@ -6062,7 +6062,8 @@ type IndexedExpr1 = struct {
 	FiIdxCur       int32
 	FiIdxCol       int32
 	FbMaybeNullRow U8
-	F__ccgo_pad1   [3]byte
+	Faff           U8
+	F__ccgo_pad1   [2]byte
 	FpIENext       uintptr
 }
 
@@ -6691,17 +6692,18 @@ type Pager = Pager1
 
 // Handle type for pages.
 type PgHdr2 = struct {
-	FpPage      uintptr
-	FpData      uintptr
-	FpExtra     uintptr
-	FpCache     uintptr
-	FpDirty     uintptr
-	FpPager     uintptr
-	Fpgno       Pgno
-	Fflags      U16
-	FnRef       I16
-	FpDirtyNext uintptr
-	FpDirtyPrev uintptr
+	FpPage       uintptr
+	FpData       uintptr
+	FpExtra      uintptr
+	FpCache      uintptr
+	FpDirty      uintptr
+	FpPager      uintptr
+	Fpgno        Pgno
+	Fflags       U16
+	F__ccgo_pad1 [2]byte
+	FnRef        I64
+	FpDirtyNext  uintptr
+	FpDirtyPrev  uintptr
 }
 
 // Handle type for pages.
@@ -6914,14 +6916,15 @@ type PCache2 = struct {
 	FpDirty      uintptr
 	FpDirtyTail  uintptr
 	FpSynced     uintptr
-	FnRefSum     int32
+	F__ccgo_pad1 [4]byte
+	FnRefSum     I64
 	FszCache     int32
 	FszSpill     int32
 	FszPage      int32
 	FszExtra     int32
 	FbPurgeable  U8
 	FeCreate     U8
-	F__ccgo_pad1 [2]byte
+	F__ccgo_pad2 [2]byte
 	FxStress     uintptr
 	FpStress     uintptr
 	FpCache      uintptr
@@ -7718,7 +7721,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
 	_ = pMutex
 
 	if op < 0 || op >= int32(uint32(unsafe.Sizeof([10]Sqlite3StatValueType{}))/uint32(unsafe.Sizeof(Sqlite3StatValueType(0)))) {
-		return Xsqlite3MisuseError(tls, 23229)
+		return Xsqlite3MisuseError(tls, 23233)
 	}
 	if statMutex[op] != 0 {
 		pMutex = Xsqlite3Pcache1Mutex(tls)
@@ -15803,7 +15806,7 @@ func closePendingFds(tls *libc.TLS, pFile uintptr) {
 
 	for p = (*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused; p != 0; p = pNext {
 		pNext = (*UnixUnusedFd)(unsafe.Pointer(p)).FpNext
-		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38271)
+		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38275)
 		Xsqlite3_free(tls, p)
 	}
 	(*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused = uintptr(0)
@@ -16280,7 +16283,7 @@ func closeUnixFile(tls *libc.TLS, id uintptr) int32 {
 	var pFile uintptr = id
 	unixUnmapfile(tls, pFile)
 	if (*UnixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
-		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39055)
+		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39059)
 		(*UnixFile)(unsafe.Pointer(pFile)).Fh = -1
 	}
 
@@ -16571,7 +16574,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 {
 	if fd >= 0 {
 		return SQLITE_OK
 	}
-	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40676), ts+3378, bp+8, 40676)
+	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40680), ts+3378, bp+8, 40680)
 }
 
 func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
@@ -16588,14 +16591,14 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
 
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3666, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40717)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3666, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40721)
 	}
 
 	if int32((*UnixFile)(unsafe.Pointer(pFile)).FctrlFlags)&UNIXFILE_DIRSYNC != 0 {
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*12 + 4)))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, bp)
 		if rc == SQLITE_OK {
 			full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0)
-			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40731)
+			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40735)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -16615,7 +16618,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 {
 	rc = robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte)
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40762)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40766)
 	} else {
 		if nByte < (*UnixFile)(unsafe.Pointer(pFile)).FmmapSize {
 			(*UnixFile)(unsafe.Pointer(pFile)).FmmapSize = nByte
@@ -16683,7 +16686,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 {
 		if (*UnixFile)(unsafe.Pointer(pFile)).FszChunk <= 0 {
 			if robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte) != 0 {
 				storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
-				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40883)
+				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40887)
 			}
 		}
 
@@ -16910,7 +16913,7 @@ func unixShmPurge(tls *libc.TLS, pFd uintptr) {
 		}
 		Xsqlite3_free(tls, (*UnixShmNode)(unsafe.Pointer(p)).FapRegion)
 		if (*UnixShmNode)(unsafe.Pointer(p)).FhShm >= 0 {
-			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41442)
+			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41446)
 			(*UnixShmNode)(unsafe.Pointer(p)).FhShm = -1
 		}
 		(*UnixInodeInfo)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0)
@@ -16938,7 +16941,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32
 			rc = unixShmSystemLock(tls, pDbFd, F_WRLCK, (22+SQLITE_SHM_NLOCK)*4+SQLITE_SHM_NLOCK, 1)
 
 			if rc == SQLITE_OK && robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3297, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41499)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3297, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41503)
 			}
 		}
 	} else if int32((*flock)(unsafe.Pointer(bp+8)).Fl_type) == F_WRLCK {
@@ -17037,7 +17040,7 @@ __8:
 	if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) {
 		goto __10
 	}
-	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41624), ts+3261, zShm, 41624)
+	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41628), ts+3261, zShm, 41628)
 	goto shm_open_err
 __10:
 	;
@@ -17167,7 +17170,7 @@ __11:
 		goto __14
 	}
 	zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3332, zFile, 41768)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3332, zFile, 41772)
 	goto shmpage_out
 __14:
 	;
@@ -17213,7 +17216,7 @@ __16:
 	if !(pMem == libc.UintptrFromInt32(-1)) {
 		goto __20
 	}
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3419, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41795)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3419, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41799)
 	goto shmpage_out
 __20:
 	;
@@ -17444,7 +17447,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) {
 	if pNew == libc.UintptrFromInt32(-1) {
 		pNew = uintptr(0)
 		nNew = int64(0)
-		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42169)
+		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42173)
 
 		(*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeMax = int64(0)
 	}
@@ -17578,7 +17581,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 		unixEnterMutex(tls)
 		rc = findInodeInfo(tls, pNew, pNew+8)
 		if rc != SQLITE_OK {
-			robust_close(tls, pNew, h, 42672)
+			robust_close(tls, pNew, h, 42676)
 			h = -1
 		}
 		unixLeaveMutex(tls)
@@ -17599,7 +17602,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 	storeLastErrno(tls, pNew, 0)
 	if rc != SQLITE_OK {
 		if h >= 0 {
-			robust_close(tls, pNew, h, 42757)
+			robust_close(tls, pNew, h, 42761)
 		}
 	} else {
 		(*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle
@@ -17915,7 +17918,7 @@ __15:
 	if !(fd < 0) {
 		goto __19
 	}
-	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43198), ts+3261, zName, 43198)
+	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43202), ts+3261, zName, 43202)
 	if !(rc == SQLITE_OK) {
 		goto __20
 	}
@@ -18006,7 +18009,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == ENOENT {
 			rc = SQLITE_IOERR | int32(23)<<8
 		} else {
-			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3371, zPath, 43337)
+			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3371, zPath, 43341)
 		}
 		return rc
 	}
@@ -18014,9 +18017,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*12 + 4)))(tls, zPath, bp)
 		if rc == SQLITE_OK {
 			if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3788, zPath, 43347)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3788, zPath, 43351)
 			}
-			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43349)
+			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43353)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -18080,18 +18083,18 @@ func appendOnePathElement(tls *libc.TLS, pPath uintptr, zName uintptr, nName int
 		zIn = (*DbPath)(unsafe.Pointer(pPath)).FzOut
 		if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*12 + 4)))(tls, zIn, bp) != 0 {
 			if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != ENOENT {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43443), ts+3459, zIn, 43443)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43447), ts+3459, zIn, 43447)
 			}
 		} else if (*stat)(unsafe.Pointer(bp)).Fst_mode&X__mode_t(0170000) == X__mode_t(0120000) {
 			var got Ssize_t
 
 			if libc.PostIncInt32(&(*DbPath)(unsafe.Pointer(pPath)).FnSymlink, 1) > SQLITE_MAX_SYMLINK {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43449)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43453)
 				return
 			}
 			got = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*12 + 4)))(tls, zIn, bp+104, uint32(unsafe.Sizeof([4098]uint8{}))-uint32(2))
 			if got <= 0 || got >= Ssize_t(unsafe.Sizeof([4098]uint8{}))-2 {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43454), ts+3450, zIn, 43454)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43458), ts+3450, zIn, 43458)
 				return
 			}
 			*(*uint8)(unsafe.Pointer(bp + 104 + uintptr(got))) = uint8(0)
@@ -18131,14 +18134,14 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO
 	(*DbPath)(unsafe.Pointer(bp + 4100)).FzOut = zOut
 	if int32(*(*uint8)(unsafe.Pointer(zPath))) != '/' {
 		if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*12 + 4)))(tls, bp, uint32(unsafe.Sizeof([4098]uint8{}))-uint32(2)) == uintptr(0) {
-			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43512), ts+3279, zPath, 43512)
+			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43516), ts+3279, zPath, 43516)
 		}
 		appendAllPathElements(tls, bp+4100, bp)
 	}
 	appendAllPathElements(tls, bp+4100, zPath)
 	*(*uint8)(unsafe.Pointer(zOut + uintptr((*DbPath)(unsafe.Pointer(bp+4100)).FnUsed))) = uint8(0)
 	if (*DbPath)(unsafe.Pointer(bp+4100)).Frc != 0 || (*DbPath)(unsafe.Pointer(bp+4100)).FnUsed < 2 {
-		return Xsqlite3CantopenError(tls, 43518)
+		return Xsqlite3CantopenError(tls, 43522)
 	}
 	if (*DbPath)(unsafe.Pointer(bp+4100)).FnSymlink != 0 {
 		return SQLITE_OK | int32(2)<<8
@@ -18237,7 +18240,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in
 			for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == EINTR {
 				got = (*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*12 + 4)))(tls, fd, zBuf, uint32(nBuf))
 			}
-			robust_close(tls, uintptr(0), fd, 43619)
+			robust_close(tls, uintptr(0), fd, 43623)
 		}
 
 	}
@@ -19667,7 +19670,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 	libc.Xmemset(tls, pPgHdr+16, 0, uint32(unsafe.Sizeof(PgHdr{}))-uint32(uintptr(0)+16))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpPage = pPage
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpData = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpBuf
-	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*40
+	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*48
 	libc.Xmemset(tls, (*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra, 0, uint32(8))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpCache = pCache
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).Fpgno = pgno
@@ -19697,7 +19700,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 // reference count drops to 0, then it is made eligible for recycling.
 func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) {
 	(*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum--
-	if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 {
+	if libc.PreDecInt64(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1) == int64(0) {
 		if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_CLEAN != 0 {
 			pcacheUnpin(tls, p)
 		} else {
@@ -19748,7 +19751,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) {
 	*(*U16)(unsafe.Pointer(p + 28)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE))
 	*(*U16)(unsafe.Pointer(p + 28)) |= U16(PGHDR_CLEAN)
 
-	if int32((*PgHdr)(unsafe.Pointer(p)).FnRef) == 0 {
+	if (*PgHdr)(unsafe.Pointer(p)).FnRef == int64(0) {
 		pcacheUnpin(tls, p)
 	}
 }
@@ -19852,8 +19855,8 @@ func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) {
 }
 
 func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr {
-	bp := tls.Alloc(40)
-	defer tls.Free(40)
+	bp := tls.Alloc(48)
+	defer tls.Free(48)
 
 	var pTail uintptr
 	pTail = bp
@@ -19931,13 +19934,13 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr {
 //
 // This is not the total number of pages referenced, but the sum of the
 // reference count for all pages.
-func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 {
+func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) I64 {
 	return (*PCache)(unsafe.Pointer(pCache)).FnRefSum
 }
 
 // Return the number of references to the page supplied as an argument.
-func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 {
-	return int32((*PgHdr)(unsafe.Pointer(p)).FnRef)
+func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) I64 {
+	return (*PgHdr)(unsafe.Pointer(p)).FnRef
 }
 
 // Return the total number of pages in the cache.
@@ -22229,7 +22232,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 {
 
 	pPg = Xsqlite3PagerLookup(tls, pPager, iPg)
 	if pPg != 0 {
-		if Xsqlite3PcachePageRefcount(tls, pPg) == 1 {
+		if Xsqlite3PcachePageRefcount(tls, pPg) == int64(1) {
 			Xsqlite3PcacheDrop(tls, pPg)
 		} else {
 			rc = readDbPage(tls, pPg)
@@ -22662,7 +22665,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr,
 	var pageSize U32 = *(*U32)(unsafe.Pointer(pPageSize))
 
 	if (int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) == 0 || (*Pager)(unsafe.Pointer(pPager)).FdbSize == Pgno(0)) &&
-		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 &&
+		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) &&
 		pageSize != 0 && pageSize != U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) {
 		var pNew uintptr = uintptr(0)
 		*(*I64)(unsafe.Pointer(bp)) = int64(0)
@@ -22814,9 +22817,9 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr
 			Xsqlite3OsUnfetch(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, I64(pgno-Pgno(1))*(*Pager)(unsafe.Pointer(pPager)).FpageSize, pData)
 			return SQLITE_NOMEM
 		}
-		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*40
+		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*48
 		(*PgHdr)(unsafe.Pointer(p)).Fflags = U16(PGHDR_MMAP)
-		(*PgHdr)(unsafe.Pointer(p)).FnRef = int16(1)
+		(*PgHdr)(unsafe.Pointer(p)).FnRef = int64(1)
 		(*PgHdr)(unsafe.Pointer(p)).FpPager = pPager
 	}
 
@@ -23148,7 +23151,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 {
 
 		for rc == SQLITE_OK && pList != 0 {
 			var pNext uintptr = (*PgHdr)(unsafe.Pointer(pList)).FpDirty
-			if int32((*PgHdr)(unsafe.Pointer(pList)).FnRef) == 0 {
+			if (*PgHdr)(unsafe.Pointer(pList)).FnRef == int64(0) {
 				rc = pagerStress(tls, pPager, pList)
 			}
 			pList = pNext
@@ -23298,7 +23301,7 @@ __11:
 		goto __12
 	}
 
-	rc = Xsqlite3CantopenError(tls, 60235)
+	rc = Xsqlite3CantopenError(tls, 60239)
 __12:
 	;
 	if !(rc != SQLITE_OK) {
@@ -23679,7 +23682,7 @@ __7:
 	if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) {
 		goto __10
 	}
-	rc = Xsqlite3CantopenError(tls, 60754)
+	rc = Xsqlite3CantopenError(tls, 60758)
 	Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd)
 __10:
 	;
@@ -23785,7 +23788,7 @@ __24:
 }
 
 func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) {
-	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 {
+	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) {
 		pagerUnlockAndRollback(tls, pPager)
 	}
 }
@@ -23803,7 +23806,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla
 	if !(pgno == Pgno(0)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 60967)
+	return Xsqlite3CorruptError(tls, 60971)
 __1:
 	;
 	*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3)
@@ -23842,7 +23845,7 @@ __5:
 	if !(pgno == (*Pager)(unsafe.Pointer(pPager)).FlckPgno) {
 		goto __7
 	}
-	rc = Xsqlite3CorruptError(tls, 60999)
+	rc = Xsqlite3CorruptError(tls, 61003)
 	goto pager_acquire_err
 __7:
 	;
@@ -23919,7 +23922,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags
 		(int32((*Pager)(unsafe.Pointer(pPager)).FeState) == PAGER_READER || flags&PAGER_GET_READONLY != 0))
 
 	if pgno <= Pgno(1) && pgno == Pgno(0) {
-		return Xsqlite3CorruptError(tls, 61078)
+		return Xsqlite3CorruptError(tls, 61082)
 	}
 
 	if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
@@ -24677,7 +24680,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 {
 
 // Return the number of references to the specified page.
 func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 {
-	return Xsqlite3PcachePageRefcount(tls, pPage)
+	return int32(Xsqlite3PcachePageRefcount(tls, pPage))
 }
 
 // Parameter eStat must be one of SQLITE_DBSTATUS_CACHE_HIT, _MISS, _WRITE,
@@ -24920,9 +24923,9 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno
 	pPgOld = Xsqlite3PagerLookup(tls, pPager, pgno)
 
 	if pPgOld != 0 {
-		if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 {
+		if (*PgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
 			Xsqlite3PagerUnrefNotNull(tls, pPgOld)
-			return Xsqlite3CorruptError(tls, 62623)
+			return Xsqlite3CorruptError(tls, 62627)
 		}
 		*(*U16)(unsafe.Pointer(pPg + 28)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC)
 		if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 {
@@ -25676,7 +25679,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 {
 		nCollide = idx
 		for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) {
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 64387)
+				return Xsqlite3CorruptError(tls, 64391)
 			}
 		}
 		*(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaPgno + uintptr(idx-1)*4)) = iPage
@@ -25775,7 +25778,7 @@ __6:
 	if !(version != U32(WAL_MAX_VERSION)) {
 		goto __7
 	}
-	rc = Xsqlite3CantopenError(tls, 64519)
+	rc = Xsqlite3CantopenError(tls, 64523)
 	goto finished
 __7:
 	;
@@ -26360,7 +26363,7 @@ __10:
 		goto __14
 	}
 
-	rc = Xsqlite3CorruptError(tls, 65333)
+	rc = Xsqlite3CorruptError(tls, 65337)
 	goto __15
 __14:
 	Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16)
@@ -26635,7 +26638,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 {
 	}
 
 	if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) {
-		rc = Xsqlite3CantopenError(tls, 65682)
+		rc = Xsqlite3CantopenError(tls, 65686)
 	}
 	if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
 		if rc != SQLITE_OK {
@@ -27108,7 +27111,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr
 				iRead = iFrame
 			}
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 66419)
+				return Xsqlite3CorruptError(tls, 66423)
 			}
 			iKey = walNextHash(tls, iKey)
 		}
@@ -27613,7 +27616,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
 
 	if rc == SQLITE_OK {
 		if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf {
-			rc = Xsqlite3CorruptError(tls, 67138)
+			rc = Xsqlite3CorruptError(tls, 67142)
 		} else {
 			rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
 		}
@@ -28270,7 +28273,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32
 		}
 		Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
 		if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
-			rc = Xsqlite3CorruptError(tls, 69249)
+			rc = Xsqlite3CorruptError(tls, 69253)
 		} else {
 			rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
 		}
@@ -28407,7 +28410,7 @@ __1:
 	if !(key == Pgno(0)) {
 		goto __2
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69430)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69434)
 	return
 __2:
 	;
@@ -28424,7 +28427,7 @@ __3:
 		goto __4
 	}
 
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69443)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69447)
 	goto ptrmap_exit
 __4:
 	;
@@ -28432,7 +28435,7 @@ __4:
 	if !(offset < 0) {
 		goto __5
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69448)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69452)
 	goto ptrmap_exit
 __5:
 	;
@@ -28475,7 +28478,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 	offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1)))
 	if offset < 0 {
 		Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
-		return Xsqlite3CorruptError(tls, 69493)
+		return Xsqlite3CorruptError(tls, 69497)
 	}
 
 	*(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
@@ -28485,7 +28488,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 
 	Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
 	if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 {
-		return Xsqlite3CorruptError(tls, 69501)
+		return Xsqlite3CorruptError(tls, 69505)
 	}
 	return SQLITE_OK
 }
@@ -28735,7 +28738,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr,
 	if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 		var ovfl Pgno
 		if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) {
-			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69893)
+			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69897)
 			return
 		}
 		ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4))
@@ -28782,7 +28785,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 {
 	if !(iFree > usableSize-4) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 69951)
+	return Xsqlite3CorruptError(tls, 69955)
 __2:
 	;
 	if !(iFree != 0) {
@@ -28792,7 +28795,7 @@ __2:
 	if !(iFree2 > usableSize-4) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 69954)
+	return Xsqlite3CorruptError(tls, 69958)
 __4:
 	;
 	if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) {
@@ -28805,7 +28808,7 @@ __4:
 	if !(top >= iFree) {
 		goto __6
 	}
-	return Xsqlite3CorruptError(tls, 69962)
+	return Xsqlite3CorruptError(tls, 69966)
 __6:
 	;
 	if !(iFree2 != 0) {
@@ -28814,14 +28817,14 @@ __6:
 	if !(iFree+sz > iFree2) {
 		goto __9
 	}
-	return Xsqlite3CorruptError(tls, 69965)
+	return Xsqlite3CorruptError(tls, 69969)
 __9:
 	;
 	sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1)))
 	if !(iFree2+sz2 > usableSize) {
 		goto __10
 	}
-	return Xsqlite3CorruptError(tls, 69967)
+	return Xsqlite3CorruptError(tls, 69971)
 __10:
 	;
 	libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint32(iFree2-(iFree+sz)))
@@ -28831,7 +28834,7 @@ __7:
 	if !(iFree+sz > usableSize) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 69971)
+	return Xsqlite3CorruptError(tls, 69975)
 __11:
 	;
 __8:
@@ -28895,7 +28898,7 @@ __19:
 	if !(pc < iCellStart || pc > iCellLast) {
 		goto __22
 	}
-	return Xsqlite3CorruptError(tls, 70004)
+	return Xsqlite3CorruptError(tls, 70008)
 __22:
 	;
 	size = int32((*struct {
@@ -28905,7 +28908,7 @@ __22:
 	if !(cbrk < iCellStart || pc+size > usableSize) {
 		goto __23
 	}
-	return Xsqlite3CorruptError(tls, 70010)
+	return Xsqlite3CorruptError(tls, 70014)
 __23:
 	;
 	*(*U8)(unsafe.Pointer(pAddr1)) = U8(cbrk >> 8)
@@ -28927,7 +28930,7 @@ defragment_out:
 	if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) {
 		goto __24
 	}
-	return Xsqlite3CorruptError(tls, 70024)
+	return Xsqlite3CorruptError(tls, 70028)
 __24:
 	;
 	*(*uint8)(unsafe.Pointer(data + uintptr(hdr+5))) = U8(cbrk >> 8)
@@ -28962,7 +28965,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 				*(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x)))
 				return aData + uintptr(pc)
 			} else if x+pc > maxPC {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70081)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70085)
 				return uintptr(0)
 			} else {
 				*(*U8)(unsafe.Pointer(aData + uintptr(pc+2))) = U8(x >> 8)
@@ -28975,13 +28978,13 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 		pc = int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1)))
 		if pc <= iAddr {
 			if pc != 0 {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70096)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70100)
 			}
 			return uintptr(0)
 		}
 	}
 	if pc > maxPC+nByte-4 {
-		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70103)
+		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70107)
 	}
 	return uintptr(0)
 }
@@ -29006,7 +29009,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 		if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) {
 			top = 65536
 		} else {
-			return Xsqlite3CorruptError(tls, 70152)
+			return Xsqlite3CorruptError(tls, 70156)
 		}
 	}
 
@@ -29017,7 +29020,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 
 			*(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, (int32(pSpace)-int32(data))/1)
 			if g2 <= gap {
-				return Xsqlite3CorruptError(tls, 70170)
+				return Xsqlite3CorruptError(tls, 70174)
 			} else {
 				return SQLITE_OK
 			}
@@ -29069,22 +29072,22 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 				if int32(iFreeBlk) == 0 {
 					break
 				}
-				return Xsqlite3CorruptError(tls, 70249)
+				return Xsqlite3CorruptError(tls, 70253)
 			}
 			iPtr = iFreeBlk
 		}
 		if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) {
-			return Xsqlite3CorruptError(tls, 70254)
+			return Xsqlite3CorruptError(tls, 70258)
 		}
 
 		if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) {
 			nFrag = U8(U32(iFreeBlk) - iEnd)
 			if iEnd > U32(iFreeBlk) {
-				return Xsqlite3CorruptError(tls, 70266)
+				return Xsqlite3CorruptError(tls, 70270)
 			}
 			iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1)))))
 			if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-				return Xsqlite3CorruptError(tls, 70269)
+				return Xsqlite3CorruptError(tls, 70273)
 			}
 			iSize = U16(iEnd - U32(iStart))
 			iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1))))
@@ -29094,7 +29097,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1))))
 			if iPtrEnd+3 >= int32(iStart) {
 				if iPtrEnd > int32(iStart) {
-					return Xsqlite3CorruptError(tls, 70282)
+					return Xsqlite3CorruptError(tls, 70286)
 				}
 				nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd))
 				iSize = U16(iEnd - U32(iPtr))
@@ -29102,7 +29105,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			}
 		}
 		if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) {
-			return Xsqlite3CorruptError(tls, 70288)
+			return Xsqlite3CorruptError(tls, 70292)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag))
 	}
@@ -29110,10 +29113,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 	x = U16(int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1))))
 	if int32(iStart) <= int32(x) {
 		if int32(iStart) < int32(x) {
-			return Xsqlite3CorruptError(tls, 70297)
+			return Xsqlite3CorruptError(tls, 70301)
 		}
 		if int32(iPtr) != int32(hdr)+1 {
-			return Xsqlite3CorruptError(tls, 70298)
+			return Xsqlite3CorruptError(tls, 70302)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8)
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk)
@@ -29173,7 +29176,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70357)
+			return Xsqlite3CorruptError(tls, 70361)
 		}
 	} else {
 		(*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize = U8(4)
@@ -29209,7 +29212,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70381)
+			return Xsqlite3CorruptError(tls, 70385)
 		}
 	}
 	return SQLITE_OK
@@ -29239,11 +29242,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 		var next U32
 		var size U32
 		if pc < top {
-			return Xsqlite3CorruptError(tls, 70432)
+			return Xsqlite3CorruptError(tls, 70436)
 		}
 		for 1 != 0 {
 			if pc > iCellLast {
-				return Xsqlite3CorruptError(tls, 70437)
+				return Xsqlite3CorruptError(tls, 70441)
 			}
 			next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1))))
 			size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1))))
@@ -29254,15 +29257,15 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 			pc = int32(next)
 		}
 		if next > U32(0) {
-			return Xsqlite3CorruptError(tls, 70447)
+			return Xsqlite3CorruptError(tls, 70451)
 		}
 		if U32(pc)+size > uint32(usableSize) {
-			return Xsqlite3CorruptError(tls, 70451)
+			return Xsqlite3CorruptError(tls, 70455)
 		}
 	}
 
 	if nFree > usableSize || nFree < iCellFirst {
-		return Xsqlite3CorruptError(tls, 70463)
+		return Xsqlite3CorruptError(tls, 70467)
 	}
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst))
 	return SQLITE_OK
@@ -29290,14 +29293,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 {
 		pc = int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(data + uintptr(cellOffset+i*2)))))
 
 		if pc < iCellFirst || pc > iCellLast {
-			return Xsqlite3CorruptError(tls, 70494)
+			return Xsqlite3CorruptError(tls, 70498)
 		}
 		sz = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
 		})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc)))
 
 		if pc+sz > usableSize {
-			return Xsqlite3CorruptError(tls, 70499)
+			return Xsqlite3CorruptError(tls, 70503)
 		}
 	}
 	return SQLITE_OK
@@ -29311,7 +29314,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 	data = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 {
-		return Xsqlite3CorruptError(tls, 70531)
+		return Xsqlite3CorruptError(tls, 70535)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1))
@@ -29323,7 +29326,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1))))
 	if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) {
-		return Xsqlite3CorruptError(tls, 70545)
+		return Xsqlite3CorruptError(tls, 70549)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = -1
@@ -29426,7 +29429,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	rc = Xsqlite3CorruptError(tls, 70700)
+	rc = Xsqlite3CorruptError(tls, 70704)
 	goto getAndInitPage_error1
 __1:
 	;
@@ -29454,7 +29457,7 @@ __3:
 	if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) {
 		goto __5
 	}
-	rc = Xsqlite3CorruptError(tls, 70721)
+	rc = Xsqlite3CorruptError(tls, 70725)
 	goto getAndInitPage_error2
 __5:
 	;
@@ -29493,7 +29496,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 {
 			releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
 			*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
-			return Xsqlite3CorruptError(tls, 70787)
+			return Xsqlite3CorruptError(tls, 70791)
 		}
 		(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0)
 	} else {
@@ -30376,7 +30379,7 @@ __16:
 	if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) {
 		goto __18
 	}
-	rc = Xsqlite3CorruptError(tls, 71722)
+	rc = Xsqlite3CorruptError(tls, 71726)
 	goto page1_init_failed
 	goto __19
 __18:
@@ -30791,7 +30794,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 	if int32(eType) == PTRMAP_OVERFLOW2 {
 		if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
-			return Xsqlite3CorruptError(tls, 72143)
+			return Xsqlite3CorruptError(tls, 72147)
 		}
 		Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo)
 	} else {
@@ -30817,7 +30820,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp)
 				if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 					if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-						return Xsqlite3CorruptError(tls, 72162)
+						return Xsqlite3CorruptError(tls, 72166)
 					}
 					if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) {
 						Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo)
@@ -30826,7 +30829,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				}
 			} else {
 				if pCell+uintptr(4) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-					return Xsqlite3CorruptError(tls, 72171)
+					return Xsqlite3CorruptError(tls, 72175)
 				}
 				if Xsqlite3Get4byte(tls, pCell) == iFrom {
 					Xsqlite3Put4byte(tls, pCell, iTo)
@@ -30837,7 +30840,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 		if i == nCell {
 			if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom {
-				return Xsqlite3CorruptError(tls, 72183)
+				return Xsqlite3CorruptError(tls, 72187)
 			}
 			Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo)
 		}
@@ -30853,7 +30856,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag
 	var pPager uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPager
 
 	if iDbPage < Pgno(3) {
-		return Xsqlite3CorruptError(tls, 72218)
+		return Xsqlite3CorruptError(tls, 72222)
 	}
 
 	*(*int32)(unsafe.Pointer(bp)) = Xsqlite3PagerMovepage(tls, pPager, (*MemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -30914,7 +30917,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 			return rc
 		}
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE {
-			return Xsqlite3CorruptError(tls, 72316)
+			return Xsqlite3CorruptError(tls, 72320)
 		}
 
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE {
@@ -30949,7 +30952,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 20)))
 				if *(*Pgno)(unsafe.Pointer(bp + 24)) > dbSize {
 					releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
-					return Xsqlite3CorruptError(tls, 72368)
+					return Xsqlite3CorruptError(tls, 72372)
 				}
 			}
 
@@ -31009,7 +31012,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 {
 		var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree)
 
 		if nOrig < nFin || nFree >= nOrig {
-			rc = Xsqlite3CorruptError(tls, 72436)
+			rc = Xsqlite3CorruptError(tls, 72440)
 		} else if nFree > Pgno(0) {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
 			if rc == SQLITE_OK {
@@ -31048,7 +31051,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 
 		nOrig = btreePagecount(tls, pBt)
 		if ptrmapPageno(tls, pBt, nOrig) == nOrig || nOrig == U32(Xsqlite3PendingByte)/(*BtShared)(unsafe.Pointer(pBt)).FpageSize+U32(1) {
-			return Xsqlite3CorruptError(tls, 72487)
+			return Xsqlite3CorruptError(tls, 72491)
 		}
 
 		nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
@@ -31079,7 +31082,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 		}
 		nFin = finalDbSize(tls, pBt, nOrig, nVac)
 		if nFin > nOrig {
-			return Xsqlite3CorruptError(tls, 72514)
+			return Xsqlite3CorruptError(tls, 72518)
 		}
 		if nFin < nOrig {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -31420,7 +31423,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u
 
 	if iTable <= Pgno(1) {
 		if iTable < Pgno(1) {
-			return Xsqlite3CorruptError(tls, 72978)
+			return Xsqlite3CorruptError(tls, 72982)
 		} else if btreePagecount(tls, pBt) == Pgno(0) {
 			iTable = Pgno(0)
 		}
@@ -31664,14 +31667,14 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt
 
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
-		return Xsqlite3CorruptError(tls, 73385)
+		return Xsqlite3CorruptError(tls, 73389)
 	}
 
 	getCellInfo(tls, pCur)
 	aPayload = (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
 
 	if Uptr((int32(aPayload)-int32((*MemPage)(unsafe.Pointer(pPage)).FaData))/1) > (*BtShared)(unsafe.Pointer(pBt)).FusableSize-U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
-		return Xsqlite3CorruptError(tls, 73400)
+		return Xsqlite3CorruptError(tls, 73404)
 	}
 
 	if offset < U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -31716,7 +31719,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 
 		for *(*Pgno)(unsafe.Pointer(bp)) != 0 {
 			if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage {
-				return Xsqlite3CorruptError(tls, 73462)
+				return Xsqlite3CorruptError(tls, 73466)
 			}
 
 			*(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp))
@@ -31765,7 +31768,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	}
 
 	if rc == SQLITE_OK && amt > U32(0) {
-		return Xsqlite3CorruptError(tls, 73547)
+		return Xsqlite3CorruptError(tls, 73551)
 	}
 	return rc
 }
@@ -31845,7 +31848,7 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt
 
 func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 {
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 {
-		return Xsqlite3CorruptError(tls, 73684)
+		return Xsqlite3CorruptError(tls, 73688)
 	}
 	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	*(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl))
@@ -31936,7 +31939,7 @@ __2:
 	if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 73823)
+	return Xsqlite3CorruptError(tls, 73827)
 __11:
 	;
 skip_init:
@@ -31956,7 +31959,7 @@ __12:
 	if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) {
 		goto __16
 	}
-	return Xsqlite3CorruptError(tls, 73835)
+	return Xsqlite3CorruptError(tls, 73839)
 __16:
 	;
 	subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8))
@@ -32166,7 +32169,7 @@ __19:
 	if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __21
 	}
-	return Xsqlite3CorruptError(tls, 74077)
+	return Xsqlite3CorruptError(tls, 74081)
 __21:
 	;
 	goto __19
@@ -32370,7 +32373,7 @@ __2:
 	if !!(int32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit) != 0) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 74273)
+	return Xsqlite3CorruptError(tls, 74277)
 __4:
 	;
 	goto bypass_moveto_root
@@ -32435,7 +32438,7 @@ __15:
 	if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) {
 		goto __17
 	}
-	rc = Xsqlite3CorruptError(tls, 74360)
+	rc = Xsqlite3CorruptError(tls, 74364)
 	goto moveto_index_finish
 __17:
 	;
@@ -32483,7 +32486,7 @@ __22:
 	if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) {
 		goto __24
 	}
-	rc = Xsqlite3CorruptError(tls, 74392)
+	rc = Xsqlite3CorruptError(tls, 74396)
 __24:
 	;
 	goto moveto_index_finish
@@ -32602,7 +32605,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 {
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1))
 	if !(int32((*MemPage)(unsafe.Pointer(pPage)).FisInit) != 0) || Xsqlite3FaultSim(tls, 412) != 0 {
-		return Xsqlite3CorruptError(tls, 74508)
+		return Xsqlite3CorruptError(tls, 74512)
 	}
 
 	if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
@@ -32762,7 +32765,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr
 	if !(n >= mxPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74688)
+	return Xsqlite3CorruptError(tls, 74692)
 __1:
 	;
 	if !(n > U32(0)) {
@@ -32827,7 +32830,7 @@ __15:
 	if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) {
 		goto __16
 	}
-	rc = Xsqlite3CorruptError(tls, 74744)
+	rc = Xsqlite3CorruptError(tls, 74748)
 	goto __17
 __16:
 	rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+4, 0)
@@ -32863,7 +32866,7 @@ __19:
 		goto __22
 	}
 
-	rc = Xsqlite3CorruptError(tls, 74773)
+	rc = Xsqlite3CorruptError(tls, 74777)
 	goto end_allocate_page
 	goto __23
 __22:
@@ -32907,7 +32910,7 @@ __27:
 	if !(iNewTrunk > mxPage) {
 		goto __32
 	}
-	rc = Xsqlite3CorruptError(tls, 74807)
+	rc = Xsqlite3CorruptError(tls, 74811)
 	goto end_allocate_page
 __32:
 	;
@@ -33019,7 +33022,7 @@ __40:
 	if !(iPage > mxPage || iPage < Pgno(2)) {
 		goto __51
 	}
-	rc = Xsqlite3CorruptError(tls, 74872)
+	rc = Xsqlite3CorruptError(tls, 74876)
 	goto end_allocate_page
 __51:
 	;
@@ -33177,7 +33180,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 {
 	if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74999)
+	return Xsqlite3CorruptError(tls, 75003)
 __1:
 	;
 	if !(pMemPage != 0) {
@@ -33234,7 +33237,7 @@ __7:
 	if !(iTrunk > btreePagecount(tls, pBt)) {
 		goto __10
 	}
-	*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 75046)
+	*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 75050)
 	goto freepage_out
 __10:
 	;
@@ -33250,7 +33253,7 @@ __11:
 	if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) {
 		goto __12
 	}
-	*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 75057)
+	*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 75061)
 	goto freepage_out
 __12:
 	;
@@ -33324,7 +33327,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 	var ovflPageSize U32
 
 	if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 75146)
+		return Xsqlite3CorruptError(tls, 75150)
 	}
 	ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
 	pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt
@@ -33336,7 +33339,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 		*(*Pgno)(unsafe.Pointer(bp + 4)) = Pgno(0)
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 		if ovflPgno < Pgno(2) || ovflPgno > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 75163)
+			return Xsqlite3CorruptError(tls, 75167)
 		}
 		if nOvfl != 0 {
 			rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+4)
@@ -33347,7 +33350,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 
 		if (*(*uintptr)(unsafe.Pointer(bp)) != 0 || libc.AssignPtrUintptr(bp, btreePageLookup(tls, pBt, ovflPgno)) != uintptr(0)) &&
 			Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 {
-			rc = Xsqlite3CorruptError(tls, 75183)
+			rc = Xsqlite3CorruptError(tls, 75187)
 		} else {
 			rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp)), ovflPgno)
 		}
@@ -33512,7 +33515,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
 	hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75436)
+		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75440)
 		return
 	}
 	rc = freeSpace(tls, pPage, uint16(pc), uint16(sz))
@@ -33790,12 +33793,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 
 		if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) {
 			if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) {
-				return Xsqlite3CorruptError(tls, 75737)
+				return Xsqlite3CorruptError(tls, 75741)
 			}
 			pCell = pTmp + uintptr((int32(pCell)-int32(aData))/1)
 		} else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) &&
 			Uptr(pCell) < Uptr(pSrcEnd) {
-			return Xsqlite3CorruptError(tls, 75742)
+			return Xsqlite3CorruptError(tls, 75746)
 		}
 
 		pData -= uintptr(sz)
@@ -33803,7 +33806,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 		*(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int32(pData) - int32(aData)) / 1)
 		pCellptr += uintptr(2)
 		if pData < pCellptr {
-			return Xsqlite3CorruptError(tls, 75748)
+			return Xsqlite3CorruptError(tls, 75752)
 		}
 		libc.Xmemmove(tls, pData, pCell, uint32(sz))
 
@@ -33863,7 +33866,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr,
 
 		if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4))+uintptr(sz)) > Uptr(pEnd) &&
 			Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4))) < Uptr(pEnd) {
-			Xsqlite3CorruptError(tls, 75833)
+			Xsqlite3CorruptError(tls, 75837)
 			return 1
 		}
 		libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4)), uint32(sz))
@@ -33952,7 +33955,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC
 	if !(nShift > nCell) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 75947)
+	return Xsqlite3CorruptError(tls, 75951)
 __2:
 	;
 	libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint32(nCell*2))
@@ -34068,7 +34071,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr
 	var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt
 
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
-		return Xsqlite3CorruptError(tls, 76060)
+		return Xsqlite3CorruptError(tls, 76064)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 80)) = allocateBtreePage(tls, pBt, bp, bp+4, uint32(0), uint8(0))
@@ -34388,7 +34391,7 @@ __22:
 	if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)))).FaData)))) {
 		goto __25
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76481)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76485)
 	goto balance_cleanup
 __25:
 	;
@@ -34399,7 +34402,7 @@ __25:
 	if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) {
 		goto __27
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76505)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76509)
 	goto balance_cleanup
 __27:
 	;
@@ -34557,7 +34560,7 @@ __52:
 	if !(k > NB+2) {
 		goto __55
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76606)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76610)
 	goto balance_cleanup
 __55:
 	;
@@ -34631,7 +34634,7 @@ __65:
 	}()) {
 		goto __67
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76639)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76643)
 	goto balance_cleanup
 __67:
 	;
@@ -34694,7 +34697,7 @@ __73:
 	}()) {
 		goto __75
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76683)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76687)
 	goto balance_cleanup
 __75:
 	;
@@ -34722,7 +34725,7 @@ __76:
 		*(*int32)(unsafe.Pointer(bp + 112)) == SQLITE_OK) {
 		goto __81
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76716)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76720)
 __81:
 	;
 	if !(*(*int32)(unsafe.Pointer(bp + 112)) != 0) {
@@ -34983,7 +34986,7 @@ __120:
 	if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) {
 		goto __121
 	}
-	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76916)
+	*(*int32)(unsafe.Pointer(bp + 112)) = Xsqlite3CorruptError(tls, 76920)
 	goto balance_cleanup
 __121:
 	;
@@ -35175,7 +35178,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 {
 		if pOther != pCur &&
 			int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID &&
 			(*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage {
-			return Xsqlite3CorruptError(tls, 77146)
+			return Xsqlite3CorruptError(tls, 77150)
 		}
 	}
 	return SQLITE_OK
@@ -35213,7 +35216,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 {
 				break
 			}
 		} else if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) > 1 {
-			rc = Xsqlite3CorruptError(tls, 77206)
+			rc = Xsqlite3CorruptError(tls, 77210)
 		} else {
 			var pParent uintptr = *(*uintptr)(unsafe.Pointer(pCur + 120 + uintptr(iPage-1)*4))
 			var iIdx int32 = int32(*(*U16)(unsafe.Pointer(pCur + 72 + uintptr(iPage-1)*2)))
@@ -35319,7 +35322,7 @@ func btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 			return rc
 		}
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
-			rc = Xsqlite3CorruptError(tls, 77370)
+			rc = Xsqlite3CorruptError(tls, 77374)
 		} else {
 			if U32(iOffset)+ovflPageSize < U32(nTotal) {
 				ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -35344,7 +35347,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 
 	if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd ||
 		(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FcellOffset) {
-		return Xsqlite3CorruptError(tls, 77398)
+		return Xsqlite3CorruptError(tls, 77402)
 	}
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
 		return btreeOverwriteContent(tls, pPage, (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX,
@@ -35414,7 +35417,7 @@ __2:
 		goto __3
 	}
 
-	return Xsqlite3CorruptError(tls, 77479)
+	return Xsqlite3CorruptError(tls, 77483)
 __3:
 	;
 __1:
@@ -35527,7 +35530,7 @@ __7:
 		goto __21
 	}
 
-	*(*int32)(unsafe.Pointer(bp + 104)) = Xsqlite3CorruptError(tls, 77602)
+	*(*int32)(unsafe.Pointer(bp + 104)) = Xsqlite3CorruptError(tls, 77606)
 	goto __22
 __21:
 	*(*int32)(unsafe.Pointer(bp + 104)) = btreeComputeFreeSpace(tls, pPage)
@@ -35587,6 +35590,7 @@ __30:
 __25:
 	;
 	idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
+	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !(*(*int32)(unsafe.Pointer(bp)) == 0) {
 		goto __31
 	}
@@ -35594,7 +35598,7 @@ __25:
 	if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) {
 		goto __33
 	}
-	return Xsqlite3CorruptError(tls, 77640)
+	return Xsqlite3CorruptError(tls, 77645)
 __33:
 	;
 	*(*int32)(unsafe.Pointer(bp + 104)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage)
@@ -35632,13 +35636,13 @@ __37:
 	if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) {
 		goto __39
 	}
-	return Xsqlite3CorruptError(tls, 77667)
+	return Xsqlite3CorruptError(tls, 77672)
 __39:
 	;
 	if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 108))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __40
 	}
-	return Xsqlite3CorruptError(tls, 77670)
+	return Xsqlite3CorruptError(tls, 77675)
 __40:
 	;
 	libc.Xmemcpy(tls, oldCell, newCell, uint32(*(*int32)(unsafe.Pointer(bp + 108))))
@@ -35669,7 +35673,6 @@ __32:
 	;
 	*(*int32)(unsafe.Pointer(bp + 104)) = insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 108)), uintptr(0), uint32(0))
 
-	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) {
 		goto __44
 	}
@@ -35744,7 +35747,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 	nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
 	aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
 	if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 77773)
+		return Xsqlite3CorruptError(tls, 77777)
 	}
 	nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
 	if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -35769,7 +35772,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 
 		if nRem > nIn {
 			if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-				return Xsqlite3CorruptError(tls, 77798)
+				return Xsqlite3CorruptError(tls, 77802)
 			}
 			ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
 		}
@@ -35870,7 +35873,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 				return *(*int32)(unsafe.Pointer(bp + 24))
 			}
 		} else {
-			return Xsqlite3CorruptError(tls, 77894)
+			return Xsqlite3CorruptError(tls, 77898)
 		}
 	}
 
@@ -35878,11 +35881,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 	iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
-		return Xsqlite3CorruptError(tls, 77903)
+		return Xsqlite3CorruptError(tls, 77907)
 	}
 	pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))))
 	if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 {
-		return Xsqlite3CorruptError(tls, 77907)
+		return Xsqlite3CorruptError(tls, 77911)
 	}
 
 	bPreserve = U8(libc.Bool32(int32(flags)&BTREE_SAVEPOSITION != 0))
@@ -35957,7 +35960,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 		}
 		pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))))
 		if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 {
-			return Xsqlite3CorruptError(tls, 77998)
+			return Xsqlite3CorruptError(tls, 78002)
 		}
 		nCell = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
@@ -36026,7 +36029,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 
 		Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp)
 		if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 78114)
+			return Xsqlite3CorruptError(tls, 78118)
 		}
 		*(*Pgno)(unsafe.Pointer(bp))++
 
@@ -36055,7 +36058,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 			}
 			*(*int32)(unsafe.Pointer(bp + 24)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp)), bp+16, bp+20)
 			if int32(*(*U8)(unsafe.Pointer(bp + 16))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 16))) == PTRMAP_FREEPAGE {
-				*(*int32)(unsafe.Pointer(bp + 24)) = Xsqlite3CorruptError(tls, 78162)
+				*(*int32)(unsafe.Pointer(bp + 24)) = Xsqlite3CorruptError(tls, 78166)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 24)) != SQLITE_OK {
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 12)))
@@ -36131,7 +36134,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 78252)
+	return Xsqlite3CorruptError(tls, 78256)
 __1:
 	;
 	*(*int32)(unsafe.Pointer(bp + 32)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0)
@@ -36145,7 +36148,7 @@ __2:
 		Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) {
 		goto __3
 	}
-	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78259)
+	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78263)
 	goto cleardatabasepage_out
 __3:
 	;
@@ -36279,7 +36282,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3
 	var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt
 
 	if iTable > btreePagecount(tls, pBt) {
-		return Xsqlite3CorruptError(tls, 78363)
+		return Xsqlite3CorruptError(tls, 78367)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0))
@@ -38749,7 +38752,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32,
 	var rc int32
 	(*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null)
 	if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) {
-		return Xsqlite3CorruptError(tls, 81630)
+		return Xsqlite3CorruptError(tls, 81634)
 	}
 	if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) {
 		rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz)
@@ -39397,7 +39400,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		return Xsqlite3GetVarint32(tls, a, bp)
 	}())
 	if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) {
-		return Xsqlite3CorruptError(tls, 82270)
+		return Xsqlite3CorruptError(tls, 82274)
 	}
 	iField = *(*int32)(unsafe.Pointer(bp))
 	for i = 0; i <= iCol; i++ {
@@ -39412,14 +39415,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		}())
 
 		if iHdr > *(*int32)(unsafe.Pointer(bp)) {
-			return Xsqlite3CorruptError(tls, 82276)
+			return Xsqlite3CorruptError(tls, 82280)
 		}
 		szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4))))
 		iField = iField + szField
 	}
 
 	if iField > nRec {
-		return Xsqlite3CorruptError(tls, 82282)
+		return Xsqlite3CorruptError(tls, 82286)
 	}
 	if pMem == uintptr(0) {
 		pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db))
@@ -41724,7 +41727,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 {
 		return rc
 	}
 	if *(*int32)(unsafe.Pointer(bp)) != 0 {
-		return Xsqlite3CorruptError(tls, 86058)
+		return Xsqlite3CorruptError(tls, 86062)
 	}
 	(*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0)
 	(*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE)
@@ -42275,7 +42278,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		i = 0
 	}
 	if d1 > uint32(nKey1) {
-		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86985))
+		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86989))
 		return 0
 	}
 
@@ -42340,7 +42343,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 
 				if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) ||
 					int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87062))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87066))
 					return 0
 				} else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 20 + uintptr(i)*4)) != 0 {
 					(*Mem)(unsafe.Pointer(bp + 8)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc
@@ -42374,7 +42377,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 				var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 48)) - U32(12)) / U32(2))
 
 				if d1+U32(nStr) > uint32(nKey1) {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87092))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87096))
 					return 0
 				} else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 {
 					if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) {
@@ -42424,7 +42427,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		}
 		idx1 = idx1 + U32(Xsqlite3VarintLen(tls, uint64(*(*U32)(unsafe.Pointer(bp + 48)))))
 		if idx1 >= *(*U32)(unsafe.Pointer(bp + 4)) {
-			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87136))
+			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87140))
 			return 0
 		}
 	}
@@ -42570,7 +42573,7 @@ __5:
 	if !(szHdr+nStr > nKey1) {
 		goto __7
 	}
-	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87299))
+	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87303))
 	return 0
 __7:
 	;
@@ -42741,7 +42744,7 @@ __6:
 idx_rowid_corruption:
 	;
 	Xsqlite3VdbeMemReleaseMalloc(tls, bp)
-	return Xsqlite3CorruptError(tls, 87457)
+	return Xsqlite3CorruptError(tls, 87461)
 }
 
 // Compare the key of the index entry that cursor pC is pointing to against
@@ -42767,7 +42770,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
 
 	if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) {
 		*(*int32)(unsafe.Pointer(res)) = 0
-		return Xsqlite3CorruptError(tls, 87490)
+		return Xsqlite3CorruptError(tls, 87494)
 	}
 	Xsqlite3VdbeMemInit(tls, bp, db, uint16(0))
 	rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp)
@@ -43041,7 +43044,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 {
 		var v uintptr = pStmt
 		var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb
 		if vdbeSafety(tls, v) != 0 {
-			return Xsqlite3MisuseError(tls, 87854)
+			return Xsqlite3MisuseError(tls, 87858)
 		}
 		Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) {
@@ -43656,7 +43659,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 {
 	var db uintptr
 
 	if vdbeSafetyNotNull(tls, v) != 0 {
-		return Xsqlite3MisuseError(tls, 88544)
+		return Xsqlite3MisuseError(tls, 88548)
 	}
 	db = (*Vdbe)(unsafe.Pointer(v)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -44176,7 +44179,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 
 	var pVar uintptr
 	if vdbeSafetyNotNull(tls, p) != 0 {
-		return Xsqlite3MisuseError(tls, 89208)
+		return Xsqlite3MisuseError(tls, 89212)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 	if int32((*Vdbe)(unsafe.Pointer(p)).FeVdbeState) != VDBE_READY_STATE {
@@ -44184,7 +44187,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 		Xsqlite3_log(tls, SQLITE_MISUSE,
 			ts+5357, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql))
-		return Xsqlite3MisuseError(tls, 89216)
+		return Xsqlite3MisuseError(tls, 89220)
 	}
 	if i >= uint32((*Vdbe)(unsafe.Pointer(p)).FnVar) {
 		Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE)
@@ -44589,7 +44592,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89707)
+	rc = Xsqlite3MisuseError(tls, 89711)
 	goto preupdate_old_out
 __1:
 	;
@@ -44733,7 +44736,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89809)
+	rc = Xsqlite3MisuseError(tls, 89813)
 	goto preupdate_new_out
 __1:
 	;
@@ -45177,10 +45180,6 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 {
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Real != 0 {
 			h = h + U64(Xsqlite3VdbeIntValue(tls, p))
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 {
-			h = h + U64((*Mem)(unsafe.Pointer(p)).Fn)
-			if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Zero != 0 {
-				h = h + U64(*(*int32)(unsafe.Pointer(p)))
-			}
 		}
 	}
 	return h
@@ -47828,7 +47827,7 @@ op_column_corrupt:
 	goto __9
 	goto __425
 __424:
-	rc = Xsqlite3CorruptError(tls, 93317)
+	rc = Xsqlite3CorruptError(tls, 93320)
 	goto abort_due_to_error
 __425:
 	;
@@ -49588,7 +49587,7 @@ notExistsWithKey:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) {
 		goto __682
 	}
-	rc = Xsqlite3CorruptError(tls, 95560)
+	rc = Xsqlite3CorruptError(tls, 95563)
 	goto __683
 __682:
 	goto jump_to_p2
@@ -50366,7 +50365,7 @@ __767:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) {
 		goto __770
 	}
-	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96635, ts+5866)
+	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96638, ts+5866)
 	goto abort_due_to_error
 __770:
 	;
@@ -50476,7 +50475,7 @@ __780:
 	if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) {
 		goto __781
 	}
-	rc = Xsqlite3CorruptError(tls, 96840)
+	rc = Xsqlite3CorruptError(tls, 96843)
 	goto abort_due_to_error
 __781:
 	;
@@ -50670,7 +50669,7 @@ __802:
 		goto __803
 	}
 
-	rc = Xsqlite3CorruptError(tls, 97092)
+	rc = Xsqlite3CorruptError(tls, 97095)
 __803:
 	;
 	Xsqlite3DbFreeNN(tls, db, zSql)
@@ -52037,7 +52036,7 @@ __955:
 	if !(rc == SQLITE_IOERR|int32(33)<<8) {
 		goto __957
 	}
-	rc = Xsqlite3CorruptError(tls, 99031)
+	rc = Xsqlite3CorruptError(tls, 99034)
 __957:
 	;
 __956:
@@ -52557,7 +52556,7 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99516)
+		return Xsqlite3MisuseError(tls, 99519)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -52640,7 +52639,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99616)
+		return Xsqlite3MisuseError(tls, 99619)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -56081,14 +56080,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			;
 			Xsqlite3WalkExpr(tls, pWalker, (*Expr)(unsafe.Pointer(pExpr)).FpLeft)
 			if 0 == Xsqlite3ExprCanBeNull(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
-				if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6764
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsTrue)
-				} else {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6769
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
-				}
-				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
+				*(*int32)(unsafe.Pointer(pExpr + 8)) = libc.Bool32(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL)
+				*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IntValue)
+				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_INTEGER)
+
 				i = 0
 				p = pNC
 			__4:
@@ -56132,7 +56127,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_GenCol) != 0 {
-					notValidImpl(tls, pParse, pNC, ts+6775, uintptr(0), pExpr)
+					notValidImpl(tls, pParse, pNC, ts+6764, uintptr(0), pExpr)
 				}
 
 				pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight
@@ -56196,7 +56191,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 						(*Expr)(unsafe.Pointer(pExpr)).FiTable = exprProbability(tls, (*ExprList_item)(unsafe.Pointer(pList+8+1*20)).FpExpr)
 						if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 {
 							Xsqlite3ErrorMsg(tls, pParse,
-								ts+6792, libc.VaList(bp, pExpr))
+								ts+6781, libc.VaList(bp, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
 					} else {
@@ -56212,7 +56207,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 					var auth int32 = Xsqlite3AuthCheck(tls, pParse, SQLITE_FUNCTION, uintptr(0), (*FuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0))
 					if auth != SQLITE_OK {
 						if auth == SQLITE_DENY {
-							Xsqlite3ErrorMsg(tls, pParse, ts+6856,
+							Xsqlite3ErrorMsg(tls, pParse, ts+6845,
 								libc.VaList(bp+8, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
@@ -56226,7 +56221,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				}
 				if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_CONSTANT) == U32(0) {
 					if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_PartIdx|NC_GenCol) != 0 {
-						notValidImpl(tls, pParse, pNC, ts+6892, uintptr(0), pExpr)
+						notValidImpl(tls, pParse, pNC, ts+6881, uintptr(0), pExpr)
 					}
 
 				} else {
@@ -56249,30 +56244,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			if 0 == libc.Bool32(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 				if pDef != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+6920, libc.VaList(bp+16, pExpr))
+						ts+6909, libc.VaList(bp+16, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowAgg == 0 ||
 					is_agg != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) ||
 					is_agg != 0 && pWin != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowWin == 0 {
 					var zType uintptr
 					if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 {
-						zType = ts + 6963
+						zType = ts + 6952
 					} else {
-						zType = ts + 6970
+						zType = ts + 6959
 					}
-					Xsqlite3ErrorMsg(tls, pParse, ts+6980, libc.VaList(bp+24, zType, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6969, libc.VaList(bp+24, zType, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 					is_agg = 0
 				} else if no_such_func != 0 && int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7008, libc.VaList(bp+40, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6997, libc.VaList(bp+40, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if wrong_num_args != 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7030,
+					Xsqlite3ErrorMsg(tls, pParse, ts+7019,
 						libc.VaList(bp+48, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg == 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7074,
+						ts+7063,
 						libc.VaList(bp+56, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				}
@@ -56344,15 +56339,15 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_SelfRef != 0 {
-					notValidImpl(tls, pParse, pNC, ts+7122, pExpr, pExpr)
+					notValidImpl(tls, pParse, pNC, ts+7111, pExpr, pExpr)
 				} else {
 					Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 20)))
 				}
 
 				if nRef != (*NameContext)(unsafe.Pointer(pNC)).FnRef {
 					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_VarSelect)
-					*(*int32)(unsafe.Pointer(pNC + 24)) |= NC_VarSelect
 				}
+				*(*int32)(unsafe.Pointer(pNC + 24)) |= NC_Subquery
 			}
 			break
 
@@ -56360,7 +56355,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 	case TK_VARIABLE:
 		{
 			if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IsCheck|NC_PartIdx|NC_IdxExpr|NC_GenCol) != 0 {
-				notValidImpl(tls, pParse, pNC, ts+7133, pExpr, pExpr)
+				notValidImpl(tls, pParse, pNC, ts+7122, pExpr, pExpr)
 			}
 
 			break
@@ -56491,7 +56486,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3
 	defer tls.Free(24)
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+7144, libc.VaList(bp, i, zType, mx))
+		ts+7133, libc.VaList(bp, i, zType, mx))
 	Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pError)
 }
 
@@ -56511,7 +56506,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	}
 	db = (*Parse)(unsafe.Pointer(pParse)).Fdb
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 120 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7200, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7189, 0)
 		return 1
 	}
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
@@ -56546,7 +56541,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 			}
 			if Xsqlite3ExprIsInteger(tls, pE, bp+8) != 0 {
 				if *(*int32)(unsafe.Pointer(bp + 8)) <= 0 || *(*int32)(unsafe.Pointer(bp + 8)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr {
-					resolveOutOfRangeError(tls, pParse, ts+7234, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
+					resolveOutOfRangeError(tls, pParse, ts+7223, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
 					return 1
 				}
 			} else {
@@ -56603,7 +56598,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
 		if int32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*20 + 8 + 4))&0x4>>2) == 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+7240, libc.VaList(bp, i+1))
+				ts+7229, libc.VaList(bp, i+1))
 			return 1
 		}
 	}
@@ -56631,7 +56626,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr,
 		return 0
 	}
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 120 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7301, libc.VaList(bp, zType))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7290, libc.VaList(bp, zType))
 		return 1
 	}
 	pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList
@@ -56845,7 +56840,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		*(*int32)(unsafe.Pointer(bp + 24)) |= NC_UEList
 		if (*Select)(unsafe.Pointer(p)).FpHaving != 0 {
 			if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Aggregate) == U32(0) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7332, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+7321, 0)
 				return WRC_Abort
 			}
 			if Xsqlite3ResolveExprNames(tls, bp, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 {
@@ -56885,7 +56880,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 
 		if (*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) &&
 			isCompound <= nCompound &&
-			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7234) != 0 {
+			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7223) != 0 {
 			return WRC_Abort
 		}
 		if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -56896,7 +56891,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		if pGroupBy != 0 {
 			var pItem uintptr
 
-			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7371) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
+			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7360) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 				return WRC_Abort
 			}
 			i = 0
@@ -56908,7 +56903,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 			{
 				if (*Expr)(unsafe.Pointer((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr)).Fflags&U32(EP_Agg) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7377, 0)
+						ts+7366, 0)
 					return WRC_Abort
 				}
 
@@ -57772,7 +57767,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32
 	var mxHeight int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 120 + 3*4))
 	if nHeight > mxHeight {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+7436, libc.VaList(bp, mxHeight))
+			ts+7425, libc.VaList(bp, mxHeight))
 		rc = SQLITE_ERROR
 	}
 	return rc
@@ -58021,10 +58016,10 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList
 			nExprElem = 1
 		}
 		if nExprElem != nElem {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7484,
+			Xsqlite3ErrorMsg(tls, pParse, ts+7473,
 				libc.VaList(bp, nExprElem, func() uintptr {
 					if nExprElem > 1 {
-						return ts + 7528
+						return ts + 7517
 					}
 					return ts + 1554
 				}(), nElem))
@@ -58065,7 +58060,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt
 		!(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 		Xsqlite3ExprDeferredDelete(tls, pParse, pLeft)
 		Xsqlite3ExprDeferredDelete(tls, pParse, pRight)
-		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7530)
+		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7519)
 	} else {
 		return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight)
 	}
@@ -58091,7 +58086,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u
 	if pList != 0 &&
 		(*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 120 + 6*4)) &&
 		!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7532, libc.VaList(bp, pToken))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7521, libc.VaList(bp, pToken))
 	}
 	*(*uintptr)(unsafe.Pointer(pNew + 20)) = pList
 	*(*U32)(unsafe.Pointer(pNew + 4)) |= U32(EP_HasFunc)
@@ -58119,7 +58114,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD
 	if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromDDL) != U32(0) {
 		if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_DIRECT) != U32(0) ||
 			(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) == uint64(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7566, libc.VaList(bp, pExpr))
+			Xsqlite3ErrorMsg(tls, pParse, ts+7555, libc.VaList(bp, pExpr))
 		}
 	}
 }
@@ -58166,7 +58161,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 			}
 
 			if bOk == 0 || *(*I64)(unsafe.Pointer(bp + 8)) < int64(1) || *(*I64)(unsafe.Pointer(bp + 8)) > I64(*(*int32)(unsafe.Pointer(db + 120 + 9*4))) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7586,
+				Xsqlite3ErrorMsg(tls, pParse, ts+7575,
 					libc.VaList(bp, *(*int32)(unsafe.Pointer(db + 120 + 9*4))))
 				Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 				return
@@ -58191,7 +58186,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 	}
 	(*Expr)(unsafe.Pointer(pExpr)).FiColumn = x
 	if int32(x) > *(*int32)(unsafe.Pointer(db + 120 + 9*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7629, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7618, 0)
 		Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 	}
 }
@@ -58766,7 +58761,7 @@ __2:
 	if !(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_SELECT && (*IdList)(unsafe.Pointer(pColumns)).FnId != libc.AssignInt32(&n, Xsqlite3ExprVectorSize(tls, pExpr))) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7652,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7641,
 		libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n))
 	goto vector_append_error
 __3:
@@ -58889,7 +58884,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr,
 	var mx int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 120 + 2*4))
 
 	if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7682, libc.VaList(bp, zObject))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7671, libc.VaList(bp, zObject))
 	}
 }
 
@@ -58945,10 +58940,10 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int
 //	  "false"                        EP_IsFalse
 //	  anything else                  0
 func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 {
-	if Xsqlite3StrICmp(tls, zIn, ts+6764) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7694) == 0 {
 		return U32(EP_IsTrue)
 	}
-	if Xsqlite3StrICmp(tls, zIn, ts+6769) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7699) == 0 {
 		return U32(EP_IsFalse)
 	}
 	return U32(0)
@@ -60022,7 +60017,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 {
 	}
 	if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
-		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7530)
+		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7519)
 		if pLimit != 0 {
 			(*Expr)(unsafe.Pointer(pLimit)).FaffExpr = uint8(SQLITE_AFF_NUMERIC)
 			pLimit = Xsqlite3PExpr(tls, pParse, TK_NE,
@@ -60460,6 +60455,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr
 func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) {
 	var iAddr int32
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
+	var nErr int32 = (*Parse)(unsafe.Pointer(pParse)).FnErr
 
 	if (*Parse)(unsafe.Pointer(pParse)).FiSelfTab > 0 {
 		iAddr = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Parse)(unsafe.Pointer(pParse)).FiSelfTab-1, 0, regOut)
@@ -60473,6 +60469,9 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr
 	if iAddr != 0 {
 		Xsqlite3VdbeJumpHere(tls, v, iAddr)
 	}
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr > nErr {
+		(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FerrByteOffset = -1
+	}
 }
 
 // Generate code to extract the value of the iCol-th column of a table.
@@ -60691,6 +60690,7 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 	var p uintptr
 	var v uintptr
 	for p = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr; p != 0; p = (*IndexedExpr)(unsafe.Pointer(p)).FpIENext {
+		var exprAff U8
 		var iDataCur int32 = (*IndexedExpr)(unsafe.Pointer(p)).FiDataCur
 		if iDataCur < 0 {
 			continue
@@ -60704,6 +60704,14 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 		if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IndexedExpr)(unsafe.Pointer(p)).FpExpr, iDataCur) != 0 {
 			continue
 		}
+
+		exprAff = Xsqlite3ExprAffinity(tls, pExpr)
+		if int32(exprAff) <= SQLITE_AFF_BLOB && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_BLOB ||
+			int32(exprAff) == SQLITE_AFF_TEXT && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_TEXT ||
+			int32(exprAff) >= SQLITE_AFF_NUMERIC && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_NUMERIC {
+			continue
+		}
+
 		v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 
 		if (*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow != 0 {
@@ -61477,7 +61485,7 @@ __121:
 	if !((*Expr)(unsafe.Pointer(pExpr)).FiTable != n1) {
 		goto __122
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7652,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7641,
 		libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1))
 __122:
 	;
@@ -61499,11 +61507,10 @@ __49:
 	return target
 
 __50:
-	if !(!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) &&
-		(*Expr)(unsafe.Pointer(pExpr)).FpLeft != 0 &&
-		int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_FUNCTION) {
+	if !!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) {
 		goto __123
 	}
+
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	if !(inReg != target) {
 		goto __125
@@ -61574,13 +61581,19 @@ __129:
 	;
 __127:
 	;
-	addrINR = Xsqlite3VdbeAddOp1(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable)
+	addrINR = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable, 0, target)
 
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = U8(0)
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = okConstFactor
+	if !(inReg != target) {
+		goto __130
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, inReg, target)
+	inReg = target
+__130:
+	;
 	Xsqlite3VdbeJumpHere(tls, v, addrINR)
-	Xsqlite3VdbeChangeP3(tls, v, addrINR, inReg)
 	goto __5
 
 __56:
@@ -61593,15 +61606,15 @@ __56:
 	nExpr = (*ExprList)(unsafe.Pointer(pEList)).FnExpr
 	endLabel = Xsqlite3VdbeMakeLabel(tls, pParse)
 	if !(libc.AssignUintptr(&pX, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) != uintptr(0)) {
-		goto __130
+		goto __131
 	}
 	pDel = Xsqlite3ExprDup(tls, db1, pX, 0)
 	if !((*Sqlite3)(unsafe.Pointer(db1)).FmallocFailed != 0) {
-		goto __131
+		goto __132
 	}
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	goto __5
-__131:
+__132:
 	;
 	exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+40))
 
@@ -61611,22 +61624,22 @@ __131:
 	pTest = bp + 100
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = 0
-__130:
+__131:
 	;
 	i1 = 0
-__132:
+__133:
 	if !(i1 < nExpr-1) {
-		goto __134
+		goto __135
 	}
 	if !(pX != 0) {
-		goto __135
+		goto __136
 	}
 
 	(*Expr)(unsafe.Pointer(bp + 100)).FpRight = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*20)).FpExpr
-	goto __136
-__135:
-	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*20)).FpExpr
+	goto __137
 __136:
+	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*20)).FpExpr
+__137:
 	;
 	nextCase = Xsqlite3VdbeMakeLabel(tls, pParse)
 
@@ -61635,21 +61648,21 @@ __136:
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(aListelem+uintptr(i1+1)*20)).FpExpr, target)
 	Xsqlite3VdbeGoto(tls, v, endLabel)
 	Xsqlite3VdbeResolveLabel(tls, v, nextCase)
-	goto __133
-__133:
-	i1 = i1 + 2
-	goto __132
 	goto __134
 __134:
+	i1 = i1 + 2
+	goto __133
+	goto __135
+__135:
 	;
 	if !(nExpr&1 != 0) {
-		goto __137
+		goto __138
 	}
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(pEList+8+uintptr(nExpr-1)*20)).FpExpr, target)
-	goto __138
-__137:
-	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+	goto __139
 __138:
+	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+__139:
 	;
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	setDoNotMergeFlagOnCopy(tls, v)
@@ -61659,27 +61672,27 @@ __138:
 __57:
 	;
 	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).FpTriggerTab) != 0) && !(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0)) {
-		goto __139
+		goto __140
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
 		ts+8082, 0)
 	return 0
-__139:
-	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
-		goto __140
-	}
-	Xsqlite3MayAbort(tls, pParse)
 __140:
 	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
 		goto __141
 	}
+	Xsqlite3MayAbort(tls, pParse)
+__141:
+	;
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+		goto __142
+	}
 	Xsqlite3VdbeAddOp4(tls,
 		v, OP_Halt, SQLITE_OK, OE_Ignore, 0, *(*uintptr)(unsafe.Pointer(pExpr + 8)), 0)
 
-	goto __142
-__141:
+	goto __143
+__142:
 	Xsqlite3HaltConstraint(tls, pParse,
 		func() int32 {
 			if (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab != 0 {
@@ -61688,7 +61701,7 @@ __141:
 			return SQLITE_ERROR
 		}(),
 		int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr), *(*uintptr)(unsafe.Pointer(pExpr + 8)), int8(0), uint8(0))
-__142:
+__143:
 	;
 	goto __5
 
@@ -64356,7 +64369,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 		return SQLITE_NOMEM
 	}
 	if Xsqlite3_strnicmp(tls, zSql, ts+10922, 7) != 0 {
-		return Xsqlite3CorruptError(tls, 113494)
+		return Xsqlite3CorruptError(tls, 113516)
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 {
 		if bTemp != 0 {
@@ -64373,7 +64386,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 	}
 	if rc == SQLITE_OK &&
 		((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
-		rc = Xsqlite3CorruptError(tls, 113505)
+		rc = Xsqlite3CorruptError(tls, 113527)
 	}
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
@@ -65294,7 +65307,7 @@ __1:
 		goto __2
 	}
 
-	rc = Xsqlite3CorruptError(tls, 114441)
+	rc = Xsqlite3CorruptError(tls, 114463)
 	goto drop_column_done
 __2:
 	;
@@ -69659,6 +69672,12 @@ __10:
 
 	pExpr = Xsqlite3PExpr(tls, pParse, TK_UPLUS, pExpr, uintptr(0))
 __11:
+	;
+	if !(pExpr != 0 && int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_RAISE) {
+		goto __12
+	}
+	(*Expr)(unsafe.Pointer(pExpr)).FaffExpr = (*Column)(unsafe.Pointer(pCol)).Faffinity
+__12:
 	;
 	Xsqlite3ColumnSetExpr(tls, pParse, pTab, pCol, pExpr)
 	pExpr = uintptr(0)
@@ -70824,7 +70843,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 {
 		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3286, 4) == 0 {
 			return 0
 		}
-		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7133, 10) == 0 {
+		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7122, 10) == 0 {
 			return 0
 		}
 		return 1
@@ -72070,7 +72089,7 @@ __81:
 		goto __101
 	}
 	Xsqlite3ErrorMsg(tls, pParse, ts+14140, 0)
-	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121835)
+	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121859)
 	goto exit_create_index
 __101:
 	;
@@ -74115,7 +74134,7 @@ __20:
 	goto __16
 __15:
 	wcf = U16(WHERE_ONEPASS_DESIRED | WHERE_DUPLICATES_OK)
-	if !((*NameContext)(unsafe.Pointer(bp+8)).FncFlags&NC_VarSelect != 0) {
+	if !((*NameContext)(unsafe.Pointer(bp+8)).FncFlags&NC_Subquery != 0) {
 		goto __23
 	}
 	bComplex = 1
@@ -80582,7 +80601,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca
 	if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) {
 		goto __1
 	}
-	return Xsqlite3MisuseError(tls, 131895)
+	return Xsqlite3MisuseError(tls, 131931)
 __1:
 	;
 	if !(zSql == uintptr(0)) {
@@ -81979,7 +81998,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh
 		} else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) {
 			zType = ts + 17513
 		} else {
-			zType = ts + 7528
+			zType = ts + 7517
 		}
 		Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17515,
 			libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin,
@@ -82140,6 +82159,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p
 	var zErr2 uintptr
 	var k3 int32
 	var pCheck uintptr
+	var jmp7 int32
 	var jmp6 int32
 	var iCol1 int32
 	var uniqOk int32
@@ -83458,7 +83478,7 @@ __215:
 		goto __217
 	}
 	pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7528, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7517, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
 	goto __216
 __216:
 	j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext
@@ -83474,7 +83494,7 @@ __218:
 	if !(i6 < int32(uint32(unsafe.Sizeof(aPragmaName))/uint32(unsafe.Sizeof(PragmaName{})))) {
 		goto __220
 	}
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7528, libc.VaList(bp+272, aPragmaName[i6].FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7517, libc.VaList(bp+272, aPragmaName[i6].FzName))
 	goto __219
 __219:
 	i6++
@@ -84279,80 +84299,94 @@ __344:
 	jmp4 = integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, jmp21)
 
+	if !((*Table)(unsafe.Pointer(pTab9)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) {
+		goto __345
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_IdxRowid, *(*int32)(unsafe.Pointer(bp + 572))+j4, 3)
+	jmp7 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 3, 0, r1+int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)-1)
+
+	Xsqlite3VdbeLoadString(tls, v, 3,
+		ts+17929)
+	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17965)
+	Xsqlite3VdbeGoto(tls, v, jmp5-1)
+	Xsqlite3VdbeJumpHere(tls, v, jmp7)
+__345:
+	;
 	label6 = 0
 	kk = 0
-__345:
+__346:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __347
-	}
-	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*4)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __348
 	}
-	goto __346
-__348:
-	;
-	if !(label6 == 0) {
+	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*4)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __349
 	}
-	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+	goto __347
 __349:
+	;
+	if !(label6 == 0) {
+		goto __350
+	}
+	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+__350:
 	;
 	Xsqlite3VdbeAddOp3(tls, v, OP_Column, *(*int32)(unsafe.Pointer(bp + 572))+j4, kk, 3)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Ne, 3, label6, r1+kk)
-	goto __346
-__346:
-	kk++
-	goto __345
 	goto __347
 __347:
+	kk++
+	goto __346
+	goto __348
+__348:
 	;
 	if !(label6 != 0) {
-		goto __350
+		goto __351
 	}
 	jmp6 = Xsqlite3VdbeAddOp0(tls, v, OP_Goto)
 	Xsqlite3VdbeResolveLabel(tls, v, label6)
 	Xsqlite3VdbeLoadString(tls, v, 3, ts+17903)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
-	Xsqlite3VdbeLoadString(tls, v, 4, ts+17929)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17976)
 	Xsqlite3VdbeGoto(tls, v, jmp5-1)
 	Xsqlite3VdbeJumpHere(tls, v, jmp6)
-__350:
+__351:
 	;
 	if !(int32((*Index)(unsafe.Pointer(pIdx5)).FonError) != OE_None) {
-		goto __351
+		goto __352
 	}
 	uniqOk = Xsqlite3VdbeMakeLabel(tls, pParse)
 	kk = 0
-__352:
+__353:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __354
+		goto __355
 	}
 	iCol1 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2)))
 
 	if !(iCol1 >= 0 && uint32(int32(*(*uint8)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*16 + 4))&0xf>>0)) != 0) {
-		goto __355
+		goto __356
 	}
-	goto __353
-__355:
+	goto __354
+__356:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_IsNull, r1+kk, uniqOk)
 
-	goto __353
-__353:
-	kk++
-	goto __352
 	goto __354
 __354:
+	kk++
+	goto __353
+	goto __355
+__355:
 	;
 	jmp61 = Xsqlite3VdbeAddOp1(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 572))+j4)
 	Xsqlite3VdbeGoto(tls, v, uniqOk)
 	Xsqlite3VdbeJumpHere(tls, v, jmp61)
 	Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, *(*int32)(unsafe.Pointer(bp + 572))+j4, uniqOk, r1,
 		int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol))
-	Xsqlite3VdbeLoadString(tls, v, 3, ts+17956)
+	Xsqlite3VdbeLoadString(tls, v, 3, ts+18003)
 	Xsqlite3VdbeGoto(tls, v, jmp5)
 	Xsqlite3VdbeResolveLabel(tls, v, uniqOk)
-__351:
+__352:
 	;
 	Xsqlite3VdbeJumpHere(tls, v, jmp4)
 	Xsqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 580)))
@@ -84369,20 +84403,20 @@ __340:
 	Xsqlite3VdbeAddOp2(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 568)), loopTop)
 	Xsqlite3VdbeJumpHere(tls, v, loopTop-1)
 	if !!(isQuick != 0) {
-		goto __356
+		goto __357
 	}
-	Xsqlite3VdbeLoadString(tls, v, 2, ts+17983)
+	Xsqlite3VdbeLoadString(tls, v, 2, ts+18030)
 	j4 = 0
 	pIdx5 = (*Table)(unsafe.Pointer(pTab9)).FpIndex
-__357:
+__358:
 	if !(pIdx5 != 0) {
-		goto __359
-	}
-	if !(pPk1 == pIdx5) {
 		goto __360
 	}
-	goto __358
-__360:
+	if !(pPk1 == pIdx5) {
+		goto __361
+	}
+	goto __359
+__361:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_Count, *(*int32)(unsafe.Pointer(bp + 572))+j4, 3)
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 8+j4, 0, 3)
@@ -84391,21 +84425,21 @@ __360:
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 2, 3)
 	integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
-	goto __358
-__358:
-	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
-	j4++
-	goto __357
 	goto __359
 __359:
+	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
+	j4++
+	goto __358
+	goto __360
+__360:
 	;
 	if !(pPk1 != 0) {
-		goto __361
+		goto __362
 	}
 	Xsqlite3ReleaseTempRange(tls, pParse, r2, int32((*Index)(unsafe.Pointer(pPk1)).FnKeyCol))
-__361:
+__362:
 	;
-__356:
+__357:
 	;
 	goto __291
 __291:
@@ -84423,14 +84457,14 @@ __266:
 	;
 	aOp2 = Xsqlite3VdbeAddOpList(tls, v, int32(uint32(unsafe.Sizeof(endCode))/uint32(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&endCode)), iLn5)
 	if !(aOp2 != 0) {
-		goto __362
+		goto __363
 	}
 	(*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = 1 - *(*int32)(unsafe.Pointer(bp + 564))
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 2*20)).Fp4type = int8(-1)
-	*(*uintptr)(unsafe.Pointer(aOp2 + 2*20 + 16)) = ts + 18012
+	*(*uintptr)(unsafe.Pointer(aOp2 + 2*20 + 16)) = ts + 18059
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 5*20)).Fp4type = int8(-1)
 	*(*uintptr)(unsafe.Pointer(aOp2 + 5*20 + 16)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT)
-__362:
+__363:
 	;
 	Xsqlite3VdbeChangeP3(tls, v, 0, Xsqlite3VdbeCurrentAddr(tls, v)-2)
 
@@ -84438,27 +84472,27 @@ __362:
 
 __45:
 	if !!(zRight != 0) {
-		goto __363
+		goto __364
 	}
 	if !(Xsqlite3ReadSchema(tls, pParse) != 0) {
-		goto __365
-	}
-	goto pragma_out
-__365:
-	;
-	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
-	goto __364
-__363:
-	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
 		goto __366
 	}
+	goto pragma_out
+__366:
+	;
+	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
+	goto __365
+__364:
+	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
+		goto __367
+	}
 	pEnc = uintptr(unsafe.Pointer(&encnames1))
-__367:
+__368:
 	if !((*EncName)(unsafe.Pointer(pEnc)).FzName != 0) {
-		goto __369
+		goto __370
 	}
 	if !(0 == Xsqlite3StrICmp(tls, zRight, (*EncName)(unsafe.Pointer(pEnc)).FzName)) {
-		goto __370
+		goto __371
 	}
 	if (*EncName)(unsafe.Pointer(pEnc)).Fenc != 0 {
 		enc = (*EncName)(unsafe.Pointer(pEnc)).Fenc
@@ -84467,25 +84501,25 @@ __367:
 	}
 	(*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema)).Fenc = enc
 	Xsqlite3SetTextEncoding(tls, db, enc)
-	goto __369
-__370:
-	;
-	goto __368
-__368:
-	pEnc += 8
-	goto __367
-	goto __369
-__369:
-	;
-	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
-		goto __371
-	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18015, libc.VaList(bp+456, zRight))
+	goto __370
 __371:
 	;
-__366:
+	goto __369
+__369:
+	pEnc += 8
+	goto __368
+	goto __370
+__370:
 	;
-__364:
+	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
+		goto __372
+	}
+	Xsqlite3ErrorMsg(tls, pParse, ts+18062, libc.VaList(bp+456, zRight))
+__372:
+	;
+__367:
+	;
+__365:
 	;
 	goto __15
 
@@ -84493,15 +84527,15 @@ __46:
 	iCookie = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiArg)
 	Xsqlite3VdbeUsesBtree(tls, v, iDb)
 	if !(zRight != 0 && int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_ReadOnly == 0) {
-		goto __372
+		goto __373
 	}
 
 	aOp3 = Xsqlite3VdbeAddOpList(tls, v, int32(uint32(unsafe.Sizeof(setCookie))/uint32(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&setCookie)), 0)
 	if !(0 != 0) {
-		goto __374
+		goto __375
 	}
 	goto __15
-__374:
+__375:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp3)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*20)).Fp1 = iDb
@@ -84509,41 +84543,41 @@ __374:
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*20)).Fp3 = Xsqlite3Atoi(tls, zRight)
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*20)).Fp5 = U16(1)
 	if !(iCookie == BTREE_SCHEMA_VERSION && (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0)) {
-		goto __375
+		goto __376
 	}
 
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*20)).Fopcode = U8(OP_Noop)
-__375:
+__376:
 	;
-	goto __373
-__372:
+	goto __374
+__373:
 	;
 	aOp4 = Xsqlite3VdbeAddOpList(tls, v, int32(uint32(unsafe.Sizeof(readCookie))/uint32(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&readCookie)), 0)
 	if !(0 != 0) {
-		goto __376
+		goto __377
 	}
 	goto __15
-__376:
+__377:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp4)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*20)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*20)).Fp3 = iCookie
 	Xsqlite3VdbeReusable(tls, v)
-__373:
+__374:
 	;
 	goto __15
 
 __47:
 	i10 = 0
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 1
-__377:
+__378:
 	if !(libc.AssignUintptr(&zOpt, Xsqlite3_compileoption_get(tls, libc.PostIncInt32(&i10, 1))) != uintptr(0)) {
-		goto __378
+		goto __379
 	}
 	Xsqlite3VdbeLoadString(tls, v, 1, zOpt)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1)
-	goto __377
-__378:
+	goto __378
+__379:
 	;
 	Xsqlite3VdbeReusable(tls, v)
 
@@ -84558,31 +84592,31 @@ __48:
 	}()
 	eMode2 = SQLITE_CHECKPOINT_PASSIVE
 	if !(zRight != 0) {
-		goto __379
-	}
-	if !(Xsqlite3StrICmp(tls, zRight, ts+17345) == 0) {
 		goto __380
 	}
+	if !(Xsqlite3StrICmp(tls, zRight, ts+17345) == 0) {
+		goto __381
+	}
 	eMode2 = SQLITE_CHECKPOINT_FULL
-	goto __381
-__380:
-	if !(Xsqlite3StrICmp(tls, zRight, ts+18040) == 0) {
-		goto __382
+	goto __382
+__381:
+	if !(Xsqlite3StrICmp(tls, zRight, ts+18087) == 0) {
+		goto __383
 	}
 	eMode2 = SQLITE_CHECKPOINT_RESTART
-	goto __383
-__382:
+	goto __384
+__383:
 	if !(Xsqlite3StrICmp(tls, zRight, ts+17498) == 0) {
-		goto __384
+		goto __385
 	}
 	eMode2 = SQLITE_CHECKPOINT_TRUNCATE
+__385:
+	;
 __384:
 	;
-__383:
+__382:
 	;
-__381:
-	;
-__379:
+__380:
 	;
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 3
 	Xsqlite3VdbeAddOp3(tls, v, OP_Checkpoint, iBt, eMode2, 1)
@@ -84592,10 +84626,10 @@ __379:
 
 __49:
 	if !(zRight != 0) {
-		goto __385
+		goto __386
 	}
 	Xsqlite3_wal_autocheckpoint(tls, db, Xsqlite3Atoi(tls, zRight))
-__385:
+__386:
 	;
 	returnSingleInt(tls, v,
 		func() int64 {
@@ -84615,19 +84649,19 @@ __50:
 
 __51:
 	if !(zRight != 0) {
-		goto __386
+		goto __387
 	}
 	opMask = U32(Xsqlite3Atoi(tls, zRight))
 	if !(opMask&U32(0x02) == U32(0)) {
-		goto __388
+		goto __389
 	}
 	goto __15
-__388:
+__389:
 	;
-	goto __387
-__386:
-	opMask = U32(0xfffe)
+	goto __388
 __387:
+	opMask = U32(0xfffe)
+__388:
 	;
 	iTabCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1)
 	iDbLast = func() int32 {
@@ -84636,86 +84670,86 @@ __387:
 		}
 		return (*Sqlite3)(unsafe.Pointer(db)).FnDb - 1
 	}()
-__389:
+__390:
 	if !(iDb <= iDbLast) {
-		goto __391
-	}
-	if !(iDb == 1) {
 		goto __392
 	}
-	goto __390
-__392:
+	if !(iDb == 1) {
+		goto __393
+	}
+	goto __391
+__393:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
 	pSchema = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*16)).FpSchema
 	k4 = (*Hash)(unsafe.Pointer(pSchema + 8)).Ffirst
-__393:
+__394:
 	if !(k4 != 0) {
-		goto __395
+		goto __396
 	}
 	pTab10 = (*HashElem)(unsafe.Pointer(k4)).Fdata
 
 	if !((*Table)(unsafe.Pointer(pTab10)).FtabFlags&U32(TF_StatsUsed) == U32(0)) {
-		goto __396
+		goto __397
 	}
-	goto __394
-__396:
+	goto __395
+__397:
 	;
 	szThreshold = LogEst(int32((*Table)(unsafe.Pointer(pTab10)).FnRowLogEst) + 46)
 	pIdx6 = (*Table)(unsafe.Pointer(pTab10)).FpIndex
-__397:
+__398:
 	if !(pIdx6 != 0) {
-		goto __399
-	}
-	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 56))&0x80>>7) != 0) {
 		goto __400
 	}
+	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 56))&0x80>>7) != 0) {
+		goto __401
+	}
 	szThreshold = int16(0)
-	goto __399
-__400:
+	goto __400
+__401:
 	;
-	goto __398
-__398:
-	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
-	goto __397
 	goto __399
 __399:
+	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
+	goto __398
+	goto __400
+__400:
 	;
 	if !(szThreshold != 0) {
-		goto __401
+		goto __402
 	}
 	Xsqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab10, OP_OpenRead)
 	Xsqlite3VdbeAddOp3(tls, v, OP_IfSmaller, iTabCur,
 		int32(U32(Xsqlite3VdbeCurrentAddr(tls, v)+2)+opMask&U32(1)), int32(szThreshold))
 
-__401:
+__402:
 	;
-	zSubSql = Xsqlite3MPrintf(tls, db, ts+18048,
+	zSubSql = Xsqlite3MPrintf(tls, db, ts+18095,
 		libc.VaList(bp+464, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, (*Table)(unsafe.Pointer(pTab10)).FzName))
 	if !(opMask&U32(0x01) != 0) {
-		goto __402
+		goto __403
 	}
 	r11 = Xsqlite3GetTempReg(tls, pParse)
 	Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, r11, 0, zSubSql, -6)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, r11, 1)
-	goto __403
-__402:
-	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+	goto __404
 __403:
+	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+__404:
 	;
-	goto __394
-__394:
-	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
-	goto __393
 	goto __395
 __395:
+	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
+	goto __394
+	goto __396
+__396:
 	;
-	goto __390
-__390:
-	iDb++
-	goto __389
 	goto __391
 __391:
+	iDb++
+	goto __390
+	goto __392
+__392:
 	;
 	Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
 	goto __15
@@ -84723,36 +84757,36 @@ __391:
 __52:
 	;
 	if !(zRight != 0) {
-		goto __404
+		goto __405
 	}
 	Xsqlite3_busy_timeout(tls, db, Xsqlite3Atoi(tls, zRight))
-__404:
+__405:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout))
 	goto __15
 
 __53:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+584) == SQLITE_OK) {
-		goto __405
+		goto __406
 	}
 	Xsqlite3_soft_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 584)))
-__405:
+__406:
 	;
 	returnSingleInt(tls, v, Xsqlite3_soft_heap_limit64(tls, int64(-1)))
 	goto __15
 
 __54:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+592) == SQLITE_OK) {
-		goto __406
+		goto __407
 	}
 	iPrior = Xsqlite3_hard_heap_limit64(tls, int64(-1))
 	if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 592)) > int64(0) && (iPrior == int64(0) || iPrior > *(*Sqlite3_int64)(unsafe.Pointer(bp + 592)))) {
-		goto __407
+		goto __408
 	}
 	Xsqlite3_hard_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 592)))
-__407:
+__408:
 	;
-__406:
+__407:
 	;
 	returnSingleInt(tls, v, Xsqlite3_hard_heap_limit64(tls, int64(-1)))
 	goto __15
@@ -84761,10 +84795,10 @@ __55:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+600) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 600)) >= int64(0)) {
-		goto __408
+		goto __409
 	}
 	Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 600))&int64(0x7fffffff)))
-__408:
+__409:
 	;
 	returnSingleInt(tls, v, int64(Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, -1)))
 	goto __15
@@ -84773,10 +84807,10 @@ __56:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+608) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 608)) >= int64(0)) {
-		goto __409
+		goto __410
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 608)) & int64(0x7fffffff))
-__409:
+__410:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit))
 	goto __15
@@ -84784,10 +84818,10 @@ __409:
 __15:
 	;
 	if !(int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_NoColumns1 != 0 && zRight != 0) {
-		goto __410
+		goto __411
 	}
 
-__410:
+__411:
 	;
 pragma_out:
 	Xsqlite3DbFree(tls, db, zLeft)
@@ -84839,14 +84873,14 @@ var endCode = [7]VdbeOpList{
 	{Fopcode: U8(OP_Goto), Fp2: int8(3)},
 }
 var encnames1 = [9]EncName{
-	{FzName: ts + 18066, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18071, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18077, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18086, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18095, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18103, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18111},
-	{FzName: ts + 18118},
+	{FzName: ts + 18113, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18118, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18124, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18133, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18142, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18150, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18158},
+	{FzName: ts + 18165},
 	{},
 }
 var setCookie = [2]VdbeOpList{
@@ -84898,7 +84932,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	_ = argc
 	_ = argv
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), bp+56, int32(unsafe.Sizeof([200]uint8{})), 0)
-	Xsqlite3_str_appendall(tls, bp+32, ts+18124)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18171)
 	i = 0
 	j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName)
 __1:
@@ -84906,7 +84940,7 @@ __1:
 		goto __3
 	}
 	{
-		Xsqlite3_str_appendf(tls, bp+32, ts+18139, libc.VaList(bp, int32(cSep), pragCName[j]))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18186, libc.VaList(bp, int32(cSep), pragCName[j]))
 		cSep = uint8(',')
 
 	}
@@ -84919,16 +84953,16 @@ __2:
 __3:
 	;
 	if i == 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18146, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18193, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
 		i++
 	}
 	j = 0
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_Result1 != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18152)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18199)
 		j++
 	}
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(PragFlg_SchemaOpt|PragFlg_SchemaReq) != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18164)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18211)
 		j++
 	}
 	Xsqlite3_str_append(tls, bp+32, ts+4957, 1)
@@ -85111,13 +85145,13 @@ __2:
 __3:
 	;
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 120 + 1*4)))
-	Xsqlite3_str_appendall(tls, bp+32, ts+18179)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18226)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 16 + 1*4)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18187, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 16 + 1*4))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18234, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 16 + 1*4))))
 	}
 	Xsqlite3_str_appendall(tls, bp+32, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 16)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18191, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 16))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18238, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 16))))
 	}
 	zSql = Xsqlite3StrAccumFinish(tls, bp+32)
 	if zSql == uintptr(0) {
@@ -85194,12 +85228,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 	} else if *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) != uintptr(0) {
 	} else if (*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask) != 0 {
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db,
-			ts+18195, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*4)),
+			ts+18242, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*4)),
 				azAlterType[(*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask)-U32(1)],
 				zExtra))
 		(*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR
 	} else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137196)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137249)
 	} else {
 		var z uintptr
 		var zObj uintptr
@@ -85208,19 +85242,19 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 		} else {
 			zObj = ts + 5008
 		}
-		z = Xsqlite3MPrintf(tls, db, ts+18223, libc.VaList(bp+32, zObj))
+		z = Xsqlite3MPrintf(tls, db, ts+18270, libc.VaList(bp+32, zObj))
 		if zExtra != 0 && *(*uint8)(unsafe.Pointer(zExtra)) != 0 {
-			z = Xsqlite3MPrintf(tls, db, ts+18254, libc.VaList(bp+40, z, zExtra))
+			z = Xsqlite3MPrintf(tls, db, ts+18301, libc.VaList(bp+40, z, zExtra))
 		}
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137203)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137256)
 	}
 }
 
 var azAlterType = [3]uintptr{
-	ts + 18262,
-	ts + 18269,
-	ts + 18281,
+	ts + 18309,
+	ts + 18316,
+	ts + 18328,
 }
 
 // Check to see if any sibling index (another index on the same table)
@@ -85312,7 +85346,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr
 		var pIndex uintptr
 		pIndex = Xsqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*4)), (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName)
 		if pIndex == uintptr(0) {
-			corruptSchema(tls, pData, argv, ts+18292)
+			corruptSchema(tls, pData, argv, ts+18339)
 		} else if Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4)), pIndex+44) == 0 ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2) ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage ||
@@ -85360,7 +85394,7 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl
 	}())
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 2*4)) = *(*uintptr)(unsafe.Pointer(bp + 16 + 1*4))
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 3*4)) = ts + 7938
-	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*4)) = ts + 18305
+	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*4)) = ts + 18352
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 5*4)) = uintptr(0)
 	(*InitData)(unsafe.Pointer(bp + 40)).Fdb = db
 	(*InitData)(unsafe.Pointer(bp + 40)).FiDb = iDb
@@ -85489,7 +85523,7 @@ __18:
 	if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) {
 		goto __19
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+18377)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+18424)
 	rc = SQLITE_ERROR
 	goto initone_error_out
 __19:
@@ -85503,7 +85537,7 @@ __20:
 	(*InitData)(unsafe.Pointer(bp + 40)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt)
 
 	zSql = Xsqlite3MPrintf(tls, db,
-		ts+18401,
+		ts+18448,
 		libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zSchemaTabName))
 
 	xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth
@@ -85835,7 +85869,7 @@ __4:
 		goto __8
 	}
 	zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*16)).FzDbSName
-	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18435, libc.VaList(bp, zDb))
+	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18482, libc.VaList(bp, zDb))
 
 	goto end_prepare
 __8:
@@ -85865,7 +85899,7 @@ __9:
 	if !(nBytes > mxLen) {
 		goto __12
 	}
-	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18465, 0)
+	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18512, 0)
 	rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG)
 	goto end_prepare
 __12:
@@ -85961,7 +85995,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 137995)
+		return Xsqlite3MisuseError(tls, 138048)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	Xsqlite3BtreeEnterAll(tls, db)
@@ -86060,7 +86094,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 138143)
+		return Xsqlite3MisuseError(tls, 138196)
 	}
 	if nBytes >= 0 {
 		var sz int32
@@ -86387,13 +86421,13 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC
 			zSp2++
 		}
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+18484, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
+			ts+18531, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
 		jointype = JT_INNER
 	}
 	return jointype
 }
 
-var zKeyText = *(*[34]uint8)(unsafe.Pointer(ts + 18514))
+var zKeyText = *(*[34]uint8)(unsafe.Pointer(ts + 18561))
 var aKeyword = [7]struct {
 	Fi     U8
 	FnChar U8
@@ -86568,7 +86602,7 @@ __1:
 			var pUsing uintptr = uintptr(0)
 			if uint32(int32(*(*uint16)(unsafe.Pointer(pRight + 36 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 48)) != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+18548, libc.VaList(bp, 0))
+					ts+18595, libc.VaList(bp, 0))
 				return 1
 			}
 			for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ {
@@ -86613,7 +86647,7 @@ __1:
 					tableAndColumnIndex(tls, pSrc, 0, i, zName, bp+24, bp+28,
 						int32(*(*uint16)(unsafe.Pointer(pRight + 36 + 4))&0x1000>>12)) == 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+18598, libc.VaList(bp+8, zName))
+						ts+18645, libc.VaList(bp+8, zName))
 					return 1
 				}
 				pE1 = Xsqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 28)))
@@ -86624,7 +86658,7 @@ __1:
 						int32(*(*uint16)(unsafe.Pointer(pRight + 36 + 4))&0x1000>>12)) != 0 {
 						if int32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*72 + 36 + 4))&0x400>>10) == 0 ||
 							Xsqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*72 + 48)), zName) < 0 {
-							Xsqlite3ErrorMsg(tls, pParse, ts+18662,
+							Xsqlite3ErrorMsg(tls, pParse, ts+18709,
 								libc.VaList(bp+16, zName))
 							break
 						}
@@ -87252,16 +87286,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr {
 	var z uintptr
 	switch id {
 	case TK_ALL:
-		z = ts + 18699
+		z = ts + 18746
 		break
 	case TK_INTERSECT:
-		z = ts + 18709
+		z = ts + 18756
 		break
 	case TK_EXCEPT:
-		z = ts + 18719
+		z = ts + 18766
 		break
 	default:
-		z = ts + 18726
+		z = ts + 18773
 		break
 	}
 	return z
@@ -87271,7 +87305,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18732, libc.VaList(bp, zUsage))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18779, libc.VaList(bp, zUsage))
 }
 
 func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) {
@@ -87297,9 +87331,9 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n
 	var nRefKey int32 = 0
 	var aOutEx uintptr = (*Select)(unsafe.Pointer(p)).FpEList + 8
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18755, libc.VaList(bp, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18802, libc.VaList(bp, func() uintptr {
 		if (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 {
-			return ts + 18786
+			return ts + 18833
 		}
 		return ts + 1554
 	}()))
@@ -87643,7 +87677,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr)
 		} else {
 			var z uintptr = (*ExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*20)).FzEName
 			if z == uintptr(0) {
-				z = Xsqlite3MPrintf(tls, db, ts+18801, libc.VaList(bp+16, i+1))
+				z = Xsqlite3MPrintf(tls, db, ts+18848, libc.VaList(bp+16, i+1))
 			} else {
 				z = Xsqlite3DbStrDup(tls, db, z)
 			}
@@ -87743,7 +87777,7 @@ __1:
 		if zName != 0 && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) {
 			zName = Xsqlite3DbStrDup(tls, db, zName)
 		} else {
-			zName = Xsqlite3MPrintf(tls, db, ts+18801, libc.VaList(bp, i+1))
+			zName = Xsqlite3MPrintf(tls, db, ts+18848, libc.VaList(bp, i+1))
 		}
 
 		*(*U32)(unsafe.Pointer(bp + 48)) = U32(0)
@@ -87759,7 +87793,7 @@ __1:
 					nName = j
 				}
 			}
-			zName = Xsqlite3MPrintf(tls, db, ts+18810, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 48)), 1)))
+			zName = Xsqlite3MPrintf(tls, db, ts+18857, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 48)), 1)))
 			Xsqlite3ProgressCheck(tls, pParse)
 			if *(*U32)(unsafe.Pointer(bp + 48)) > U32(3) {
 				Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+48)
@@ -87842,8 +87876,6 @@ __1:
 		(*Column)(unsafe.Pointer(pCol)).Faffinity = Xsqlite3ExprAffinity(tls, p)
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) <= SQLITE_AFF_NONE {
 			(*Column)(unsafe.Pointer(pCol)).Faffinity = aff
-		} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
-			(*Column)(unsafe.Pointer(pCol)).Faffinity = uint8(SQLITE_AFF_FLEXNUM)
 		}
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_TEXT && (*Select)(unsafe.Pointer(pSelect)).FpNext != 0 {
 			var m int32 = 0
@@ -87858,12 +87890,15 @@ __1:
 			} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && m&0x02 != 0 {
 				(*Column)(unsafe.Pointer(pCol)).Faffinity = uint8(SQLITE_AFF_BLOB)
 			}
+			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
+				(*Column)(unsafe.Pointer(pCol)).Faffinity = uint8(SQLITE_AFF_FLEXNUM)
+			}
 		}
 		zType = columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0))
 		if zType == uintptr(0) || int32((*Column)(unsafe.Pointer(pCol)).Faffinity) != int32(Xsqlite3AffinityType(tls, zType, uintptr(0))) {
 			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_NUMERIC ||
 				int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_FLEXNUM {
-				zType = ts + 18818
+				zType = ts + 18865
 			} else {
 				zType = uintptr(0)
 				for j = 1; j < SQLITE_N_STDTYPE; j++ {
@@ -88079,7 +88114,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest
 	if !((*Select)(unsafe.Pointer(p)).FpWin != 0) {
 		goto __1
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18822, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18869, 0)
 	return
 __1:
 	;
@@ -88170,7 +88205,7 @@ __12:
 	if !((*Select)(unsafe.Pointer(pFirstRec)).FselFlags&U32(SF_Aggregate) != 0) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18871, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18918, 0)
 	goto end_of_recursive_query
 __15:
 	;
@@ -88190,7 +88225,7 @@ __14:
 	;
 	pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18913, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18960, 0)
 	rc = Xsqlite3Select(tls, pParse, pSetup, bp)
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = p
 	if !(rc != 0) {
@@ -88227,7 +88262,7 @@ __20:
 	Xsqlite3VdbeResolveLabel(tls, v, addrCont)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18919, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18966, 0)
 	Xsqlite3Select(tls, pParse, p, bp)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup
@@ -88261,11 +88296,11 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 		p = (*Select)(unsafe.Pointer(p)).FpPrior
 		nRow = nRow + bShowAll
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18934, libc.VaList(bp, nRow, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18981, libc.VaList(bp, nRow, func() uintptr {
 		if nRow == 1 {
 			return ts + 1554
 		}
-		return ts + 18957
+		return ts + 19004
 	}()))
 	for p != 0 {
 		selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1)
@@ -88366,8 +88401,8 @@ __6:
 	if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) {
 		goto __8
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18959, 0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18974, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19006, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19021, 0)
 __8:
 	;
 	switch int32((*Select)(unsafe.Pointer(p)).Fop) {
@@ -88414,7 +88449,7 @@ __16:
 	;
 __15:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18699, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18746, 0)
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+16)
 
@@ -88481,7 +88516,7 @@ __23:
 	pLimit = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 48)).FeDest = op
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18993, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19040, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+48)
 
@@ -88543,7 +88578,7 @@ __26:
 	pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 76)).FiSDParm = tab2
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18993, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19040, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+76)
 
@@ -88696,10 +88731,10 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr)
 	defer tls.Free(8)
 
 	if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Values) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19014, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+19061, 0)
 	} else {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+19060,
+			ts+19107,
 			libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 	}
 }
@@ -88953,8 +88988,8 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	(*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0)
 
 	(*Select)(unsafe.Pointer(pPrior)).FpOrderBy = Xsqlite3ExprListDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7234)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7234)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7223)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7223)
 
 	computeLimitRegisters(tls, pParse, p, labelEnd)
 	if (*Select)(unsafe.Pointer(p)).FiLimit != 0 && op == TK_ALL {
@@ -88981,13 +89016,13 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	Xsqlite3SelectDestInit(tls, bp+8, SRT_Coroutine, regAddrA)
 	Xsqlite3SelectDestInit(tls, bp+36, SRT_Coroutine, regAddrB)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19142, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19189, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	addrSelectA = Xsqlite3VdbeCurrentAddr(tls, v) + 1
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA)
 
 	(*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19153, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19200, 0)
 	Xsqlite3Select(tls, pParse, pPrior, bp+8)
 	Xsqlite3VdbeEndCoroutine(tls, v, regAddrA)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
@@ -88999,7 +89034,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset
 	(*Select)(unsafe.Pointer(p)).FiLimit = regLimitB
 	(*Select)(unsafe.Pointer(p)).FiOffset = 0
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19158, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19205, 0)
 	Xsqlite3Select(tls, pParse, p, bp+36)
 	(*Select)(unsafe.Pointer(p)).FiLimit = savedLimit
 	(*Select)(unsafe.Pointer(p)).FiOffset = savedOffset
@@ -89186,7 +89221,8 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr {
 				Xsqlite3VectorErrorMsg(tls, (*SubstContext)(unsafe.Pointer(pSubst)).FpParse, pCopy)
 			} else {
 				var db uintptr = (*Parse)(unsafe.Pointer((*SubstContext)(unsafe.Pointer(pSubst)).FpParse)).Fdb
-				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 && int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN {
+				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 &&
+					(int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN || (*Expr)(unsafe.Pointer(pCopy)).FiTable != (*SubstContext)(unsafe.Pointer(pSubst)).FiNewTable) {
 					libc.Xmemset(tls, bp, 0, uint32(unsafe.Sizeof(Expr{})))
 					(*Expr)(unsafe.Pointer(bp)).Fop = U8(TK_IF_NULL_ROW)
 					(*Expr)(unsafe.Pointer(bp)).FpLeft = pCopy
@@ -90085,7 +90121,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	for pIdx = (*Table)(unsafe.Pointer(pTab)).FpIndex; pIdx != 0 && Xsqlite3StrICmp(tls, (*Index)(unsafe.Pointer(pIdx)).FzName, zIndexedBy) != 0; pIdx = (*Index)(unsafe.Pointer(pIdx)).FpNext {
 	}
 	if !(pIdx != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19164, libc.VaList(bp, zIndexedBy, 0))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19211, libc.VaList(bp, zIndexedBy, 0))
 		(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 		return SQLITE_ERROR
 	}
@@ -90168,7 +90204,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 {
 	defer tls.Free(8)
 
 	if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 36 + 4))&0x4>>2)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19182, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19229, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
 		return 1
 	}
 	return 0
@@ -90297,7 +90333,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		*(*U32)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= U32(SF_CopyCte)
 
 		if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 36 + 4))&0x2>>1)) != 0 {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19205, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 64))))
+			Xsqlite3ErrorMsg(tls, pParse, ts+19252, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 64))))
 			return 2
 		}
 		libc.SetBitFieldPtr16Uint32(pFrom+36+4, uint32(1), 8, 0x100)
@@ -90320,7 +90356,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 					libc.SetBitFieldPtr16Uint32(pItem+36+4, uint32(1), 6, 0x40)
 					if (*Select)(unsafe.Pointer(pRecTerm)).FselFlags&U32(SF_Recursive) != 0 {
 						Xsqlite3ErrorMsg(tls, pParse,
-							ts+19225, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
+							ts+19272, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
 						return 2
 					}
 					*(*U32)(unsafe.Pointer(pRecTerm + 4)) |= U32(SF_Recursive)
@@ -90336,7 +90372,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 			pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior
 		}
 
-		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19268
+		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19315
 		pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith
 		(*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 48))
 		if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
@@ -90362,7 +90398,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		pEList = (*Select)(unsafe.Pointer(pLeft)).FpEList
 		if (*Cte)(unsafe.Pointer(pCte)).FpCols != 0 {
 			if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr != (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19291,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19338,
 					libc.VaList(bp+24, (*Cte)(unsafe.Pointer(pCte)).FzName, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr))
 				(*Parse)(unsafe.Pointer(pParse)).FpWith = pSavedWith
 				return 2
@@ -90373,9 +90409,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		Xsqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+34, pTab+4)
 		if bMayRecursive != 0 {
 			if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19329
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19376
 			} else {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19363
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19410
 			}
 			Xsqlite3WalkSelect(tls, pWalker, pSel)
 		}
@@ -90422,7 +90458,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	if (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 {
 		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3DbStrDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias)
 	} else {
-		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19401, libc.VaList(bp, pFrom))
+		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19448, libc.VaList(bp, pFrom))
 	}
 	for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 {
 		pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior
@@ -90534,7 +90570,7 @@ __1:
 				return WRC_Abort
 			}
 			if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19405,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19452,
 					libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 				(*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0)
 				return WRC_Abort
@@ -90553,7 +90589,7 @@ __1:
 				if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW {
 					if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) &&
 						(*Table)(unsafe.Pointer(pTab)).FpSchema != (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*16)).FpSchema {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19444,
+						Xsqlite3ErrorMsg(tls, pParse, ts+19491,
 							libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName))
 					}
 					(*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, *(*uintptr)(unsafe.Pointer(pTab + 44)), 0)
@@ -90677,7 +90713,7 @@ __3:
 							if pNew != 0 {
 								var pX uintptr = pNew + 8 + uintptr((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1)*20
 
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19475, libc.VaList(bp+24, zUName))
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19522, libc.VaList(bp+24, zUName))
 								libc.SetBitFieldPtr16Uint32(pX+8+4, uint32(ENAME_TAB), 0, 0x3)
 								libc.SetBitFieldPtr16Uint32(pX+8+4, uint32(1), 7, 0x80)
 							}
@@ -90742,7 +90778,7 @@ __3:
 								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(pNestedFrom+8+uintptr(j)*20)).FzEName)
 
 							} else {
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19480,
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19527,
 									libc.VaList(bp+32, zSchemaName, zTabName, zName))
 
 							}
@@ -90773,9 +90809,9 @@ __3:
 				;
 				if !(tableSeen != 0) {
 					if zTName != 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19489, libc.VaList(bp+72, zTName))
+						Xsqlite3ErrorMsg(tls, pParse, ts+19536, libc.VaList(bp+72, zTName))
 					} else {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19507, 0)
+						Xsqlite3ErrorMsg(tls, pParse, ts+19554, 0)
 					}
 				}
 			}
@@ -90785,7 +90821,7 @@ __3:
 	}
 	if (*Select)(unsafe.Pointer(p)).FpEList != 0 {
 		if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 120 + 2*4)) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19527, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+19574, 0)
 			return WRC_Abort
 		}
 		if elistFlags&U32(EP_HasFunc|EP_Subquery) != U32(0) {
@@ -90923,7 +90959,7 @@ func optimizeAggregateUseOfIndexedExpr(tls *libc.TLS, pParse uintptr, pSelect ui
 	(*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn = (*AggInfo)(unsafe.Pointer(pAggInfo)).FnAccumulator
 	if int32((*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn) > 0 {
 		if (*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn == 0 {
-			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(0)
+			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpGroupBy)).FnExpr)
 		} else {
 			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(int32((*AggInfo_col)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaCol+uintptr((*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn-1)*16)).FiSorterColumn) + 1)
 		}
@@ -91007,13 +91043,13 @@ __1:
 
 			if *(*uintptr)(unsafe.Pointer(pE + 20)) == uintptr(0) || (*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 20)))).FnExpr != 1 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+19558, 0)
+					ts+19605, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1
 			} else {
 				var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 20)), 0, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral,
 					(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -8)
-				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19609, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
+				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19656, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
 			}
 		}
 
@@ -91202,11 +91238,11 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt
 
 	if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 {
 		var bCover int32 = libc.Bool32(pIdx != uintptr(0) && ((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0) || !(int32(*(*uint16)(unsafe.Pointer(pIdx + 56))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY)))
-		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19642,
+		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19689,
 			libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName,
 				func() uintptr {
 					if bCover != 0 {
-						return ts + 19654
+						return ts + 19701
 					}
 					return ts + 1554
 				}(),
@@ -91534,7 +91570,7 @@ __5:
 		goto __7
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+19677,
+		ts+19724,
 		libc.VaList(bp, func() uintptr {
 			if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 {
 				return (*SrcItem)(unsafe.Pointer(p0)).FzAlias
@@ -91595,7 +91631,7 @@ __14:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19731,
+	Xsqlite3ErrorMsg(tls, pParse, ts+19778,
 		libc.VaList(bp+8, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr))
 	goto select_end
 __15:
@@ -91737,7 +91773,7 @@ __33:
 
 	(*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop
 	Xsqlite3SelectDestInit(tls, bp+88, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19771, libc.VaList(bp+32, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19818, libc.VaList(bp+32, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+88)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	libc.SetBitFieldPtr16Uint32(pItem1+36+4, uint32(1), 5, 0x20)
@@ -91796,7 +91832,7 @@ __43:
 	;
 	Xsqlite3SelectDestInit(tls, bp+88, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19786, libc.VaList(bp+40, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19833, libc.VaList(bp+40, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+88)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	if !(onceAddr != 0) {
@@ -92267,9 +92303,9 @@ __101:
 	explainTempTable(tls, pParse,
 		func() uintptr {
 			if (*DistinctCtx)(unsafe.Pointer(bp+116)).FisTnct != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct) == U32(0) {
-				return ts + 19802
+				return ts + 19849
 			}
-			return ts + 19811
+			return ts + 19858
 		}())
 
 	groupBySort = 1
@@ -92620,7 +92656,7 @@ __65:
 	if !(int32((*DistinctCtx)(unsafe.Pointer(bp+116)).FeTnctType) == WHERE_DISTINCT_UNORDERED) {
 		goto __146
 	}
-	explainTempTable(tls, pParse, ts+19802)
+	explainTempTable(tls, pParse, ts+19849)
 __146:
 	;
 	if !((*SortCtx)(unsafe.Pointer(bp+48)).FpOrderBy != 0) {
@@ -92724,7 +92760,7 @@ __5:
 	}
 	Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg)
 	(*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+19820, 0)
+		ts+19867, 0)
 	(*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 	return 1
 __11:
@@ -92957,7 +92993,7 @@ func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2
 	if !((*Token)(unsafe.Pointer(pName2)).Fn > uint32(0)) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19885, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19932, 0)
 	goto trigger_cleanup
 __3:
 	;
@@ -93001,7 +93037,7 @@ __7:
 	goto trigger_cleanup
 __8:
 	;
-	Xsqlite3FixInit(tls, bp+36, pParse, iDb, ts+19931, *(*uintptr)(unsafe.Pointer(bp + 32)))
+	Xsqlite3FixInit(tls, bp+36, pParse, iDb, ts+19978, *(*uintptr)(unsafe.Pointer(bp + 32)))
 	if !(Xsqlite3FixSrcList(tls, bp+36, pTableName) != 0) {
 		goto __9
 	}
@@ -93019,7 +93055,7 @@ __10:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB) {
 		goto __11
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19939, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19986, 0)
 	goto trigger_orphan_error
 __11:
 	;
@@ -93031,7 +93067,7 @@ __11:
 	goto trigger_cleanup
 __12:
 	;
-	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19931, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
+	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19978, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
 		goto __13
 	}
 	goto trigger_cleanup
@@ -93046,11 +93082,12 @@ __13:
 	if !!(noErr != 0) {
 		goto __16
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19980, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20027, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
 	goto __17
 __16:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
+
 __17:
 	;
 	goto trigger_cleanup
@@ -93061,19 +93098,19 @@ __14:
 	if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+6381, 7) == 0) {
 		goto __18
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20006, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20053, 0)
 	goto trigger_cleanup
 __18:
 	;
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW && tr_tm != TK_INSTEAD) {
 		goto __19
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20044,
+	Xsqlite3ErrorMsg(tls, pParse, ts+20091,
 		libc.VaList(bp+8, func() uintptr {
 			if tr_tm == TK_BEFORE {
-				return ts + 20081
+				return ts + 20128
 			}
-			return ts + 20088
+			return ts + 20135
 		}(), pTableName+8))
 	goto trigger_orphan_error
 __19:
@@ -93082,7 +93119,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20094, libc.VaList(bp+24, pTableName+8))
+		ts+20141, libc.VaList(bp+24, pTableName+8))
 	goto trigger_orphan_error
 __20:
 	;
@@ -93231,7 +93268,7 @@ __2:
 __3:
 	;
 	Xsqlite3TokenInit(tls, bp+56, (*Trigger)(unsafe.Pointer(pTrig)).FzName)
-	Xsqlite3FixInit(tls, bp+64, pParse, iDb, ts+19931, bp+56)
+	Xsqlite3FixInit(tls, bp+64, pParse, iDb, ts+19978, bp+56)
 	if !(Xsqlite3FixTriggerStep(tls, bp+64, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 ||
 		Xsqlite3FixExpr(tls, bp+64, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0) {
 		goto __4
@@ -93264,7 +93301,7 @@ __9:
 		goto __12
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20140,
+		ts+20187,
 		libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrig)).FzName, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget))
 	goto triggerfinish_cleanup
 __12:
@@ -93289,13 +93326,13 @@ __13:
 	z = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pAll)).Fz, uint64((*Token)(unsafe.Pointer(pAll)).Fn))
 
 	Xsqlite3NestedParse(tls, pParse,
-		ts+20188,
+		ts+20235,
 		libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, zName,
 			(*Trigger)(unsafe.Pointer(pTrig)).Ftable, z))
 	Xsqlite3DbFree(tls, db, z)
 	Xsqlite3ChangeCookie(tls, pParse, iDb)
 	Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb,
-		Xsqlite3MPrintf(tls, db, ts+20263, libc.VaList(bp+48, zName)), uint16(0))
+		Xsqlite3MPrintf(tls, db, ts+20310, libc.VaList(bp+48, zName)), uint16(0))
 __7:
 	;
 __6:
@@ -93551,7 +93588,7 @@ __5:
 	if !!(noErr != 0) {
 		goto __9
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20292, libc.VaList(bp, pName+8))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20339, libc.VaList(bp, pName+8))
 	goto __10
 __9:
 	Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb)
@@ -93604,7 +93641,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) {
 
 	if libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse)) != uintptr(0) {
 		Xsqlite3NestedParse(tls, pParse,
-			ts+20312,
+			ts+20359,
 			libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName, (*Trigger)(unsafe.Pointer(pTrigger)).FzName))
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 		Xsqlite3VdbeAddOp4(tls, v, OP_DropTrigger, iDb, 0, 0, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, 0)
@@ -93718,12 +93755,12 @@ __9:
 		goto __15
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20374,
+		ts+20421,
 		libc.VaList(bp, func() uintptr {
 			if op == TK_DELETE {
-				return ts + 20422
+				return ts + 20469
 			}
-			return ts + 20429
+			return ts + 20476
 		}()))
 __15:
 	;
@@ -93837,7 +93874,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 {
 	if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK {
 		return 0
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20436, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20483, 0)
 	return 1
 }
 
@@ -93903,7 +93940,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab
 	}
 	Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(bp)).FpEList)
 	pNew = sqlite3ExpandReturning(tls, pParse, (*Returning)(unsafe.Pointer(pReturning)).FpReturnEL, pTab)
-	if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) {
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 {
 		libc.Xmemset(tls, bp+160, 0, uint32(unsafe.Sizeof(NameContext{})))
 		if (*Returning)(unsafe.Pointer(pReturning)).FnRetCol == 0 {
 			(*Returning)(unsafe.Pointer(pReturning)).FnRetCol = (*ExprList)(unsafe.Pointer(pNew)).FnExpr
@@ -94067,7 +94104,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt
 	if v != 0 {
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 {
 			Xsqlite3VdbeChangeP4(tls, v, -1,
-				Xsqlite3MPrintf(tls, db, ts+20478, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
+				Xsqlite3MPrintf(tls, db, ts+20525, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
 		}
 
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FpWhen != 0 {
@@ -94660,7 +94697,7 @@ __25:
 	}
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20492,
+		ts+20539,
 		libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*16)).FzCnName))
 	goto update_cleanup
 __27:
@@ -94692,7 +94729,7 @@ __21:
 	iRowidExpr = i
 	goto __30
 __29:
-	Xsqlite3ErrorMsg(tls, pParse, ts+20528, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*20)).FzEName))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20575, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*20)).FzEName))
 	(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 	goto update_cleanup
 __30:
@@ -95018,7 +95055,12 @@ __74:
 	goto __77
 __76:
 	flags = WHERE_ONEPASS_DESIRED
-	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) && !(pTrigger != 0) && !(hasFK != 0) && !(chngKey != 0) && !(*(*int32)(unsafe.Pointer(bp + 68)) != 0)) {
+	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) &&
+		!(pTrigger != 0) &&
+		!(hasFK != 0) &&
+		!(chngKey != 0) &&
+		!(*(*int32)(unsafe.Pointer(bp + 68)) != 0) &&
+		(*NameContext)(unsafe.Pointer(bp+28)).FncFlags&NC_Subquery == 0) {
 		goto __78
 	}
 	flags = flags | WHERE_ONEPASS_MULTIROW
@@ -95572,7 +95614,7 @@ __168:
 	if !(regRowCount != 0) {
 		goto __169
 	}
-	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20547)
+	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20594)
 __169:
 	;
 update_cleanup:
@@ -95878,10 +95920,10 @@ __1:
 			if nClause == 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) {
 				*(*uint8)(unsafe.Pointer(bp + 152)) = uint8(0)
 			} else {
-				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]uint8{})), bp+152, ts+20560, libc.VaList(bp, nClause+1))
+				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]uint8{})), bp+152, ts+20607, libc.VaList(bp, nClause+1))
 			}
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+20564, libc.VaList(bp+8, bp+152))
+				ts+20611, libc.VaList(bp+8, bp+152))
 			return SQLITE_ERROR
 		}
 
@@ -96004,7 +96046,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 {
 		var zSubSql uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
 
 		if zSubSql != 0 &&
-			(libc.Xstrncmp(tls, zSubSql, ts+20637, uint32(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20641, uint32(3)) == 0) {
+			(libc.Xstrncmp(tls, zSubSql, ts+20684, uint32(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20688, uint32(3)) == 0) {
 			rc = execSql(tls, db, pzErrMsg, zSubSql)
 			if rc != SQLITE_OK {
 				break
@@ -96152,14 +96194,14 @@ func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p
 	if !!(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) {
 		goto __1
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20645)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20692)
 	return SQLITE_ERROR
 __1:
 	;
 	if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) {
 		goto __2
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20685)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20732)
 	return SQLITE_ERROR
 __2:
 	;
@@ -96170,7 +96212,7 @@ __2:
 	if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) {
 		goto __5
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20728)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20775)
 	return SQLITE_ERROR
 __5:
 	;
@@ -96198,7 +96240,7 @@ __4:
 	isMemDb = Xsqlite3PagerIsMemdb(tls, Xsqlite3BtreePager(tls, pMain))
 
 	nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb
-	rc = execSqlF(tls, db, pzErrMsg, ts+20746, libc.VaList(bp, zOut))
+	rc = execSqlF(tls, db, pzErrMsg, ts+20793, libc.VaList(bp, zOut))
 	(*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags
 	if !(rc != SQLITE_OK) {
 		goto __6
@@ -96218,7 +96260,7 @@ __6:
 		goto __8
 	}
 	rc = SQLITE_ERROR
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20769)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20816)
 	goto end_of_vacuum
 __8:
 	;
@@ -96278,7 +96320,7 @@ __12:
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb)
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20796,
+		ts+20843,
 		libc.VaList(bp+8, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __13
@@ -96287,7 +96329,7 @@ __12:
 __13:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20904,
+		ts+20951,
 		libc.VaList(bp+16, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __14
@@ -96298,7 +96340,7 @@ __14:
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
 
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20958,
+		ts+21005,
 		libc.VaList(bp+24, zDbMain))
 
 	*(*U32)(unsafe.Pointer(db + 24)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))
@@ -96309,7 +96351,7 @@ __14:
 __15:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+21109,
+		ts+21156,
 		libc.VaList(bp+32, zDbMain))
 	if !(rc != 0) {
 		goto __16
@@ -96738,11 +96780,11 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		if pEnd != 0 {
 			(*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32((int32((*Token)(unsafe.Pointer(pEnd)).Fz)-int32((*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz))/1) + (*Token)(unsafe.Pointer(pEnd)).Fn
 		}
-		zStmt = Xsqlite3MPrintf(tls, db, ts+21239, libc.VaList(bp, pParse+196))
+		zStmt = Xsqlite3MPrintf(tls, db, ts+21286, libc.VaList(bp, pParse+196))
 
 		iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema)
 		Xsqlite3NestedParse(tls, pParse,
-			ts+21263,
+			ts+21310,
 			libc.VaList(bp+8, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*16)).FzDbSName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
@@ -96752,7 +96794,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 
 		Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
-		zWhere = Xsqlite3MPrintf(tls, db, ts+21362, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
+		zWhere = Xsqlite3MPrintf(tls, db, ts+21409, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
 		Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0))
 		Xsqlite3DbFree(tls, db, zStmt)
 
@@ -96813,7 +96855,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	for pCtx = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx; pCtx != 0; pCtx = (*VtabCtx)(unsafe.Pointer(pCtx)).FpPrior {
 		if (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db,
-				ts+21381, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
+				ts+21428, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 			return SQLITE_LOCKED
 		}
 	}
@@ -96841,9 +96883,11 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FbDeclared = 0
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32
+	(*Table)(unsafe.Pointer(pTab)).FnTabRef++
 	rc = (*struct {
 		f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32
 	})(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+8, bp+48)
+	Xsqlite3DeleteTable(tls, db, pTab)
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior
 	if rc == SQLITE_NOMEM {
 		Xsqlite3OomFault(tls, db)
@@ -96851,7 +96895,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 
 	if SQLITE_OK != rc {
 		if *(*uintptr)(unsafe.Pointer(bp + 48)) == uintptr(0) {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21423, libc.VaList(bp+8, zModuleName))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21470, libc.VaList(bp+8, zModuleName))
 		} else {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+3663, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 48))))
 			Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 48)))
@@ -96863,7 +96907,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 		(*Module)(unsafe.Pointer(pMod)).FnRefModule++
 		(*VTable)(unsafe.Pointer(pVTable)).FnRef = 1
 		if (*VtabCtx)(unsafe.Pointer(bp+32)).FbDeclared == 0 {
-			var zFormat uintptr = ts + 21453
+			var zFormat uintptr = ts + 21500
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName))
 			Xsqlite3VtabUnlock(tls, pVTable)
 			rc = SQLITE_ERROR
@@ -96937,7 +96981,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32
 
 	if !(pMod != 0) {
 		var zModule uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pTab + 44 + 4))))
-		Xsqlite3ErrorMsg(tls, pParse, ts+21499, libc.VaList(bp, zModule))
+		Xsqlite3ErrorMsg(tls, pParse, ts+21546, libc.VaList(bp, zModule))
 		rc = SQLITE_ERROR
 	} else {
 		*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
@@ -96995,7 +97039,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr,
 	pMod = Xsqlite3HashFind(tls, db+404, zMod)
 
 	if pMod == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21499, libc.VaList(bp, zMod))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21546, libc.VaList(bp, zMod))
 		rc = SQLITE_ERROR
 	} else {
 		rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr)
@@ -97029,7 +97073,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3
 	if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
 		Xsqlite3Error(tls, db, SQLITE_MISUSE)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
-		return Xsqlite3MisuseError(tls, 151030)
+		return Xsqlite3MisuseError(tls, 151102)
 	}
 	pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab
 
@@ -97482,7 +97526,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	if !(p != 0) {
-		rc = Xsqlite3MisuseError(tls, 151521)
+		rc = Xsqlite3MisuseError(tls, 151593)
 	} else {
 		ap = va
 		switch op {
@@ -97509,7 +97553,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 			fallthrough
 		default:
 			{
-				rc = Xsqlite3MisuseError(tls, 151539)
+				rc = Xsqlite3MisuseError(tls, 151611)
 				break
 
 			}
@@ -97741,7 +97785,7 @@ type InLoop = struct {
 func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr {
 	i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2)))
 	if i == -2 {
-		return ts + 21518
+		return ts + 21565
 	}
 	if i == -1 {
 		return ts + 16267
@@ -97753,11 +97797,11 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	var i int32
 
 	if bAnd != 0 {
-		Xsqlite3_str_append(tls, pStr, ts+21525, 5)
+		Xsqlite3_str_append(tls, pStr, ts+21572, 5)
 	}
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21531, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21578, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97772,7 +97816,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	Xsqlite3_str_append(tls, pStr, zOp, 1)
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21531, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21578, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97798,27 +97842,27 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) {
 	if int32(nEq) == 0 && (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT|WHERE_TOP_LIMIT) == U32(0) {
 		return
 	}
-	Xsqlite3_str_append(tls, pStr, ts+21533, 2)
+	Xsqlite3_str_append(tls, pStr, ts+21580, 2)
 	for i = 0; i < int32(nEq); i++ {
 		var z uintptr = explainIndexColumnName(tls, pIndex, i)
 		if i != 0 {
-			Xsqlite3_str_append(tls, pStr, ts+21525, 5)
+			Xsqlite3_str_append(tls, pStr, ts+21572, 5)
 		}
 		Xsqlite3_str_appendf(tls, pStr, func() uintptr {
 			if i >= int32(nSkip) {
-				return ts + 21536
+				return ts + 21583
 			}
-			return ts + 21541
+			return ts + 21588
 		}(), libc.VaList(bp, z))
 	}
 
 	j = i
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21549)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21596)
 		i = 1
 	}
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_TOP_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21551)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21598)
 	}
 	Xsqlite3_str_append(tls, pStr, ts+4957, 1)
 }
@@ -97861,11 +97905,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 
 		Xsqlite3StrAccumInit(tls, bp+64, db, bp+88, int32(unsafe.Sizeof([100]uint8{})), SQLITE_MAX_LENGTH)
 		(*StrAccum)(unsafe.Pointer(bp + 64)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-		Xsqlite3_str_appendf(tls, bp+64, ts+21553, libc.VaList(bp, func() uintptr {
+		Xsqlite3_str_appendf(tls, bp+64, ts+21600, libc.VaList(bp, func() uintptr {
 			if isSearch != 0 {
-				return ts + 21559
+				return ts + 21606
 			}
-			return ts + 21566
+			return ts + 21613
 		}(), pItem))
 		if flags&U32(WHERE_IPK|WHERE_VIRTUALTABLE) == U32(0) {
 			var zFmt uintptr = uintptr(0)
@@ -97878,40 +97922,40 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 					zFmt = ts + 10976
 				}
 			} else if flags&U32(WHERE_PARTIALIDX) != 0 {
-				zFmt = ts + 21571
+				zFmt = ts + 21618
 			} else if flags&U32(WHERE_AUTO_INDEX) != 0 {
-				zFmt = ts + 21604
+				zFmt = ts + 21651
 			} else if flags&U32(WHERE_IDX_ONLY) != 0 {
-				zFmt = ts + 21629
+				zFmt = ts + 21676
 			} else {
-				zFmt = ts + 21647
+				zFmt = ts + 21694
 			}
 			if zFmt != 0 {
-				Xsqlite3_str_append(tls, bp+64, ts+21656, 7)
+				Xsqlite3_str_append(tls, bp+64, ts+21703, 7)
 				Xsqlite3_str_appendf(tls, bp+64, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName))
 				explainIndexRange(tls, bp+64, pLoop)
 			}
 		} else if flags&U32(WHERE_IPK) != U32(0) && flags&U32(WHERE_CONSTRAINT) != U32(0) {
 			var cRangeOp uint8
 			var zRowid uintptr = ts + 16267
-			Xsqlite3_str_appendf(tls, bp+64, ts+21664, libc.VaList(bp+24, zRowid))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21711, libc.VaList(bp+24, zRowid))
 			if flags&U32(WHERE_COLUMN_EQ|WHERE_COLUMN_IN) != 0 {
 				cRangeOp = uint8('=')
 			} else if flags&U32(WHERE_BOTH_LIMIT) == U32(WHERE_BOTH_LIMIT) {
-				Xsqlite3_str_appendf(tls, bp+64, ts+21695, libc.VaList(bp+32, zRowid))
+				Xsqlite3_str_appendf(tls, bp+64, ts+21742, libc.VaList(bp+32, zRowid))
 				cRangeOp = uint8('<')
 			} else if flags&U32(WHERE_BTM_LIMIT) != 0 {
 				cRangeOp = uint8('>')
 			} else {
 				cRangeOp = uint8('<')
 			}
-			Xsqlite3_str_appendf(tls, bp+64, ts+21705, libc.VaList(bp+40, int32(cRangeOp)))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21752, libc.VaList(bp+40, int32(cRangeOp)))
 		} else if flags&U32(WHERE_VIRTUALTABLE) != U32(0) {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21710,
+			Xsqlite3_str_appendf(tls, bp+64, ts+21757,
 				libc.VaList(bp+48, *(*int32)(unsafe.Pointer(pLoop + 24)), *(*uintptr)(unsafe.Pointer(pLoop + 24 + 12))))
 		}
 		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&JT_LEFT != 0 {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21737, 0)
+			Xsqlite3_str_appendf(tls, bp+64, ts+21784, 0)
 		}
 		zMsg = Xsqlite3StrAccumFinish(tls, bp+64)
 
@@ -97943,22 +97987,22 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp
 
 	Xsqlite3StrAccumInit(tls, bp+24, db, bp+48, int32(unsafe.Sizeof([100]uint8{})), SQLITE_MAX_LENGTH)
 	(*StrAccum)(unsafe.Pointer(bp + 24)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-	Xsqlite3_str_appendf(tls, bp+24, ts+21748, libc.VaList(bp, pItem))
+	Xsqlite3_str_appendf(tls, bp+24, ts+21795, libc.VaList(bp, pItem))
 	pLoop = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_IPK) != 0 {
 		var pTab uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FpTab
 		if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21536, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*16)).FzCnName))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21583, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*16)).FzCnName))
 		} else {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21769, 0)
+			Xsqlite3_str_appendf(tls, bp+24, ts+21816, 0)
 		}
 	} else {
 		for i = int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip); i < int32(*(*U16)(unsafe.Pointer(pLoop + 24))); i++ {
 			var z uintptr = explainIndexColumnName(tls, *(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)), i)
 			if i > int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip) {
-				Xsqlite3_str_append(tls, bp+24, ts+21525, 5)
+				Xsqlite3_str_append(tls, bp+24, ts+21572, 5)
 			}
-			Xsqlite3_str_appendf(tls, bp+24, ts+21536, libc.VaList(bp+16, z))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21583, libc.VaList(bp+16, z))
 		}
 	}
 	Xsqlite3_str_append(tls, bp+24, ts+4957, 1)
@@ -99555,7 +99599,7 @@ __134:
 	;
 __126:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21777, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21824, 0)
 	ii = 0
 __135:
 	if !(ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm) {
@@ -99583,7 +99627,7 @@ __139:
 	pOrExpr = pAndExpr
 __140:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21792, libc.VaList(bp, ii+1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21839, libc.VaList(bp, ii+1))
 
 	pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0),
 		uint16(WHERE_OR_SUBCLAUSE), iCovCur)
@@ -100101,7 +100145,7 @@ func Xsqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
 	var mAll Bitmask = uint64(0)
 	var k int32
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21801, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21848, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
 
 	for k = 0; k < iLevel; k++ {
 		var iIdxCur int32
@@ -100462,7 +100506,7 @@ var aOp = [4]Op2{
 	{FzOp: ts + 16116, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)},
 	{FzOp: ts + 15447, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)},
 	{FzOp: ts + 14967, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)},
-	{FzOp: ts + 21815, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
+	{FzOp: ts + 21862, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
 }
 
 func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) {
@@ -100952,12 +100996,12 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			extraRight = x - uint64(1)
 
 			if prereqAll>>1 >= x {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21822, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21869, 0)
 				return
 			}
 		} else if prereqAll>>1 >= x {
 			if (*SrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*SrcItem)(unsafe.Pointer(pSrc+8)).Ffg.Fjointype)&JT_LTORJ != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21822, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21869, 0)
 				return
 			}
 			*(*U32)(unsafe.Pointer(pExpr + 4)) &= libc.Uint32FromInt32(libc.CplInt32(EP_InnerON))
@@ -101036,7 +101080,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_OuterON) != U32(0)) &&
 			0 == Xsqlite3ExprCanBeNull(tls, pLeft) {
 			(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
-			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6769
+			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 7699
 			*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0)
@@ -101130,7 +101174,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 		}
 		zCollSeqName = func() uintptr {
 			if *(*int32)(unsafe.Pointer(bp + 16)) != 0 {
-				return ts + 21863
+				return ts + 21910
 			}
 			return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))
 		}()
@@ -101506,7 +101550,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 			k++
 		}
 		if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21870,
+			Xsqlite3ErrorMsg(tls, pParse, ts+21917,
 				libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j))
 			return
 		}
@@ -101522,7 +101566,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 		pRhs = Xsqlite3PExpr(tls, pParse, TK_UPLUS,
 			Xsqlite3ExprDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*ExprList_item)(unsafe.Pointer(pArgs+8+uintptr(j)*20)).FpExpr, 0), uintptr(0))
 		pTerm = Xsqlite3PExpr(tls, pParse, TK_EQ, pColRef, pRhs)
-		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ) != 0 {
+		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ|JT_RIGHT) != 0 {
 			joinType = U32(EP_OuterON)
 		} else {
 			joinType = U32(EP_InnerON)
@@ -102239,7 +102283,7 @@ __4:
 		goto __6
 	}
 	Xsqlite3_log(tls, SQLITE_WARNING|int32(1)<<8,
-		ts+21906, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
+		ts+21953, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
 			(*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*16)).FzCnName))
 	sentWarning = U8(1)
 __6:
@@ -102310,7 +102354,7 @@ __13:
 __14:
 	;
 	*(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)) = pIdx
-	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21932
+	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21979
 	(*Index)(unsafe.Pointer(pIdx)).FpTable = pTable
 	n = 0
 	idxCols = uint64(0)
@@ -102484,6 +102528,10 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 	var pLoop uintptr = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	var iCur int32
+	var saved_pIdxEpr uintptr
+
+	saved_pIdxEpr = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = uintptr(0)
 
 	addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once)
 	for __ccgo := true; __ccgo; __ccgo = iLevel < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel) {
@@ -102527,9 +102575,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 			var r1 int32 = Xsqlite3GetTempRange(tls, pParse, n)
 			var jj int32
 			for jj = 0; jj < n; jj++ {
-				var iCol int32 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(jj)*2)))
-
-				Xsqlite3ExprCodeGetColumnOfTable(tls, v, (*Index)(unsafe.Pointer(pIdx)).FpTable, iCur, iCol, r1+jj)
+				Xsqlite3ExprCodeLoadIndexColumn(tls, pParse, pIdx, iCur, jj, r1+jj)
 			}
 			Xsqlite3VdbeAddOp4Int(tls, v, OP_FilterAdd, (*WhereLevel)(unsafe.Pointer(pLevel)).FregFilter, 0, r1, n)
 			Xsqlite3ReleaseTempRange(tls, pParse, r1, n)
@@ -102563,6 +102609,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 		}
 	}
 	Xsqlite3VdbeJumpHere(tls, v, addrOnce)
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = saved_pIdxEpr
 }
 
 func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr {
@@ -102821,11 +102868,16 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro
 
 	_ = pParse
 
+	if !((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) && int32(*(*uint16)(unsafe.Pointer(pIdx + 56))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol)
+	} else {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnColumn)
+	}
 	nField = func() int32 {
-		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < (*Index)(unsafe.Pointer(pIdx)).FnSample {
+		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < nField {
 			return int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField)
 		}
-		return (*Index)(unsafe.Pointer(pIdx)).FnSample
+		return nField
 	}()
 	iCol = 0
 	iSample = (*Index)(unsafe.Pointer(pIdx)).FnSample * nField
@@ -104405,7 +104457,7 @@ __4:
 				j >= (*WhereClause)(unsafe.Pointer(pWC)).FnTerm ||
 				*(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*4)) != uintptr(0) ||
 				int32((*sqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21943, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+				Xsqlite3ErrorMsg(tls, pParse, ts+21990, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 				return SQLITE_ERROR
 			}
@@ -104463,7 +104515,7 @@ __6:
 	(*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm = U16(mxTerm + 1)
 	for i = 0; i <= mxTerm; i++ {
 		if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*4)) == uintptr(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21943, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+			Xsqlite3ErrorMsg(tls, pParse, ts+21990, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 			return SQLITE_ERROR
 		}
@@ -104861,7 +104913,7 @@ __1:
 		mPrior = mPrior | (*WhereLoop)(unsafe.Pointer(pNew)).FmaskSelf
 		if rc != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 			if rc == SQLITE_DONE {
-				Xsqlite3_log(tls, SQLITE_WARNING, ts+21969, 0)
+				Xsqlite3_log(tls, SQLITE_WARNING, ts+22016, 0)
 				rc = SQLITE_OK
 			} else {
 				goto __3
@@ -105468,7 +105520,7 @@ __3:
 	}
 
 	if nFrom == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22004, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+22051, 0)
 		Xsqlite3DbFreeNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pSpace)
 		return SQLITE_ERROR
 	}
@@ -105503,6 +105555,10 @@ __3:
 			if int32((*WherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*ExprList)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr {
 				(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_ORDERED)
 			}
+			if (*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 &&
+				int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr {
+				(*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = I8((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr)
+			}
 		} else {
 			(*WhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*WherePath)(unsafe.Pointer(pFrom)).FrevLoop
 			if int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 {
@@ -105797,6 +105853,9 @@ func whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur in
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCur = iIdxCur
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCol = i
 		(*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow = U8(bMaybeNullRow)
+		if Xsqlite3IndexAffinityStr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pIdx) != 0 {
+			(*IndexedExpr)(unsafe.Pointer(p)).Faff = *(*uint8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(i)))
+		}
 		(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = p
 		if (*IndexedExpr)(unsafe.Pointer(p)).FpIENext == uintptr(0) {
 			Xsqlite3ParserAddCleanup(tls, pParse, *(*uintptr)(unsafe.Pointer(&struct {
@@ -105949,7 +106008,7 @@ __1:
 	if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(uint32(unsafe.Sizeof(Bitmask(0)))*uint32(8))) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22022, libc.VaList(bp, int32(uint32(unsafe.Sizeof(Bitmask(0)))*uint32(8))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+22069, libc.VaList(bp, int32(uint32(unsafe.Sizeof(Bitmask(0)))*uint32(8))))
 	return uintptr(0)
 __2:
 	;
@@ -106013,7 +106072,7 @@ __6:
 	(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE)
 __7:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22050, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22097, 0)
 	goto __5
 __4:
 	ii = 0
@@ -106896,7 +106955,7 @@ __1:
 
 error_out:
 	Xsqlite3_result_error(tls,
-		pCtx, ts+22068, -1)
+		pCtx, ts+22115, -1)
 }
 
 func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
@@ -107029,7 +107088,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 			(*NtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 			if (*NtileCtx)(unsafe.Pointer(p)).FnParam <= int64(0) {
 				Xsqlite3_result_error(tls,
-					pCtx, ts+22124, -1)
+					pCtx, ts+22171, -1)
 			}
 		}
 		(*NtileCtx)(unsafe.Pointer(p)).FnTotal++
@@ -107118,17 +107177,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
 	}
 }
 
-var row_numberName = *(*[11]uint8)(unsafe.Pointer(ts + 22169))
-var dense_rankName = *(*[11]uint8)(unsafe.Pointer(ts + 22180))
-var rankName = *(*[5]uint8)(unsafe.Pointer(ts + 22191))
-var percent_rankName = *(*[13]uint8)(unsafe.Pointer(ts + 22196))
-var cume_distName = *(*[10]uint8)(unsafe.Pointer(ts + 22209))
-var ntileName = *(*[6]uint8)(unsafe.Pointer(ts + 22219))
-var last_valueName = *(*[11]uint8)(unsafe.Pointer(ts + 22225))
-var nth_valueName = *(*[10]uint8)(unsafe.Pointer(ts + 22236))
-var first_valueName = *(*[12]uint8)(unsafe.Pointer(ts + 22246))
-var leadName = *(*[5]uint8)(unsafe.Pointer(ts + 22258))
-var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22263))
+var row_numberName = *(*[11]uint8)(unsafe.Pointer(ts + 22216))
+var dense_rankName = *(*[11]uint8)(unsafe.Pointer(ts + 22227))
+var rankName = *(*[5]uint8)(unsafe.Pointer(ts + 22238))
+var percent_rankName = *(*[13]uint8)(unsafe.Pointer(ts + 22243))
+var cume_distName = *(*[10]uint8)(unsafe.Pointer(ts + 22256))
+var ntileName = *(*[6]uint8)(unsafe.Pointer(ts + 22266))
+var last_valueName = *(*[11]uint8)(unsafe.Pointer(ts + 22272))
+var nth_valueName = *(*[10]uint8)(unsafe.Pointer(ts + 22283))
+var first_valueName = *(*[12]uint8)(unsafe.Pointer(ts + 22293))
+var leadName = *(*[5]uint8)(unsafe.Pointer(ts + 22305))
+var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22310))
 
 func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) {
 	_ = p
@@ -107174,7 +107233,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin
 		}
 	}
 	if p == uintptr(0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22267, libc.VaList(bp, zName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+22314, libc.VaList(bp, zName))
 	}
 	return p
 }
@@ -107218,12 +107277,12 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin
 		((*Window)(unsafe.Pointer(pWin)).FpStart != 0 || (*Window)(unsafe.Pointer(pWin)).FpEnd != 0) &&
 		((*Window)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*ExprList)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != 1) {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+22286, 0)
+			ts+22333, 0)
 	} else if (*FuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
 		if (*Window)(unsafe.Pointer(pWin)).FpFilter != 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22357, 0)
+				ts+22404, 0)
 		} else {
 			*(*[8]WindowUpdate)(unsafe.Pointer(bp)) = [8]WindowUpdate{
 				{FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT},
@@ -107451,7 +107510,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr
 
 	if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) {
 		Xsqlite3ErrorMsg(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse,
-			ts+22420, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
+			ts+22467, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
 	}
 	return WRC_Continue
 }
@@ -107567,7 +107626,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 {
 
 		if *(*uintptr)(unsafe.Pointer(bp + 28)) == uintptr(0) {
 			*(*uintptr)(unsafe.Pointer(bp + 28)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0),
-				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7530))
+				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7519))
 		}
 
 		pSub = Xsqlite3SelectNew(tls,
@@ -107682,7 +107741,7 @@ __1:
 		eStart == TK_FOLLOWING && (eEnd == TK_PRECEDING || eEnd == TK_CURRENT)) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22446, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22493, 0)
 	goto windowAllocErr
 __2:
 	;
@@ -107747,15 +107806,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint
 			var zErr uintptr = uintptr(0)
 
 			if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 {
-				zErr = ts + 22478
+				zErr = ts + 22525
 			} else if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0 {
-				zErr = ts + 22495
+				zErr = ts + 22542
 			} else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 {
-				zErr = ts + 22511
+				zErr = ts + 22558
 			}
 			if zErr != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+22531, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
+					ts+22578, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
 			} else {
 				(*Window)(unsafe.Pointer(pWin)).FpPartition = Xsqlite3ExprListDup(tls, db, (*Window)(unsafe.Pointer(pExist)).FpPartition, 0)
 				if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 {
@@ -107776,7 +107835,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr
 		(*Window)(unsafe.Pointer(pWin)).FpOwner = p
 		if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Distinct) != 0 && int32((*Window)(unsafe.Pointer(pWin)).FeFrmType) != TK_FILTER {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22564, 0)
+				ts+22611, 0)
 		}
 	} else {
 		Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin)
@@ -107932,11 +107991,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) {
 }
 
 var azErr = [5]uintptr{
-	ts + 22611,
-	ts + 22664,
-	ts + 22068,
-	ts + 22715,
-	ts + 22767,
+	ts + 22658,
+	ts + 22711,
+	ts + 22115,
+	ts + 22762,
+	ts + 22814,
 }
 var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge}
 
@@ -109328,19 +109387,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) {
 			}
 			cnt++
 			if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*Select)(unsafe.Pointer(pLoop)).FpLimit != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+22817,
+				Xsqlite3ErrorMsg(tls, pParse, ts+22864,
 					libc.VaList(bp, func() uintptr {
 						if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) {
-							return ts + 22859
+							return ts + 22906
 						}
-						return ts + 22868
+						return ts + 22915
 					}(),
 						Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(pNext)).Fop))))
 				break
 			}
 		}
 		if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_MultiValue) == U32(0) && libc.AssignInt32(&mxSelect, *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 120 + 4*4))) > 0 && cnt > mxSelect {
-			Xsqlite3ErrorMsg(tls, pParse, ts+22874, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+22921, 0)
 		}
 	}
 
@@ -109411,7 +109470,7 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT
 	var p uintptr = Xsqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0))
 	if (hasCollate != 0 || sortOrder != -1) &&
 		int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22908,
+		Xsqlite3ErrorMsg(tls, pParse, ts+22955,
 			libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz))
 	}
 	Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1)
@@ -110506,7 +110565,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) {
 		yy_pop_parser_stack(tls, yypParser)
 	}
 
-	Xsqlite3ErrorMsg(tls, pParse, ts+22946, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22993, 0)
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
 }
@@ -111485,7 +111544,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4)) = U32(TF_WithoutRowid | TF_NoVisibleRowid)
 				} else {
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22968, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+4)).Fn, (*Token)(unsafe.Pointer(yymsp+4)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23015, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+4)).Fn, (*Token)(unsafe.Pointer(yymsp+4)).Fz))
 				}
 			}
 			break
@@ -111495,7 +111554,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(TF_Strict)
 				} else {
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22968, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+4)).Fn, (*Token)(unsafe.Pointer(yymsp+4)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23015, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+4)).Fn, (*Token)(unsafe.Pointer(yymsp+4)).Fz))
 				}
 			}
 			*(*U32)(unsafe.Pointer(yymsp + 4)) = *(*U32)(unsafe.Pointer(bp + 40))
@@ -112238,7 +112297,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 		case uint32(157):
 			{
 				Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*12 + 4)), yymsp+libc.UintptrFromInt32(-4)*12+4)
-				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4)), ts+22995)
+				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4)), ts+23042)
 				if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4)) != 0 {
 					var pFromClause uintptr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*12 + 4))
 					if (*SrcList)(unsafe.Pointer(pFromClause)).FnSrc > 1 {
@@ -112402,7 +112461,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*Token)(unsafe.Pointer(bp + 92)) = *(*Token)(unsafe.Pointer(yymsp + 4))
 
 					if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+23004, libc.VaList(bp+32, bp+92))
+						Xsqlite3ErrorMsg(tls, pParse, ts+23051, libc.VaList(bp+32, bp+92))
 						*(*uintptr)(unsafe.Pointer(yymsp + 4)) = uintptr(0)
 					} else {
 						*(*uintptr)(unsafe.Pointer(yymsp + 4)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0))
@@ -112619,9 +112678,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					Xsqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*12 + 4)))
 					*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*12 + 4)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_STRING, func() uintptr {
 						if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*12 + 4)) != 0 {
-							return ts + 6764
+							return ts + 7694
 						}
-						return ts + 6769
+						return ts + 7699
 					}())
 					if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*12 + 4)) != 0 {
 						Xsqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*12 + 4)))
@@ -112905,19 +112964,19 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 			{
 				*(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*12 + 4)) = *(*Token)(unsafe.Pointer(yymsp + 4))
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23028, 0)
+					ts+23075, 0)
 			}
 			break
 		case uint32(271):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23123, 0)
+					ts+23170, 0)
 			}
 			break
 		case uint32(272):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23207, 0)
+					ts+23254, 0)
 			}
 			break
 		case uint32(273):
@@ -113296,9 +113355,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To
 
 	_ = yymajor
 	if *(*uint8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8)).Fz)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23004, libc.VaList(bp, bp+8))
+		Xsqlite3ErrorMsg(tls, pParse, ts+23051, libc.VaList(bp, bp+8))
 	} else {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23292, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+23339, 0)
 	}
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
@@ -114066,7 +114125,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 			} else {
 				(*Token)(unsafe.Pointer(bp + 1248)).Fz = zSql
 				(*Token)(unsafe.Pointer(bp + 1248)).Fn = uint32(n)
-				Xsqlite3ErrorMsg(tls, pParse, ts+23309, libc.VaList(bp, bp+1248))
+				Xsqlite3ErrorMsg(tls, pParse, ts+23356, libc.VaList(bp, bp+1248))
 				break
 			}
 		}
@@ -114089,7 +114148,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 		if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) {
 			(*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+3663, libc.VaList(bp+8, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc)))
 		}
-		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23334, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
+		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23381, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
 		nErr++
 	}
 	(*Parse)(unsafe.Pointer(pParse)).FzTail = zSql
@@ -114262,7 +114321,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'C':
 						{
-							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23345, 6) == 0 {
+							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23392, 6) == 0 {
 								token = U8(TkCREATE)
 							} else {
 								token = U8(TkOTHER)
@@ -114275,11 +114334,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'T':
 						{
-							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19931, 7) == 0 {
+							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19978, 7) == 0 {
 								token = U8(TkTRIGGER)
-							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23352, 4) == 0 {
+							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23399, 4) == 0 {
 								token = U8(TkTEMP)
-							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23357, 9) == 0 {
+							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23404, 9) == 0 {
 								token = U8(TkTEMP)
 							} else {
 								token = U8(TkOTHER)
@@ -114292,9 +114351,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'E':
 						{
-							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23367, 3) == 0 {
+							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23414, 3) == 0 {
 								token = U8(TkEND)
-							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23371, 7) == 0 {
+							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23418, 7) == 0 {
 								token = U8(TkEXPLAIN)
 							} else {
 								token = U8(TkOTHER)
@@ -114528,7 +114587,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 {
 	var rc int32 = SQLITE_OK
 
 	if Xsqlite3Config.FisInit != 0 {
-		return Xsqlite3MisuseError(tls, 174337)
+		return Xsqlite3MisuseError(tls, 174426)
 	}
 
 	ap = va
@@ -115103,7 +115162,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 		return SQLITE_OK
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 175111)
+		return Xsqlite3MisuseError(tls, 175200)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 {
@@ -115118,7 +115177,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 
 	if !(forceZombie != 0) && connectionIsBusy(tls, db) != 0 {
 		Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-			ts+23379, 0)
+			ts+23426, 0)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		return SQLITE_BUSY
 	}
@@ -115309,23 +115368,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) {
 // Return a static string that describes the kind of error specified in the
 // argument.
 func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
-	var zErr uintptr = ts + 23447
+	var zErr uintptr = ts + 23494
 	switch rc {
 	case SQLITE_ABORT | int32(2)<<8:
 		{
-			zErr = ts + 23461
+			zErr = ts + 23508
 			break
 
 		}
 	case SQLITE_ROW:
 		{
-			zErr = ts + 23483
+			zErr = ts + 23530
 			break
 
 		}
 	case SQLITE_DONE:
 		{
-			zErr = ts + 23505
+			zErr = ts + 23552
 			break
 
 		}
@@ -115343,35 +115402,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
 }
 
 var aMsg = [29]uintptr{
-	ts + 23528,
-	ts + 23541,
+	ts + 23575,
+	ts + 23588,
 	uintptr(0),
-	ts + 23557,
-	ts + 23582,
-	ts + 23596,
-	ts + 23615,
+	ts + 23604,
+	ts + 23629,
+	ts + 23643,
+	ts + 23662,
 	ts + 1490,
-	ts + 23640,
-	ts + 23677,
-	ts + 23689,
-	ts + 23704,
-	ts + 23737,
-	ts + 23755,
-	ts + 23780,
-	ts + 23809,
+	ts + 23687,
+	ts + 23724,
+	ts + 23736,
+	ts + 23751,
+	ts + 23784,
+	ts + 23802,
+	ts + 23827,
+	ts + 23856,
 	uintptr(0),
 	ts + 5838,
 	ts + 5334,
-	ts + 23826,
-	ts + 23844,
-	ts + 23862,
+	ts + 23873,
+	ts + 23891,
+	ts + 23909,
 	uintptr(0),
-	ts + 23896,
-	uintptr(0),
-	ts + 23917,
 	ts + 23943,
-	ts + 23966,
-	ts + 23987,
+	uintptr(0),
+	ts + 23964,
+	ts + 23990,
+	ts + 24013,
+	ts + 24034,
 }
 
 func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 {
@@ -115492,7 +115551,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 		libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) ||
 		(nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) ||
 		255 < Xsqlite3Strlen30(tls, zFunctionName) {
-		return Xsqlite3MisuseError(tls, 175758)
+		return Xsqlite3MisuseError(tls, 175847)
 	}
 
 	extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS)
@@ -115537,7 +115596,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 	if p != 0 && (*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK) == U32(enc) && int32((*FuncDef)(unsafe.Pointer(p)).FnArg) == nArg {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24003, 0)
+				ts+24050, 0)
 
 			return SQLITE_BUSY
 		} else {
@@ -115654,7 +115713,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs
 	_ = NotUsed
 	_ = NotUsed2
 	zErr = Xsqlite3_mprintf(tls,
-		ts+24066, libc.VaList(bp, zName))
+		ts+24113, libc.VaList(bp, zName))
 	Xsqlite3_result_error(tls, context, zErr, -1)
 	Xsqlite3_free(tls, zErr)
 }
@@ -115890,7 +115949,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
 	}
 	if iDb < 0 {
 		rc = SQLITE_ERROR
-		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24117, libc.VaList(bp, zDb))
+		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24164, libc.VaList(bp, zDb))
 	} else {
 		(*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0
 		rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt)
@@ -115983,7 +116042,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr {
 		return Xsqlite3ErrStr(tls, SQLITE_NOMEM)
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176503))
+		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176592))
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -116053,7 +116112,7 @@ var misuse = [34]U16{
 // passed to this function, we assume a malloc() failed during sqlite3_open().
 func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176582)
+		return Xsqlite3MisuseError(tls, 176671)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -116063,7 +116122,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 
 func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176591)
+		return Xsqlite3MisuseError(tls, 176680)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -116095,14 +116154,14 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint
 		enc2 = SQLITE_UTF16LE
 	}
 	if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE {
-		return Xsqlite3MisuseError(tls, 176639)
+		return Xsqlite3MisuseError(tls, 176728)
 	}
 
 	pColl = Xsqlite3FindCollSeq(tls, db, U8(enc2), zName, 0)
 	if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24138, 0)
+				ts+24185, 0)
 			return SQLITE_BUSY
 		}
 		Xsqlite3ExpirePreparedStatements(tls, db, 0)
@@ -116232,7 +116291,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u
 
 	if !((flags&uint32(SQLITE_OPEN_URI) != 0 ||
 		Xsqlite3Config.FbOpenUri != 0) &&
-		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24206, uint32(5)) == 0) {
+		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24253, uint32(5)) == 0) {
 		goto __1
 	}
 	iOut = 0
@@ -116277,10 +116336,10 @@ __8:
 	goto __8
 __9:
 	;
-	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24212, zUri+7, uint32(9)) != 0)) {
+	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24259, zUri+7, uint32(9)) != 0)) {
 		goto __10
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24222,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24269,
 		libc.VaList(bp, iIn-7, zUri+7))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
@@ -116385,7 +116444,7 @@ __27:
 	zVal = zOpt + uintptr(nOpt+1)
 	nVal = Xsqlite3Strlen30(tls, zVal)
 
-	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24250, zOpt, uint32(3)) == 0) {
+	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24297, zOpt, uint32(3)) == 0) {
 		goto __29
 	}
 	zVfs = zVal
@@ -116396,17 +116455,17 @@ __29:
 	mask = 0
 	limit = 0
 
-	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24254, zOpt, uint32(5)) == 0) {
+	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24301, zOpt, uint32(5)) == 0) {
 		goto __31
 	}
 
 	mask = SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE
 	aMode = uintptr(unsafe.Pointer(&aCacheMode))
 	limit = mask
-	zModeType = ts + 24254
+	zModeType = ts + 24301
 __31:
 	;
-	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24260, zOpt, uint32(4)) == 0) {
+	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24307, zOpt, uint32(4)) == 0) {
 		goto __32
 	}
 
@@ -116444,7 +116503,7 @@ __36:
 	if !(mode == 0) {
 		goto __38
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24265, libc.VaList(bp+16, zModeType, zVal))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24312, libc.VaList(bp+16, zModeType, zVal))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
 __38:
@@ -116452,7 +116511,7 @@ __38:
 	if !(mode&libc.CplInt32(SQLITE_OPEN_MEMORY) > limit) {
 		goto __39
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24285,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24332,
 		libc.VaList(bp+32, zModeType, zVal))
 	rc = SQLITE_PERM
 	goto parse_uri_out
@@ -116492,7 +116551,7 @@ __2:
 	if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) {
 		goto __42
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24309, libc.VaList(bp+48, zVfs))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24356, libc.VaList(bp+48, zVfs))
 	rc = SQLITE_ERROR
 __42:
 	;
@@ -116515,14 +116574,14 @@ type OpenMode = struct {
 }
 
 var aCacheMode = [3]OpenMode{
-	{Fz: ts + 24325, Fmode: SQLITE_OPEN_SHAREDCACHE},
-	{Fz: ts + 24332, Fmode: SQLITE_OPEN_PRIVATECACHE},
+	{Fz: ts + 24372, Fmode: SQLITE_OPEN_SHAREDCACHE},
+	{Fz: ts + 24379, Fmode: SQLITE_OPEN_PRIVATECACHE},
 	{},
 }
 var aOpenMode = [5]OpenMode{
-	{Fz: ts + 24340, Fmode: SQLITE_OPEN_READONLY},
-	{Fz: ts + 24343, Fmode: SQLITE_OPEN_READWRITE},
-	{Fz: ts + 24346, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
+	{Fz: ts + 24387, Fmode: SQLITE_OPEN_READONLY},
+	{Fz: ts + 24390, Fmode: SQLITE_OPEN_READWRITE},
+	{Fz: ts + 24393, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
 	{Fz: ts + 17362, Fmode: SQLITE_OPEN_MEMORY},
 	{},
 }
@@ -116669,10 +116728,10 @@ __12:
 	createCollation(tls, db, uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{binCollFunc})), uintptr(0))
-	createCollation(tls, db, ts+21863, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+21910, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{nocaseCollatingFunc})), uintptr(0))
-	createCollation(tls, db, ts+24350, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+24397, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{rtrimCollFunc})), uintptr(0))
 	if !((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) {
@@ -116686,7 +116745,7 @@ __15:
 	if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) {
 		goto __16
 	}
-	rc = Xsqlite3MisuseError(tls, 177308)
+	rc = Xsqlite3MisuseError(tls, 177397)
 	goto __17
 __16:
 	rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+12, bp+16)
@@ -116739,7 +116798,7 @@ __22:
 
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 6441
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).Fsafety_level = U8(SQLITE_DEFAULT_SYNCHRONOUS + 1)
-	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*16)).FzDbSName = ts + 23352
+	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*16)).FzDbSName = ts + 23399
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*16)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF)
 
 	(*Sqlite3)(unsafe.Pointer(db)).FeOpenState = U8(SQLITE_STATE_OPEN)
@@ -116844,7 +116903,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 {
 		return rc
 	}
 	if zFilename == uintptr(0) {
-		zFilename = ts + 24356
+		zFilename = ts + 24403
 	}
 	pVal = Xsqlite3ValueNew(tls, uintptr(0))
 	Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0))
@@ -116947,21 +117006,21 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr)
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	Xsqlite3_log(tls, iErr, ts+24359,
+	Xsqlite3_log(tls, iErr, ts+24406,
 		libc.VaList(bp, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls)))
 	return iErr
 }
 
 func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24384)
+	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24431)
 }
 
 func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24404)
+	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24451)
 }
 
 func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24411)
+	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24458)
 }
 
 // This is a convenience routine that makes sure that all thread-specific
@@ -117119,7 +117178,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24)))
-	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24428, libc.VaList(bp, zTableName,
+	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24475, libc.VaList(bp, zTableName,
 		zColumnName))
 	rc = SQLITE_ERROR
 __20:
@@ -117775,7 +117834,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 {
 
 	azCompileOpt = Xsqlite3CompileOptions(tls, bp)
 
-	if Xsqlite3_strnicmp(tls, zOptName, ts+24456, 7) == 0 {
+	if Xsqlite3_strnicmp(tls, zOptName, ts+24503, 7) == 0 {
 		zOptName += uintptr(7)
 	}
 	n = Xsqlite3Strlen30(tls, zOptName)
@@ -117893,7 +117952,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin
 
 	Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr {
 		if rc != 0 {
-			return ts + 24464
+			return ts + 24511
 		}
 		return uintptr(0)
 	}(), 0)
@@ -118070,7 +118129,7 @@ type JsonParse1 = struct {
 type JsonParse = JsonParse1
 
 var jsonType = [8]uintptr{
-	ts + 6181, ts + 6764, ts + 6769, ts + 6191, ts + 6186, ts + 8005, ts + 24487, ts + 24493,
+	ts + 6181, ts + 7694, ts + 7699, ts + 6191, ts + 6186, ts + 8005, ts + 24534, ts + 24540,
 }
 
 func jsonZero(tls *libc.TLS, p uintptr) {
@@ -118223,7 +118282,7 @@ __10:
 	*(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('0')
 	*(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('0')
 	*(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('0' + int32(c)>>4)
-	c = *(*uint8)(unsafe.Pointer(ts + 24500 + uintptr(int32(c)&0xf)))
+	c = *(*uint8)(unsafe.Pointer(ts + 24547 + uintptr(int32(c)&0xf)))
 __8:
 	;
 __6:
@@ -118278,7 +118337,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) {
 	default:
 		{
 			if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 {
-				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24517, -1)
+				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24564, -1)
 				(*JsonString)(unsafe.Pointer(p)).FbErr = U8(2)
 				jsonReset(tls, p)
 			}
@@ -118342,13 +118401,13 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr
 		}
 	case JSON_TRUE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6764, uint32(4))
+			jsonAppendRaw(tls, pOut, ts+7694, uint32(4))
 			break
 
 		}
 	case JSON_FALSE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6769, uint32(5))
+			jsonAppendRaw(tls, pOut, ts+7699, uint32(5))
 			break
 
 		}
@@ -118898,12 +118957,12 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 't' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6764, uint32(4)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7694, uint32(4)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+U32(4))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_TRUE), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 'f' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6769, uint32(5)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7699, uint32(5)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+U32(5))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_FALSE), uint32(0), uintptr(0))
 		return int32(i + U32(5))
@@ -119004,7 +119063,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32
 			if (*JsonParse)(unsafe.Pointer(pParse)).Foom != 0 {
 				Xsqlite3_result_error_nomem(tls, pCtx)
 			} else {
-				Xsqlite3_result_error(tls, pCtx, ts+24546, -1)
+				Xsqlite3_result_error(tls, pCtx, ts+24593, -1)
 			}
 		}
 		jsonParseReset(tls, pParse)
@@ -119310,7 +119369,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt
 	}
 	if int32(*(*uint8)(unsafe.Pointer(zPath))) == '.' {
 		jsonParseAddNode(tls, pParse, uint32(JSON_OBJECT), uint32(0), uintptr(0))
-	} else if libc.Xstrncmp(tls, zPath, ts+24561, uint32(3)) == 0 {
+	} else if libc.Xstrncmp(tls, zPath, ts+24608, uint32(3)) == 0 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0))
 	} else {
 		return uintptr(0)
@@ -119325,7 +119384,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	return Xsqlite3_mprintf(tls, ts+24565, libc.VaList(bp, zErr))
+	return Xsqlite3_mprintf(tls, ts+24612, libc.VaList(bp, zErr))
 }
 
 func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr {
@@ -119379,7 +119438,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24591,
+	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24638,
 		libc.VaList(bp, zFuncName))
 	Xsqlite3_result_error(tls, pCtx, zMsg, -1)
 	Xsqlite3_free(tls, zMsg)
@@ -119484,11 +119543,11 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 			if int32(*(*uint8)(unsafe.Pointer(zPath))) != '$' {
 				jsonInit(tls, bp, ctx)
 				if int32(Xsqlite3CtypeMap[*(*uint8)(unsafe.Pointer(zPath))])&0x04 != 0 {
-					jsonAppendRaw(tls, bp, ts+24634, uint32(2))
+					jsonAppendRaw(tls, bp, ts+24681, uint32(2))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendRaw(tls, bp, ts+4998, uint32(2))
 				} else {
-					jsonAppendRaw(tls, bp, ts+24637, uint32(1+libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zPath))) != '[')))
+					jsonAppendRaw(tls, bp, ts+24684, uint32(1+libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zPath))) != '[')))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendChar(tls, bp, uint8(0))
 				}
@@ -119645,14 +119704,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 
 	if argc&1 != 0 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+24640, -1)
+			ts+24687, -1)
 		return
 	}
 	jsonInit(tls, bp, ctx)
 	jsonAppendChar(tls, bp, uint8('{'))
 	for i = 0; i < argc; i = i + 2 {
 		if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))) != SQLITE_TEXT {
-			Xsqlite3_result_error(tls, ctx, ts+24691, -1)
+			Xsqlite3_result_error(tls, ctx, ts+24738, -1)
 			jsonReset(tls, bp)
 			return
 		}
@@ -119822,9 +119881,9 @@ __1:
 	}
 	jsonWrongNumArgs(tls, ctx, func() uintptr {
 		if bIsSet != 0 {
-			return ts + 24725
+			return ts + 24772
 		}
-		return ts + 24729
+		return ts + 24776
 	}())
 	return
 __2:
@@ -119957,7 +120016,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24736, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24783, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -120054,7 +120113,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24739, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24786, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -120098,7 +120157,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u
 	_ = argc
 	_ = pAux
 	rc = Xsqlite3_declare_vtab(tls, db,
-		ts+24742)
+		ts+24789)
 	if rc == SQLITE_OK {
 		pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{}))))
 		if pNew == uintptr(0) {
@@ -120229,7 +120288,7 @@ func jsonAppendObjectPathElement(tls *libc.TLS, pStr uintptr, pNode uintptr) {
 			nn = nn - 2
 		}
 	}
-	jsonPrintf(tls, nn+2, pStr, ts+24825, libc.VaList(bp, nn, z))
+	jsonPrintf(tls, nn+2, pStr, ts+24872, libc.VaList(bp, nn, z))
 }
 
 func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
@@ -120248,7 +120307,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
 	pNode = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(i)*12
 	pUp = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(iUp)*12
 	if int32((*JsonNode)(unsafe.Pointer(pUp)).FeType) == JSON_ARRAY {
-		jsonPrintf(tls, 30, pStr, ts+24831, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
+		jsonPrintf(tls, 30, pStr, ts+24878, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
 	} else {
 		if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_LABEL == 0 {
 			pNode -= 12
@@ -120344,7 +120403,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 					jsonAppendChar(tls, bp+8, uint8('$'))
 				}
 				if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY {
-					jsonPrintf(tls, 30, bp+8, ts+24831, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
+					jsonPrintf(tls, 30, bp+8, ts+24878, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
 				} else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT {
 					jsonAppendObjectPathElement(tls, bp+8, pThis)
 				}
@@ -120368,7 +120427,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 		{
 			var zRoot uintptr = (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot
 			if zRoot == uintptr(0) {
-				zRoot = ts + 24836
+				zRoot = ts + 24883
 			}
 			Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0))
 			break
@@ -120490,7 +120549,7 @@ func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, ar
 		var rc int32 = SQLITE_NOMEM
 		if int32((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.Foom) == 0 {
 			Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg)
-			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24546, 0)
+			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24593, 0)
 			if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 {
 				rc = SQLITE_ERROR
 			}
@@ -120585,25 +120644,25 @@ func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) {
 }
 
 var aJsonFunc = [19]FuncDef{
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24838},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24843},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24854},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24854},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24872},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_JSON), FxSFunc: 0, FzName: ts + 24885},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_SQL), FxSFunc: 0, FzName: ts + 24888},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24892},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24904},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24916},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24927},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24938},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24950},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_ISSET), FxSFunc: 0, FzName: ts + 24963},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24972},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24972},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24982},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24993},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25010}}
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24885},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24890},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24901},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24901},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24919},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_JSON), FxSFunc: 0, FzName: ts + 24932},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_SQL), FxSFunc: 0, FzName: ts + 24935},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24939},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24951},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24963},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24974},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24985},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24997},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(JSON_ISSET), FxSFunc: 0, FzName: ts + 25010},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25019},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25019},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25029},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25040},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25057}}
 
 // Register the JSON table-valued functions
 func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 {
@@ -120622,8 +120681,8 @@ var aMod = [2]struct {
 	FzName   uintptr
 	FpModule uintptr
 }{
-	{FzName: ts + 25028, FpModule: 0},
-	{FzName: ts + 25038, FpModule: 0},
+	{FzName: ts + 25075, FpModule: 0},
+	{FzName: ts + 25085, FpModule: 0},
 }
 
 type Rtree1 = struct {
@@ -120880,11 +120939,11 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo
 		}
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) {
-		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25048, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25095, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		if zTab == uintptr(0) {
 			return SQLITE_NOMEM
 		}
-		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25056, iNode, 0,
+		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25103, iNode, 0,
 			pRtree+76)
 		Xsqlite3_free(tls, zTab)
 	}
@@ -121095,7 +121154,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32
 	var zCreate uintptr = Xsqlite3_mprintf(tls,
-		ts+25061,
+		ts+25108,
 		libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
@@ -121793,7 +121852,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 {
 	var pSrc uintptr
 	var pInfo uintptr
 
-	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25143)
+	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25190)
 	if pSrc == uintptr(0) {
 		return SQLITE_ERROR
 	}
@@ -123134,7 +123193,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+25157, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+	zSql = Xsqlite3_mprintf(tls, ts+25204, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 	if zSql != 0 {
 		rc = Xsqlite3_prepare_v2(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -1, bp+56, uintptr(0))
 	} else {
@@ -123146,12 +123205,12 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 		if iCol == 0 {
 			var zCol uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 0)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25177, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
+				ts+25224, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
 		} else {
 			var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol)
 			var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol+1)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25209, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
+				ts+25256, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
 		}
 	}
 
@@ -123377,7 +123436,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32 = SQLITE_NOMEM
 	var zSql uintptr = Xsqlite3_mprintf(tls,
-		ts+25246, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
+		ts+25293, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
 	if zSql != 0 {
 		nodeBlobReset(tls, pRtree)
 		rc = Xsqlite3_exec(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0))
@@ -123400,7 +123459,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 {
 	bp := tls.Alloc(20)
 	defer tls.Free(20)
 
-	var zFmt uintptr = ts + 25391
+	var zFmt uintptr = ts + 25438
 	var zSql uintptr
 
 	var rc int32
@@ -123448,7 +123507,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName1 = [3]uintptr{
-	ts + 25447, ts + 5060, ts + 16267,
+	ts + 25494, ts + 5060, ts + 16267,
 }
 
 var rtreeModule = Sqlite3_module{
@@ -123491,19 +123550,19 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		var p uintptr = Xsqlite3_str_new(tls, db)
 		var ii int32
 		Xsqlite3_str_appendf(tls, p,
-			ts+25452,
+			ts+25499,
 			libc.VaList(bp, zDb, zPrefix))
 		for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
-			Xsqlite3_str_appendf(tls, p, ts+25514, libc.VaList(bp+16, ii))
+			Xsqlite3_str_appendf(tls, p, ts+25561, libc.VaList(bp+16, ii))
 		}
 		Xsqlite3_str_appendf(tls, p,
-			ts+25519,
+			ts+25566,
 			libc.VaList(bp+24, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25583,
+			ts+25630,
 			libc.VaList(bp+40, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25653,
+			ts+25700,
 			libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))
 		zCreate = Xsqlite3_str_finish(tls, p)
 		if !(zCreate != 0) {
@@ -123532,7 +123591,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		if i != 3 || int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) == 0 {
 			zFormat = azSql[i]
 		} else {
-			zFormat = ts + 25702
+			zFormat = ts + 25749
 		}
 		zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix))
 		if zSql != 0 {
@@ -123544,7 +123603,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FnAux != 0 {
 		(*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls,
-			ts+25810,
+			ts+25857,
 			libc.VaList(bp+96, zDb, zPrefix))
 		if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -123552,18 +123611,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 			var p uintptr = Xsqlite3_str_new(tls, db)
 			var ii int32
 			var zSql uintptr
-			Xsqlite3_str_appendf(tls, p, ts+25855, libc.VaList(bp+112, zDb, zPrefix))
+			Xsqlite3_str_appendf(tls, p, ts+25902, libc.VaList(bp+112, zDb, zPrefix))
 			for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
 				if ii != 0 {
 					Xsqlite3_str_append(tls, p, ts+12767, 1)
 				}
 				if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) {
-					Xsqlite3_str_appendf(tls, p, ts+25882, libc.VaList(bp+128, ii, ii+2, ii))
+					Xsqlite3_str_appendf(tls, p, ts+25929, libc.VaList(bp+128, ii, ii+2, ii))
 				} else {
-					Xsqlite3_str_appendf(tls, p, ts+25904, libc.VaList(bp+152, ii, ii+2))
+					Xsqlite3_str_appendf(tls, p, ts+25951, libc.VaList(bp+152, ii, ii+2))
 				}
 			}
-			Xsqlite3_str_appendf(tls, p, ts+25912, 0)
+			Xsqlite3_str_appendf(tls, p, ts+25959, 0)
 			zSql = Xsqlite3_str_finish(tls, p)
 			if zSql == uintptr(0) {
 				rc = SQLITE_NOMEM
@@ -123578,14 +123637,14 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 }
 
 var azSql = [8]uintptr{
-	ts + 25928,
-	ts + 25981,
-	ts + 26026,
-	ts + 26078,
-	ts + 26132,
-	ts + 26177,
-	ts + 26235,
-	ts + 26290,
+	ts + 25975,
+	ts + 26028,
+	ts + 26073,
+	ts + 26125,
+	ts + 26179,
+	ts + 26224,
+	ts + 26282,
+	ts + 26337,
 }
 
 func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 {
@@ -123614,7 +123673,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 	var zSql uintptr
 	if isCreate != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = 0
-		zSql = Xsqlite3_mprintf(tls, ts+26337, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
+		zSql = Xsqlite3_mprintf(tls, ts+26384, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
 		rc = getIntFromStmt(tls, db, zSql, bp+48)
 		if rc == SQLITE_OK {
 			(*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp + 48)) - 64
@@ -123626,7 +123685,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		}
 	} else {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+26357,
+			ts+26404,
 			libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		rc = getIntFromStmt(tls, db, zSql, pRtree+16)
 		if rc != SQLITE_OK {
@@ -123634,7 +123693,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		} else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < 512-64 {
 			rc = SQLITE_CORRUPT | int32(1)<<8
 
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26414,
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26461,
 				libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		}
 	}
@@ -123676,10 +123735,10 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr
 	ii = 4
 	*(*[5]uintptr)(unsafe.Pointer(bp + 96)) = [5]uintptr{
 		uintptr(0),
-		ts + 26449,
-		ts + 26492,
-		ts + 26527,
-		ts + 26563,
+		ts + 26496,
+		ts + 26539,
+		ts + 26574,
+		ts + 26610,
 	}
 
 	if !(argc < 6 || argc > RTREE_MAX_AUX_COLUMN+3) {
@@ -123710,7 +123769,7 @@ __2:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*4)), uint32(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+26600,
+	Xsqlite3_str_appendf(tls, pSql, ts+26647,
 		libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*4))), *(*uintptr)(unsafe.Pointer(argv + 3*4))))
 	ii = 4
 __3:
@@ -123722,7 +123781,7 @@ __3:
 		goto __6
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+26624, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
+	Xsqlite3_str_appendf(tls, pSql, ts+26671, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
 	goto __7
 __6:
 	if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) {
@@ -123745,7 +123804,7 @@ __4:
 	goto __5
 __5:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26630, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26677, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __10
@@ -123841,7 +123900,7 @@ __25:
 	return rc
 }
 
-var azFormat = [2]uintptr{ts + 26633, ts + 26644}
+var azFormat = [2]uintptr{ts + 26680, ts + 26691}
 
 func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	bp := tls.Alloc(600)
@@ -123881,11 +123940,11 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 		if ii > 0 {
 			Xsqlite3_str_append(tls, pOut, ts+10920, 1)
 		}
-		Xsqlite3_str_appendf(tls, pOut, ts+26654, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+552)).FiRowid))
+		Xsqlite3_str_appendf(tls, pOut, ts+26701, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+552)).FiRowid))
 		for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+48)).FnDim2); jj++ {
-			Xsqlite3_str_appendf(tls, pOut, ts+26660, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 552 + 8 + uintptr(jj)*4)))))
+			Xsqlite3_str_appendf(tls, pOut, ts+26707, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 552 + 8 + uintptr(jj)*4)))))
 		}
-		Xsqlite3_str_append(tls, pOut, ts+26664, 1)
+		Xsqlite3_str_append(tls, pOut, ts+26711, 1)
 	}
 	errCode = Xsqlite3_str_errcode(tls, pOut)
 	Xsqlite3_result_text(tls, ctx, Xsqlite3_str_finish(tls, pOut), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
@@ -123896,7 +123955,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	_ = nArg
 	if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB ||
 		Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 {
-		Xsqlite3_result_error(tls, ctx, ts+26666, -1)
+		Xsqlite3_result_error(tls, ctx, ts+26713, -1)
 	} else {
 		var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 		if zBlob != 0 {
@@ -123972,7 +124031,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr
 		if z == uintptr(0) {
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM
 		} else {
-			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26699,
+			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26746,
 				libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr {
 					if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 {
 						return ts + 4062
@@ -123996,7 +124055,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) {
 		(*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = rtreeCheckPrepare(tls, pCheck,
-			ts+26706,
+			ts+26753,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab))
 	}
 
@@ -124015,7 +124074,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 		}
 		rtreeCheckReset(tls, pCheck, (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode)
 		if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) {
-			rtreeCheckAppendMsg(tls, pCheck, ts+26751, libc.VaList(bp+16, iNode))
+			rtreeCheckAppendMsg(tls, pCheck, ts+26798, libc.VaList(bp+16, iNode))
 		}
 	}
 
@@ -124029,8 +124088,8 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	var rc int32
 	var pStmt uintptr
 	*(*[2]uintptr)(unsafe.Pointer(bp + 80)) = [2]uintptr{
-		ts + 26783,
-		ts + 26837,
+		ts + 26830,
+		ts + 26884,
 	}
 
 	if *(*uintptr)(unsafe.Pointer(pCheck + 24 + uintptr(bLeaf)*4)) == uintptr(0) {
@@ -124045,23 +124104,23 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	Xsqlite3_bind_int64(tls, pStmt, 1, iKey)
 	rc = Xsqlite3_step(tls, pStmt)
 	if rc == SQLITE_DONE {
-		rtreeCheckAppendMsg(tls, pCheck, ts+26885,
+		rtreeCheckAppendMsg(tls, pCheck, ts+26932,
 			libc.VaList(bp+16, iKey, iVal, func() uintptr {
 				if bLeaf != 0 {
-					return ts + 26930
+					return ts + 26977
 				}
-				return ts + 26938
+				return ts + 26985
 			}()))
 	} else if rc == SQLITE_ROW {
 		var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0)
 		if ii != iVal {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+26947,
+				ts+26994,
 				libc.VaList(bp+40, iKey, ii, func() uintptr {
 					if bLeaf != 0 {
-						return ts + 26930
+						return ts + 26977
 					}
-					return ts + 26938
+					return ts + 26985
 				}(), iKey, iVal))
 		}
 	}
@@ -124085,7 +124144,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 			return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48)) > *(*RtreeValue)(unsafe.Pointer(bp + 52)))
 		}() != 0 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27005, libc.VaList(bp, i, iCell, iNode))
+				ts+27052, libc.VaList(bp, i, iCell, iNode))
 		}
 
 		if pParent != 0 {
@@ -124105,7 +124164,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 					return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52)) > *(*RtreeValue)(unsafe.Pointer(bp + 60)))
 				}() != 0 {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27053, libc.VaList(bp+24, i, iCell, iNode))
+					ts+27100, libc.VaList(bp+24, i, iCell, iNode))
 			}
 		}
 	}
@@ -124122,14 +124181,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 	if aNode != 0 {
 		if *(*int32)(unsafe.Pointer(bp + 48)) < 4 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27120, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
+				ts+27167, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
 		} else {
 			var nCell int32
 			var i int32
 			if aParent == uintptr(0) {
 				iDepth = readInt16(tls, aNode)
 				if iDepth > RTREE_MAX_DEPTH {
-					rtreeCheckAppendMsg(tls, pCheck, ts+27154, libc.VaList(bp+16, iDepth))
+					rtreeCheckAppendMsg(tls, pCheck, ts+27201, libc.VaList(bp+16, iDepth))
 					Xsqlite3_free(tls, aNode)
 					return
 				}
@@ -124137,7 +124196,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 			nCell = readInt16(tls, aNode+2)
 			if 4+nCell*(8+(*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim*2*4) > *(*int32)(unsafe.Pointer(bp + 48)) {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27184,
+					ts+27231,
 					libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48))))
 			} else {
 				for i = 0; i < nCell; i++ {
@@ -124166,14 +124225,14 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) {
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK {
 		var pCount uintptr
-		pCount = rtreeCheckPrepare(tls, pCheck, ts+27239,
+		pCount = rtreeCheckPrepare(tls, pCheck, ts+27286,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl))
 		if pCount != 0 {
 			if Xsqlite3_step(tls, pCount) == SQLITE_ROW {
 				var nActual I64 = Xsqlite3_column_int64(tls, pCount, 0)
 				if nActual != nExpect {
 					rtreeCheckAppendMsg(tls, pCheck,
-						ts+27270, libc.VaList(bp+24, zTbl, nExpect, nActual))
+						ts+27317, libc.VaList(bp+24, zTbl, nExpect, nActual))
 				}
 			}
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount)
@@ -124200,7 +124259,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	}
 
 	if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
-		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27337, libc.VaList(bp, zDb, zTab))
+		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27384, libc.VaList(bp, zDb, zTab))
 		if pStmt != 0 {
 			nAux = Xsqlite3_column_count(tls, pStmt) - 2
 			Xsqlite3_finalize(tls, pStmt)
@@ -124209,12 +124268,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		}
 	}
 
-	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25157, libc.VaList(bp+16, zDb, zTab))
+	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25204, libc.VaList(bp+16, zDb, zTab))
 	if pStmt != 0 {
 		var rc int32
 		(*RtreeCheck)(unsafe.Pointer(bp + 32)).FnDim = (Xsqlite3_column_count(tls, pStmt) - 1 - nAux) / 2
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).FnDim < 1 {
-			rtreeCheckAppendMsg(tls, bp+32, ts+27365, 0)
+			rtreeCheckAppendMsg(tls, bp+32, ts+27412, 0)
 		} else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).FbInt = libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)
 		}
@@ -124228,8 +124287,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			rtreeCheckNode(tls, bp+32, 0, uintptr(0), int64(1))
 		}
-		rtreeCheckCount(tls, bp+32, ts+27396, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
-		rtreeCheckCount(tls, bp+32, ts+27403, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27443, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27450, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
 	}
 
 	Xsqlite3_finalize(tls, (*RtreeCheck)(unsafe.Pointer(bp+32)).FpGetNode)
@@ -124237,7 +124296,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 + 24 + 1*4)))
 
 	if bEnd != 0 {
-		var rc int32 = Xsqlite3_exec(tls, db, ts+27411, uintptr(0), uintptr(0), uintptr(0))
+		var rc int32 = Xsqlite3_exec(tls, db, ts+27458, uintptr(0), uintptr(0), uintptr(0))
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).Frc = rc
 		}
@@ -124252,7 +124311,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 
 	if nArg != 1 && nArg != 2 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+27415, -1)
+			ts+27462, -1)
 	} else {
 		var rc int32
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
@@ -124270,7 +124329,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 				if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
 					return *(*uintptr)(unsafe.Pointer(bp))
 				}
-				return ts + 18012
+				return ts + 18059
 			}(), -1, libc.UintptrFromInt32(-1))
 		} else {
 			Xsqlite3_result_error_code(tls, ctx, rc)
@@ -124640,11 +124699,11 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var db uintptr = Xsqlite3_context_db_handle(tls, context)
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
-		Xsqlite3_str_append(tls, x, ts+27466, 1)
+		Xsqlite3_str_append(tls, x, ts+27513, 1)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27468, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27515, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27479, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27526, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -124664,19 +124723,19 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
 		var cSep uint8 = uint8('\'')
-		Xsqlite3_str_appendf(tls, x, ts+27490, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27537, 0)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27508, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27555, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 			cSep = uint8(' ')
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27516, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27563, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		for i = 1; i < argc; i++ {
 			var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))
 			if z != 0 && *(*uint8)(unsafe.Pointer(z)) != 0 {
-				Xsqlite3_str_appendf(tls, x, ts+27524, libc.VaList(bp+40, z))
+				Xsqlite3_str_appendf(tls, x, ts+27571, libc.VaList(bp+40, z))
 			}
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27528, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27575, 0)
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -125595,7 +125654,7 @@ __1:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*4)), uint32(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+27541, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+27588, 0)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1)
 	ii = 3
@@ -125604,7 +125663,7 @@ __2:
 		goto __4
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+27563, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4))))
+	Xsqlite3_str_appendf(tls, pSql, ts+27610, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*4))))
 	goto __3
 __3:
 	ii++
@@ -125612,7 +125671,7 @@ __3:
 	goto __4
 __4:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26630, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26677, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __5
@@ -125849,7 +125908,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 	}
 	if iFuncTerm >= 0 {
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum
-		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27567
+		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27614
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).FargvIndex = 1
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).Fomit = uint8(0)
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 300.0
@@ -125857,7 +125916,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 		return SQLITE_OK
 	}
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4
-	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27573
+	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27620
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000)
 	return SQLITE_OK
@@ -125969,7 +126028,7 @@ __1:
 	if !(*(*int32)(unsafe.Pointer(bp + 48)) == SQLITE_ERROR) {
 		goto __4
 	}
-	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27582, 0)
+	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27629, 0)
 __4:
 	;
 	goto geopoly_update_end
@@ -126101,14 +126160,14 @@ geopoly_update_end:
 func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 {
 	_ = pVtab
 	_ = nArg
-	if Xsqlite3_stricmp(tls, zName, ts+27622) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27669) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyOverlapFunc}))
 		*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
 		return SQLITE_INDEX_CONSTRAINT_FUNCTION
 	}
-	if Xsqlite3_stricmp(tls, zName, ts+27638) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27685) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyWithinFunc}))
@@ -126173,7 +126232,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 {
 			uintptr(0), aAgg[i].FxStep, aAgg[i].FxFinal)
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27653, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27700, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
 	}
 	return rc
 }
@@ -126185,25 +126244,25 @@ var aFunc = [12]struct {
 	F__ccgo_pad1 [2]byte
 	FzName       uintptr
 }{
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27661},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27674},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27687},
-	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27700},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27638},
-	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27712},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27622},
-	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27735},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27749},
-	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27762},
-	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27776},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27792},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27708},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27721},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27734},
+	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27747},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27685},
+	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27759},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27669},
+	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27782},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27796},
+	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27809},
+	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27823},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27839},
 }
 var aAgg = [1]struct {
 	FxStep  uintptr
 	FxFinal uintptr
 	FzName  uintptr
 }{
-	{FxStep: 0, FxFinal: 0, FzName: ts + 27804},
+	{FxStep: 0, FxFinal: 0, FzName: ts + 27851},
 }
 
 // Register the r-tree module with database handle db. This creates the
@@ -126213,26 +126272,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 {
 	var utf8 int32 = SQLITE_UTF8
 	var rc int32
 
-	rc = Xsqlite3_create_function(tls, db, ts+27823, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	rc = Xsqlite3_create_function(tls, db, ts+27870, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr)
 	}{rtreenode})), uintptr(0), uintptr(0))
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27833, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27880, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreedepth})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27844, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27891, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreecheck})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_REAL32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27567, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27614, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_INT32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27855, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27902, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		rc = sqlite3_geopoly_init(tls, db)
@@ -126286,7 +126345,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
 			Xsqlite3_result_error_nomem(tls, ctx)
 			rtreeMatchArgFree(tls, pBlob)
 		} else {
-			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25143, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
+			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25190, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
 		}
 	}
 }
@@ -126604,7 +126663,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 
 	nOut = rbuDeltaOutputSize(tls, aDelta, nDelta)
 	if nOut < 0 {
-		Xsqlite3_result_error(tls, context, ts+27865, -1)
+		Xsqlite3_result_error(tls, context, ts+27912, -1)
 		return
 	}
 
@@ -126615,7 +126674,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 		nOut2 = rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut)
 		if nOut2 != nOut {
 			Xsqlite3_free(tls, aOut)
-			Xsqlite3_result_error(tls, context, ts+27865, -1)
+			Xsqlite3_result_error(tls, context, ts+27912, -1)
 		} else {
 			Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		}
@@ -126716,7 +126775,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuObjIterClearStatements(tls, pIter)
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) {
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+27886, uintptr(0), uintptr(0), p+36)
+				ts+27933, uintptr(0), uintptr(0), p+36)
 		}
 
 		if rc == SQLITE_OK {
@@ -126780,7 +126839,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) {
 				Xsqlite3_result_text(tls, pCtx, zIn, -1, uintptr(0))
 			}
 		} else {
-			if libc.Xstrlen(tls, zIn) > Size_t(4) && libc.Xmemcmp(tls, ts+25056, zIn, uint32(4)) == 0 {
+			if libc.Xstrlen(tls, zIn) > Size_t(4) && libc.Xmemcmp(tls, ts+25103, zIn, uint32(4)) == 0 {
 				var i int32
 				for i = 4; int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) >= '0' && int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) <= '9'; i++ {
 				}
@@ -126801,16 +126860,16 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 
 	rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+36,
 		Xsqlite3_mprintf(tls,
-			ts+28057, libc.VaList(bp, func() uintptr {
+			ts+28104, libc.VaList(bp, func() uintptr {
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					return ts + 28207
+					return ts + 28254
 				}
 				return ts + 1554
 			}())))
 
 	if rc == SQLITE_OK {
 		rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+4, p+36,
-			ts+28248)
+			ts+28295)
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1
@@ -126926,7 +126985,7 @@ func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32, p+36,
 		Xsqlite3_mprintf(tls,
-			ts+28373, libc.VaList(bp, zTab)))
+			ts+28420, libc.VaList(bp, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) != SQLITE_ROW) {
 		goto __1
 	}
@@ -126944,7 +127003,7 @@ __2:
 	*(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), 1)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+1*4, p+36,
-		Xsqlite3_mprintf(tls, ts+28492, libc.VaList(bp+8, zTab)))
+		Xsqlite3_mprintf(tls, ts+28539, libc.VaList(bp+8, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) {
 		goto __3
 	}
@@ -126962,7 +127021,7 @@ __4:
 	}
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+2*4, p+36,
 		Xsqlite3_mprintf(tls,
-			ts+28513, libc.VaList(bp+16, zIdx)))
+			ts+28560, libc.VaList(bp+16, zIdx)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __7
 	}
@@ -126985,7 +127044,7 @@ __6:
 __5:
 	;
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+3*4, p+36,
-		Xsqlite3_mprintf(tls, ts+28564, libc.VaList(bp+24, zTab)))
+		Xsqlite3_mprintf(tls, ts+28611, libc.VaList(bp+24, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __10
 	}
@@ -127031,7 +127090,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		libc.Xmemcpy(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint32(unsafe.Sizeof(U8(0)))*uint32((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+16, p+36,
-			Xsqlite3_mprintf(tls, ts+28585, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28632, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0
@@ -127046,7 +127105,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 			libc.Xmemset(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0x01, uint32(unsafe.Sizeof(U8(0)))*uint32((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		}
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+20, p+36,
-			Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp+8, zIdx)))
+			Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp+8, zIdx)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 20))) {
 			var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 20)), 1)
 			if iCid >= 0 {
@@ -127086,7 +127145,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+36, bp+56, pIter+60)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19489, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19536, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
 			return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc
@@ -127096,18 +127155,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		}
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+60, p+36,
-			Xsqlite3_mprintf(tls, ts+28642, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
+			Xsqlite3_mprintf(tls, ts+28689, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 60)))
 			rbuAllocateIterArrays(tls, p, pIter, nCol)
 		}
 		for i = 0; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && i < nCol; i++ {
 			var zName uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 60)), i)
-			if Xsqlite3_strnicmp(tls, ts+28661, zName, 4) != 0 {
+			if Xsqlite3_strnicmp(tls, ts+28708, zName, 4) != 0 {
 				var zCopy uintptr = rbuStrndup(tls, zName, p+32)
 				*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol
 				*(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(libc.PostIncInt32(&(*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol, 1))*4)) = zCopy
-			} else if 0 == Xsqlite3_stricmp(tls, ts+28666, zName) {
+			} else if 0 == Xsqlite3_stricmp(tls, ts+28713, zName) {
 				bRbuRowid = 1
 			}
 		}
@@ -127119,18 +127178,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			bRbuRowid != libc.Bool32((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls,
-				ts+28676, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
+				ts+28723, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 					func() uintptr {
 						if bRbuRowid != 0 {
-							return ts + 28705
+							return ts + 28752
 						}
-						return ts + 28718
+						return ts + 28765
 					}()))
 		}
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+60, p+36,
-				Xsqlite3_mprintf(tls, ts+28727, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				Xsqlite3_mprintf(tls, ts+28774, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		}
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 60))) {
 			var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 60)), 1)
@@ -127144,7 +127203,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			}
 			if i == (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28749,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28796,
 					libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName))
 			} else {
 				var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 60)), 5)
@@ -127191,7 +127250,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var i int32
 	for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 		var z uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
-		zList = rbuMPrintf(tls, p, ts+28776, libc.VaList(bp, zList, zSep, z))
+		zList = rbuMPrintf(tls, p, ts+28823, libc.VaList(bp, zList, zSep, z))
 		zSep = ts + 14614
 	}
 	return zList
@@ -127209,7 +127268,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr,
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if int32(*(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
-				zRet = rbuMPrintf(tls, p, ts+28785, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
+				zRet = rbuMPrintf(tls, p, ts+28832, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
 				zSep = zSeparator
 				break
 			}
@@ -127231,25 +127290,25 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32,
 	if bRowid != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+36,
 			Xsqlite3_mprintf(tls,
-				ts+28798, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				ts+28845, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 			var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-			zRet = rbuMPrintf(tls, p, ts+28830, libc.VaList(bp+16, iMax))
+			zRet = rbuMPrintf(tls, p, ts+28877, libc.VaList(bp+16, iMax))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 	} else {
-		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+28853)
-		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28859, ts+28866, ts+4957)
+		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+28900)
+		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28906, ts+28913, ts+4957)
 		var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+1554)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+36,
 				Xsqlite3_mprintf(tls,
-					ts+28874,
+					ts+28921,
 					libc.VaList(bp+24, zSelect, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 				var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-				zRet = rbuMPrintf(tls, p, ts+28916, libc.VaList(bp+56, zList, zVal))
+				zRet = rbuMPrintf(tls, p, ts+28963, libc.VaList(bp+56, zList, zVal))
 			}
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 		}
@@ -127291,7 +127350,7 @@ func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	*(*uintptr)(unsafe.Pointer(bp + 176)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+36,
-		Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+		Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 __1:
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176)))) {
 		goto __2
@@ -127326,7 +127385,7 @@ __10:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
 	goto __7
 __6:
-	zCol = ts + 28936
+	zCol = ts + 28983
 __7:
 	;
 	goto __5
@@ -127334,11 +127393,11 @@ __4:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*4))
 __5:
 	;
-	zLhs = rbuMPrintf(tls, p, ts+28944,
+	zLhs = rbuMPrintf(tls, p, ts+28991,
 		libc.VaList(bp+8, zLhs, zSep, zCol, zCollate))
-	zOrder = rbuMPrintf(tls, p, ts+28965,
+	zOrder = rbuMPrintf(tls, p, ts+29012,
 		libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate))
-	zSelect = rbuMPrintf(tls, p, ts+29001,
+	zSelect = rbuMPrintf(tls, p, ts+29048,
 		libc.VaList(bp+80, zSelect, zSep, iCol, zCol))
 	zSep = ts + 14614
 	iCol++
@@ -127358,7 +127417,7 @@ __11:
 	*(*uintptr)(unsafe.Pointer(bp + 180)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+180, p+36,
-		Xsqlite3_mprintf(tls, ts+29028,
+		Xsqlite3_mprintf(tls, ts+29075,
 			libc.VaList(bp+112, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 180)))) {
 		goto __13
@@ -127385,7 +127444,7 @@ __19:
 	;
 __18:
 	;
-	zVector = rbuMPrintf(tls, p, ts+29076, libc.VaList(bp+136, zVector, zSep, zQuoted))
+	zVector = rbuMPrintf(tls, p, ts+29123, libc.VaList(bp+136, zVector, zSep, zQuoted))
 	zSep = ts + 14614
 	goto __15
 __15:
@@ -127397,7 +127456,7 @@ __16:
 	if !!(bFailed != 0) {
 		goto __20
 	}
-	zRet = rbuMPrintf(tls, p, ts+29083, libc.VaList(bp+160, zLhs, zVector))
+	zRet = rbuMPrintf(tls, p, ts+29130, libc.VaList(bp+160, zLhs, zVector))
 __20:
 	;
 __13:
@@ -127430,7 +127489,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 	if rc == SQLITE_OK {
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200, p+36,
-			Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+			Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 	}
 
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200))) {
@@ -127442,7 +127501,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 		if iCid == -2 {
 			var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 0)
-			zRet = Xsqlite3_mprintf(tls, ts+29095, libc.VaList(bp+8, zRet, zCom,
+			zRet = Xsqlite3_mprintf(tls, ts+29142, libc.VaList(bp+8, zRet, zCom,
 				(*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*8)).FnSpan, (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*8)).FzSpan, zCollate))
 			zType = ts + 1554
 		} else {
@@ -127454,37 +127513,37 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 					zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
 				} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					zCol = ts + 28936
+					zCol = ts + 28983
 				} else {
-					zCol = ts + 28666
+					zCol = ts + 28713
 				}
 				zType = ts + 1119
 			} else {
 				zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*4))
 				zType = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*4))
 			}
-			zRet = Xsqlite3_mprintf(tls, ts+29117, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
+			zRet = Xsqlite3_mprintf(tls, ts+29164, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 5) != 0 {
 			var zOrder uintptr = func() uintptr {
 				if bDesc != 0 {
-					return ts + 28853
+					return ts + 28900
 				}
 				return ts + 1554
 			}()
-			zImpPK = Xsqlite3_mprintf(tls, ts+29137,
+			zImpPK = Xsqlite3_mprintf(tls, ts+29184,
 				libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder))
 		}
-		zImpCols = Xsqlite3_mprintf(tls, ts+29158,
+		zImpCols = Xsqlite3_mprintf(tls, ts+29205,
 			libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate))
 		zWhere = Xsqlite3_mprintf(tls,
-			ts+29191, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
+			ts+29238, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
 		if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) {
 			rc = SQLITE_NOMEM
 		}
 		zCom = ts + 14614
-		zAnd = ts + 21525
+		zAnd = ts + 21572
 		nBind++
 	}
 
@@ -127523,9 +127582,9 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
-				zList = Xsqlite3_mprintf(tls, ts+29215, libc.VaList(bp, zList, zS, zObj, zCol))
+				zList = Xsqlite3_mprintf(tls, ts+29262, libc.VaList(bp, zList, zS, zObj, zCol))
 			} else {
-				zList = Xsqlite3_mprintf(tls, ts+29227, libc.VaList(bp+32, zList, zS))
+				zList = Xsqlite3_mprintf(tls, ts+29274, libc.VaList(bp+32, zList, zS))
 			}
 			zS = ts + 14614
 			if zList == uintptr(0) {
@@ -127535,7 +127594,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-			zList = rbuMPrintf(tls, p, ts+29236, libc.VaList(bp+48, zList, zObj))
+			zList = rbuMPrintf(tls, p, ts+29283, libc.VaList(bp+48, zList, zObj))
 		}
 	}
 	return zList
@@ -127547,18 +127606,18 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	var zList uintptr = uintptr(0)
 	if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-		zList = rbuMPrintf(tls, p, ts+29251, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
+		zList = rbuMPrintf(tls, p, ts+29298, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
 	} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
 		var zSep uintptr = ts + 1554
 		var i int32
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
-				zList = rbuMPrintf(tls, p, ts+29265, libc.VaList(bp+8, zList, zSep, i, i+1))
-				zSep = ts + 21525
+				zList = rbuMPrintf(tls, p, ts+29312, libc.VaList(bp+8, zList, zSep, i, i+1))
+				zSep = ts + 21572
 			}
 		}
 		zList = rbuMPrintf(tls, p,
-			ts+29277, libc.VaList(bp+40, zList))
+			ts+29324, libc.VaList(bp+40, zList))
 
 	} else {
 		var zSep uintptr = ts + 1554
@@ -127566,8 +127625,8 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4))
-				zList = rbuMPrintf(tls, p, ts+29327, libc.VaList(bp+48, zList, zSep, zCol, i+1))
-				zSep = ts + 21525
+				zList = rbuMPrintf(tls, p, ts+29374, libc.VaList(bp+48, zList, zSep, zCol, i+1))
+				zSep = ts + 21572
 			}
 		}
 	}
@@ -127576,7 +127635,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 func rbuBadControlError(tls *libc.TLS, p uintptr) {
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29340, 0)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29387, 0)
 }
 
 func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr {
@@ -127594,15 +127653,15 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr
 			for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 				var c uint8 = *(*uint8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4)))))
 				if int32(c) == 'x' {
-					zList = rbuMPrintf(tls, p, ts+29327,
+					zList = rbuMPrintf(tls, p, ts+29374,
 						libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+1))
 					zSep = ts + 14614
 				} else if int32(c) == 'd' {
-					zList = rbuMPrintf(tls, p, ts+29366,
+					zList = rbuMPrintf(tls, p, ts+29413,
 						libc.VaList(bp+32, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+1))
 					zSep = ts + 14614
 				} else if int32(c) == 'f' {
-					zList = rbuMPrintf(tls, p, ts+29396,
+					zList = rbuMPrintf(tls, p, ts+29443,
 						libc.VaList(bp+72, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*4)), i+1))
 					zSep = ts + 14614
 				}
@@ -127639,19 +127698,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var z uintptr = uintptr(0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		var zSep uintptr = ts + 29433
+		var zSep uintptr = ts + 29480
 		*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 		*(*uintptr)(unsafe.Pointer(bp + 60)) = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56, p+36,
-			Xsqlite3_mprintf(tls, ts+28585, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28632, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) {
 			var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 3)
 			if zOrig != 0 && libc.Xstrcmp(tls, zOrig, ts+16155) == 0 {
 				var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 1)
 				if zIdx != 0 {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+60, p+36,
-						Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp+8, zIdx)))
+						Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp+8, zIdx)))
 				}
 				break
 			}
@@ -127663,15 +127722,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 				var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 60)), 2)
 				var zDesc uintptr
 				if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 60)), 3) != 0 {
-					zDesc = ts + 28853
+					zDesc = ts + 28900
 				} else {
 					zDesc = ts + 1554
 				}
-				z = rbuMPrintf(tls, p, ts+29446, libc.VaList(bp+16, z, zSep, zCol, zDesc))
+				z = rbuMPrintf(tls, p, ts+29493, libc.VaList(bp+16, z, zSep, zCol, zDesc))
 				zSep = ts + 14614
 			}
 		}
-		z = rbuMPrintf(tls, p, ts+29457, libc.VaList(bp+48, z))
+		z = rbuMPrintf(tls, p, ts+29504, libc.VaList(bp+48, z))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 60)))
 	}
 	return z
@@ -127691,7 +127750,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		var zPk uintptr = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168, p+36,
-			ts+29461)
+			ts+29508)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168)), 1, tnum)
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168))) {
@@ -127700,7 +127759,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		}
 		if zIdx != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+172, p+36,
-				Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp, zIdx)))
+				Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp, zIdx)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168)))
 
@@ -127710,23 +127769,23 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 				var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 172)), 1)
 				var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 172)), 3)
 				var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 172)), 4)
-				zCols = rbuMPrintf(tls, p, ts+29511, libc.VaList(bp+8, zCols, zComma,
+				zCols = rbuMPrintf(tls, p, ts+29558, libc.VaList(bp+8, zCols, zComma,
 					iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*4)), zCollate))
-				zPk = rbuMPrintf(tls, p, ts+29533, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
+				zPk = rbuMPrintf(tls, p, ts+29580, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
 					if bDesc != 0 {
-						return ts + 28853
+						return ts + 28900
 					}
 					return ts + 1554
 				}()))
 				zComma = ts + 14614
 			}
 		}
-		zCols = rbuMPrintf(tls, p, ts+29543, libc.VaList(bp+80, zCols))
+		zCols = rbuMPrintf(tls, p, ts+29590, libc.VaList(bp+80, zCols))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 172)))
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 1, tnum))
 		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+29558,
+			ts+29605,
 			libc.VaList(bp+120, zCols, zPk))
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 0, 0))
 	}
@@ -127752,13 +127811,13 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192, uintptr(0), uintptr(0), uintptr(0))
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 {
-				zPk = ts + 29620
+				zPk = ts + 29667
 			}
-			zSql = rbuMPrintf(tls, p, ts+29633,
+			zSql = rbuMPrintf(tls, p, ts+29680,
 				libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*4)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192)),
 					func() uintptr {
 						if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 {
-							return ts + 29660
+							return ts + 29707
 						}
 						return ts + 1554
 					}()))
@@ -127768,16 +127827,16 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
 			var zPk uintptr = rbuWithoutRowidPK(tls, p, pIter)
 			if zPk != 0 {
-				zSql = rbuMPrintf(tls, p, ts+29670, libc.VaList(bp+88, zSql, zPk))
+				zSql = rbuMPrintf(tls, p, ts+29717, libc.VaList(bp+88, zSql, zPk))
 			}
 		}
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 1, tnum))
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29677,
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29724,
 			libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql,
 				func() uintptr {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
-						return ts + 29709
+						return ts + 29756
 					}
 					return ts + 1554
 				}()))
@@ -127794,7 +127853,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis
 	if zBind != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+88, p+36, Xsqlite3_mprintf(tls,
-				ts+29724,
+				ts+29771,
 				libc.VaList(bp, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind)))
 	}
 }
@@ -127831,7 +127890,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	if *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(bp + 4)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+36,
-			ts+29781)
+			ts+29828)
 	}
 	if *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK {
 		var rc2 int32
@@ -127936,7 +127995,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 		var zLimit uintptr = uintptr(0)
 
 		if nOffset != 0 {
-			zLimit = Xsqlite3_mprintf(tls, ts+29847, libc.VaList(bp, nOffset))
+			zLimit = Xsqlite3_mprintf(tls, ts+29894, libc.VaList(bp, nOffset))
 			if !(zLimit != 0) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
 			}
@@ -127959,7 +128018,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 0, 1))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 1, tnum))
 			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+29867,
+				ts+29914,
 				libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600)), *(*uintptr)(unsafe.Pointer(bp + 604))))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 0, 0))
 
@@ -127967,13 +128026,13 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+80, p+36,
-					Xsqlite3_mprintf(tls, ts+29932, libc.VaList(bp+128, zTbl, zBind)))
+					Xsqlite3_mprintf(tls, ts+29979, libc.VaList(bp+128, zTbl, zBind)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+84, p+36,
-					Xsqlite3_mprintf(tls, ts+29968, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 608)))))
+					Xsqlite3_mprintf(tls, ts+30015, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 608)))))
 			}
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -127989,7 +128048,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					}
 
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30002,
+						ts+30049,
 						libc.VaList(bp+160, zCollist,
 							(*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
@@ -127997,9 +128056,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								if zStart != 0 {
 									return func() uintptr {
 										if zPart != 0 {
-											return ts + 30063
+											return ts + 30110
 										}
-										return ts + 30067
+										return ts + 30114
 									}()
 								}
 								return ts + 1554
@@ -128008,20 +128067,20 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					Xsqlite3_free(tls, zStart)
 				} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30073,
+						ts+30120,
 						libc.VaList(bp+216, zCollist, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart, zCollist, zLimit))
 				} else {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30134,
+						ts+30181,
 						libc.VaList(bp+264, zCollist, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart,
 							zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
 							func() uintptr {
 								if zPart != 0 {
-									return ts + 30063
+									return ts + 30110
 								}
-								return ts + 30067
+								return ts + 30114
 							}(),
 							zCollist, zLimit))
 				}
@@ -128058,16 +128117,16 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB {
 					return ts + 1554
 				}
-				return ts + 30293
+				return ts + 30340
 			}()
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+80, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30302,
+						ts+30349,
 						libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr {
 							if bRbuRowid != 0 {
-								return ts + 30338
+								return ts + 30385
 							}
 							return ts + 1554
 						}(), zBindings)))
@@ -128076,32 +128135,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+84, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30348, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
+						ts+30395, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 				var zRbuRowid uintptr = ts + 1554
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-					zRbuRowid = ts + 30376
+					zRbuRowid = ts + 30423
 				}
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-					ts+30388, libc.VaList(bp+408, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
+					ts+30435, libc.VaList(bp+408, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
 						if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
-							return ts + 30464
+							return ts + 30511
 						}
 						return ts + 1554
 					}(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-					ts+30481,
+					ts+30528,
 					libc.VaList(bp+440, zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zNewlist))
 
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-						ts+30780,
+						ts+30827,
 						libc.VaList(bp+512, zWrite, zTbl, zNewlist))
 				}
 
@@ -128114,9 +128173,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				var zOrder uintptr = uintptr(0)
 				if bRbuRowid != 0 {
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-						zRbuRowid = ts + 30879
+						zRbuRowid = ts + 30926
 					} else {
-						zRbuRowid = ts + 30889
+						zRbuRowid = ts + 30936
 					}
 				}
 
@@ -128129,7 +128188,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 						}
 					}
 					if bRbuRowid != 0 {
-						zOrder = rbuMPrintf(tls, p, ts+28936, 0)
+						zOrder = rbuMPrintf(tls, p, ts+28983, 0)
 					} else {
 						zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+1554)
 					}
@@ -128138,11 +128197,11 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+76, pz,
 						Xsqlite3_mprintf(tls,
-							ts+30900,
+							ts+30947,
 							libc.VaList(bp+536, zCollist,
 								func() uintptr {
 									if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-										return ts + 30948
+										return ts + 30995
 									}
 									return ts + 1554
 								}(),
@@ -128155,7 +128214,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								}(),
 								func() uintptr {
 									if zOrder != 0 {
-										return ts + 22859
+										return ts + 22906
 									}
 									return ts + 1554
 								}(), zOrder,
@@ -128223,9 +128282,9 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp
 			var zPrefix uintptr = ts + 1554
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB {
-				zPrefix = ts + 30293
+				zPrefix = ts + 30340
 			}
-			zUpdate = Xsqlite3_mprintf(tls, ts+30954,
+			zUpdate = Xsqlite3_mprintf(tls, ts+31001,
 				libc.VaList(bp, zPrefix, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere))
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+4, p+36, zUpdate)
@@ -128284,7 +128343,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr {
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 12)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8, p+36,
-		Xsqlite3_mprintf(tls, ts+30984, libc.VaList(bp, p+24)))
+		Xsqlite3_mprintf(tls, ts+31031, libc.VaList(bp, p+24)))
 	for *(*int32)(unsafe.Pointer(bp + 12)) == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 		switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0) {
 		case RBU_STATE_STAGE:
@@ -128357,18 +128416,18 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441, SQLITE_FCNTL_RBUCNT, p)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) {
 			var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441)
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31014, libc.VaList(bp, zFile, zFile))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31061, libc.VaList(bp, zFile, zFile))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 {
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31042, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31089, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
 		libc.Xmemcpy(tls, p+24, ts+3286, uint32(4))
 	} else {
 		libc.Xmemcpy(tls, p+24, ts+6441, uint32(4))
 	}
 
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31060, libc.VaList(bp+24, p+24))
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31107, libc.VaList(bp+24, p+24))
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		var bOpen int32 = 0
@@ -128408,11 +128467,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				return
 			}
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31126, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31173, 0)
 		} else {
 			var zTarget uintptr
 			var zExtra uintptr = uintptr(0)
-			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= Size_t(5) && 0 == libc.Xmemcmp(tls, ts+24206, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint32(5)) {
+			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= Size_t(5) && 0 == libc.Xmemcmp(tls, ts+24253, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint32(5)) {
 				zExtra = (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5
 				for *(*uint8)(unsafe.Pointer(zExtra)) != 0 {
 					if int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zExtra, 1)))) == '?' {
@@ -128424,13 +128483,13 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				}
 			}
 
-			zTarget = Xsqlite3_mprintf(tls, ts+31158,
+			zTarget = Xsqlite3_mprintf(tls, ts+31205,
 				libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441),
 					func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1554
 						}
-						return ts + 31190
+						return ts + 31237
 					}(), func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1554
@@ -128449,21 +128508,21 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31192, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31239, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTmpInsertFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31207, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31254, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuFossilDeltaFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+31224, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31271, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTargetNameFunc})), uintptr(0), uintptr(0))
 	}
@@ -128471,7 +128530,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, SQLITE_FCNTL_RBU, p)
 	}
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31240, 0)
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31287, 0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, SQLITE_FCNTL_RBU, p)
@@ -128479,7 +128538,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31268, 0)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31315, 0)
 	}
 }
 
@@ -128508,14 +128567,14 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
 	if pState == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = 0
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31240, uintptr(0), uintptr(0), uintptr(0))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31287, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var rc2 int32
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CAPTURE
-		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31286, uintptr(0), uintptr(0), uintptr(0))
+		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31333, uintptr(0), uintptr(0), uintptr(0))
 		if rc2 != SQLITE_NOTICE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 		}
@@ -128641,7 +128700,7 @@ func rbuLockDatabase(tls *libc.TLS, db uintptr) int32 {
 
 func rbuExclusiveCheckpoint(tls *libc.TLS, db uintptr) int32 {
 	var zUri uintptr = Xsqlite3_db_filename(tls, db, uintptr(0))
-	return Xsqlite3_uri_boolean(tls, zUri, ts+31321, 0)
+	return Xsqlite3_uri_boolean(tls, zUri, ts+31368, 0)
 }
 
 func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
@@ -128656,8 +128715,8 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441)
 	}
-	zOal = Xsqlite3_mprintf(tls, ts+31346, libc.VaList(bp, zMove))
-	zWal = Xsqlite3_mprintf(tls, ts+31353, libc.VaList(bp+8, zMove))
+	zOal = Xsqlite3_mprintf(tls, ts+31393, libc.VaList(bp, zMove))
+	zWal = Xsqlite3_mprintf(tls, ts+31400, libc.VaList(bp+8, zMove))
 
 	if zWal == uintptr(0) || zOal == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
@@ -128774,7 +128833,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) {
 			(*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 &&
 			Xsqlite3_column_type(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect, i) == SQLITE_NULL {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_MISMATCH
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23844, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23891, 0)
 			return
 		}
 
@@ -128867,7 +128926,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 		var iCookie int32 = 1000000
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8, p+36,
-			ts+31360)
+			ts+31407)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 				iCookie = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0)
@@ -128875,7 +128934,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8)))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31382, libc.VaList(bp, iCookie+1))
+			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31429, libc.VaList(bp, iCookie+1))
 		}
 	}
 }
@@ -128896,7 +128955,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) {
 
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168, p+36,
 			Xsqlite3_mprintf(tls,
-				ts+31409,
+				ts+31456,
 				libc.VaList(bp, p+24,
 					RBU_STATE_STAGE, eStage,
 					RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl,
@@ -128926,9 +128985,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24, p+36,
-			Xsqlite3_mprintf(tls, ts+31567, libc.VaList(bp, zPragma)))
+			Xsqlite3_mprintf(tls, ts+31614, libc.VaList(bp, zPragma)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31582,
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31629,
 				libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 0)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -128942,10 +129001,10 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 	*(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(0)
 
-	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31602, uintptr(0), uintptr(0), p+36)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31649, uintptr(0), uintptr(0), p+36)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36,
-			ts+31627)
+			ts+31674)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -128959,12 +129018,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36,
-			ts+31735)
+			ts+31782)
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+4, p+36,
-			ts+31800)
+			ts+31847)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -128976,7 +129035,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
 	}
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31844, uintptr(0), uintptr(0), p+36)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31891, uintptr(0), uintptr(0), p+36)
 	}
 
 	rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp)))
@@ -129004,7 +129063,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 {
 						if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 							rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-								ts+31869, libc.VaList(bp, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
+								ts+31916, libc.VaList(bp, p+24, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 						}
 					} else {
 						rbuObjIterPrepareAll(tls, p, pIter, 0)
@@ -129126,7 +129185,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) {
 
 		if rc == SQLITE_OK && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) {
 			rc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31897, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31944, 0)
 		}
 
 		if rc == SQLITE_OK {
@@ -129142,7 +129201,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) {
 	bp := tls.Alloc(12)
 	defer tls.Free(12)
 
-	var zOal uintptr = rbuMPrintf(tls, p, ts+31346, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
+	var zOal uintptr = rbuMPrintf(tls, p, ts+31393, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
 	if zOal != 0 {
 		*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, SQLITE_FCNTL_VFS_POINTER, bp+8)
@@ -129159,7 +129218,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) {
 	defer tls.Free(76)
 
 	Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8)
-	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]uint8{})), bp+12, ts+31922, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
+	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]uint8{})), bp+12, ts+31969, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12, uintptr(0))
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12)
@@ -129193,7 +129252,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) {
 
 	rc = prepareFreeAndCollectError(tls, db, bp+8, bp+12,
 		Xsqlite3_mprintf(tls,
-			ts+31933, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
+			ts+31980, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
 	if rc != SQLITE_OK {
 		Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 12)), -1)
 	} else {
@@ -129223,13 +129282,13 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+32005, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+32052, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuIndexCntFunc})), uintptr(0), uintptr(0))
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36,
-				ts+32019)
+				ts+32066)
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
@@ -129240,7 +129299,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && bExists != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+36,
-				ts+32076)
+				ts+32123)
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
@@ -129314,7 +129373,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd != 0 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32150, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32197, 0)
 			} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_MOVE {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CKPT
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FnStep = 0
@@ -129332,12 +129391,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 			}()
 			if (*Rbu_file)(unsafe.Pointer(pFd)).FiCookie != (*RbuState)(unsafe.Pointer(pState)).FiCookie {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32182,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32229,
 					libc.VaList(bp+8, func() uintptr {
 						if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-							return ts + 32214
+							return ts + 32261
 						}
-						return ts + 32221
+						return ts + 32268
 					}()))
 			}
 		}
@@ -129361,14 +129420,14 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32228, uintptr(0), uintptr(0), p+36)
+						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32275, uintptr(0), uintptr(0), p+36)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 						var frc int32 = Xsqlite3_file_control(tls, db, ts+6441, SQLITE_FCNTL_ZIPVFS, uintptr(0))
 						if frc == SQLITE_OK {
 							(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls,
-								db, ts+32244, uintptr(0), uintptr(0), p+36)
+								db, ts+32291, uintptr(0), uintptr(0), p+36)
 						}
 					}
 
@@ -129422,7 +129481,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr
 	}
 	if zState != 0 {
 		var n int32 = int32(libc.Xstrlen(tls, zState))
-		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32268, zState+uintptr(n-7), uint32(7)) {
+		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32315, zState+uintptr(n-7), uint32(7)) {
 			return rbuMisuseError(tls)
 		}
 	}
@@ -129449,7 +129508,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) {
 		var i uint32
 		var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg)
 		for i = uint32(0); i < nErrmsg-Size_t(8); i++ {
-			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30293, uint32(8)) == 0 {
+			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30340, uint32(8)) == 0 {
 				var nDel int32 = 8
 				for int32(*(*uint8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= '0' && int32(*(*uint8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= '9' {
 					nDel++
@@ -129485,7 +129544,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 {
 		rbuObjIterFinalize(tls, p+48)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 {
-			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32276, uintptr(0), uintptr(0), uintptr(0))
+			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32323, uintptr(0), uintptr(0), uintptr(0))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE && rc2 != SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 			}
@@ -129604,12 +129663,12 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 				zBegin = ts + 14503
 			} else {
-				zBegin = ts + 32228
+				zBegin = ts + 32275
 			}
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32228, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32275, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -129955,7 +130014,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 			})(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16)
 			if rc == SQLITE_OK {
 				rc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32303, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32350, 0)
 			} else if rc == SQLITE_NOTFOUND {
 				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p
 				(*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu
@@ -129980,7 +130039,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 	if rc == SQLITE_OK && op == SQLITE_FCNTL_VFSNAME {
 		var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs
 		var zIn uintptr = *(*uintptr)(unsafe.Pointer(pArg))
-		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32326, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
+		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32373, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
 		*(*uintptr)(unsafe.Pointer(pArg)) = zOut
 		if zOut == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -130140,7 +130199,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags
 	}
 
 	if oflags&SQLITE_OPEN_MAIN_DB != 0 &&
-		Xsqlite3_uri_boolean(tls, zName, ts+32337, 0) != 0 {
+		Xsqlite3_uri_boolean(tls, zName, ts+32384, 0) != 0 {
 		oflags = SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE
 		zOpen = uintptr(0)
 	}
@@ -130965,7 +131024,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 		rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0))
 		if rc == SQLITE_OK {
 			zPragma = Xsqlite3_mprintf(tls,
-				ts+32348, 0)
+				ts+32395, 0)
 		} else if rc == SQLITE_ERROR {
 			zPragma = Xsqlite3_mprintf(tls, ts+1554, 0)
 		} else {
@@ -130978,7 +131037,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 			return rc
 		}
 	} else {
-		zPragma = Xsqlite3_mprintf(tls, ts+32469, libc.VaList(bp, zDb, zThis))
+		zPragma = Xsqlite3_mprintf(tls, ts+32516, libc.VaList(bp, zDb, zThis))
 	}
 	if !(zPragma != 0) {
 		*(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0)
@@ -131657,9 +131716,9 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr,
 
 	for i = 0; i < nCol; i++ {
 		if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
-			zRet = Xsqlite3_mprintf(tls, ts+32498,
+			zRet = Xsqlite3_mprintf(tls, ts+32545,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4))))
-			zSep = ts + 21525
+			zSep = ts + 21572
 			if zRet == uintptr(0) {
 				break
 			}
@@ -131682,9 +131741,9 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 		if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 {
 			bHave = 1
 			zRet = Xsqlite3_mprintf(tls,
-				ts+32532,
+				ts+32579,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4))))
-			zSep = ts + 32573
+			zSep = ts + 32620
 			if zRet == uintptr(0) {
 				break
 			}
@@ -131692,7 +131751,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 	}
 
 	if bHave == 0 {
-		zRet = Xsqlite3_mprintf(tls, ts+7530, 0)
+		zRet = Xsqlite3_mprintf(tls, ts+7519, 0)
 	}
 
 	return zRet
@@ -131703,7 +131762,7 @@ func sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, zTbl uintpt
 	defer tls.Free(40)
 
 	var zRet uintptr = Xsqlite3_mprintf(tls,
-		ts+32578,
+		ts+32625,
 		libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr))
 	return zRet
 }
@@ -131746,7 +131805,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro
 		rc = SQLITE_NOMEM
 	} else {
 		var zStmt uintptr = Xsqlite3_mprintf(tls,
-			ts+32656,
+			ts+32703,
 			libc.VaList(bp, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2))
 		if zStmt == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -131873,7 +131932,7 @@ __6:
 	if !(pzErrMsg != 0) {
 		goto __16
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32709, 0)
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32756, 0)
 __16:
 	;
 	rc = SQLITE_SCHEMA
@@ -132349,7 +132408,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 
 	if 0 == Xsqlite3_stricmp(tls, ts+11348, zTab) {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+32736, libc.VaList(bp, zDb))
+			ts+32783, libc.VaList(bp, zDb))
 		if zSql == uintptr(0) {
 			*(*int32)(unsafe.Pointer(bp + 20)) = SQLITE_NOMEM
 		}
@@ -132358,18 +132417,18 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 		var zSep uintptr = ts + 1554
 		*(*SessionBuffer)(unsafe.Pointer(bp + 8)) = SessionBuffer{}
 
-		sessionAppendStr(tls, bp+8, ts+32846, bp+20)
+		sessionAppendStr(tls, bp+8, ts+32893, bp+20)
 		sessionAppendIdent(tls, bp+8, zDb, bp+20)
 		sessionAppendStr(tls, bp+8, ts+1567, bp+20)
 		sessionAppendIdent(tls, bp+8, zTab, bp+20)
-		sessionAppendStr(tls, bp+8, ts+32861, bp+20)
+		sessionAppendStr(tls, bp+8, ts+32908, bp+20)
 		for i = 0; i < nCol; i++ {
 			if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
 				sessionAppendStr(tls, bp+8, zSep, bp+20)
 				sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*4)), bp+20)
-				sessionAppendStr(tls, bp+8, ts+32869, bp+20)
+				sessionAppendStr(tls, bp+8, ts+32916, bp+20)
 				sessionAppendInteger(tls, bp+8, i+1, bp+20)
-				zSep = ts + 21525
+				zSep = ts + 21572
 			}
 		}
 		zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8)).FaBuf
@@ -132478,7 +132537,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 {
 		return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc
 	}
-	*(*int32)(unsafe.Pointer(bp + 24)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32875, uintptr(0), uintptr(0), uintptr(0))
+	*(*int32)(unsafe.Pointer(bp + 24)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32922, uintptr(0), uintptr(0), uintptr(0))
 	if *(*int32)(unsafe.Pointer(bp + 24)) != SQLITE_OK {
 		return *(*int32)(unsafe.Pointer(bp + 24))
 	}
@@ -132570,7 +132629,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	}
 
 	Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+12)).FaBuf)
-	Xsqlite3_exec(tls, db, ts+32895, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+32942, uintptr(0), uintptr(0), uintptr(0))
 	Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db))
 	return *(*int32)(unsafe.Pointer(bp + 24))
 }
@@ -132833,7 +132892,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 		rc = sessionInputBuffer(tls, pIn, 9)
 		if rc == SQLITE_OK {
 			if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData {
-				rc = Xsqlite3CorruptError(tls, 219078)
+				rc = Xsqlite3CorruptError(tls, 219169)
 			} else {
 				eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1)))))
 
@@ -132856,7 +132915,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 				rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
 				if rc == SQLITE_OK {
 					if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext {
-						rc = Xsqlite3CorruptError(tls, 219098)
+						rc = Xsqlite3CorruptError(tls, 219189)
 					} else {
 						var enc U8 = func() uint8 {
 							if eType == SQLITE_TEXT {
@@ -132898,7 +132957,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in
 		nRead = nRead + sessionVarintGet(tls, (*SessionInput)(unsafe.Pointer(pIn)).FaData+uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext+nRead), bp)
 
 		if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > 65536 {
-			rc = Xsqlite3CorruptError(tls, 219152)
+			rc = Xsqlite3CorruptError(tls, 219243)
 		} else {
 			rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100)
 			nRead = nRead + *(*int32)(unsafe.Pointer(bp))
@@ -132959,7 +133018,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 {
 			(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
 			sessionBufferGrow(tls, p+44, int64(nByte), bp+4)
 		} else {
-			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219240)
+			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219331)
 		}
 	}
 
@@ -133033,13 +133092,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 	}
 
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
-		return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219326))
+		return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219417))
 	}
 
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op)
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))))
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT {
-		return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219332))
+		return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219423))
 	}
 
 	if paRec != 0 {
@@ -133101,7 +133160,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 				if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4))
 					if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4)) == uintptr(0) {
-						return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219376))
+						return libc.AssignPtrInt32(p+68, Xsqlite3CorruptError(tls, 219467))
 					}
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4)) = uintptr(0)
 				}
@@ -133474,7 +133533,7 @@ __27:
 	goto __6
 
 __11:
-	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 219741)
+	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 219832)
 	goto finished_invert
 __6:
 	;
@@ -133651,34 +133710,34 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32,
 				(*SessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*12
 				libc.Xmemcpy(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint32(nU32)*uint32(unsafe.Sizeof(U32(0))))
 
-				sessionAppendStr(tls, bp, ts+32913, bp+12)
+				sessionAppendStr(tls, bp, ts+32960, bp+12)
 				sessionAppendIdent(tls, bp, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+12)
-				sessionAppendStr(tls, bp, ts+32926, bp+12)
+				sessionAppendStr(tls, bp, ts+32973, bp+12)
 
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*4)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+12)
 						sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*4)), bp+12)
-						sessionAppendStr(tls, bp, ts+32932, bp+12)
+						sessionAppendStr(tls, bp, ts+32979, bp+12)
 						sessionAppendInteger(tls, bp, ii*2+1, bp+12)
 						zSep = ts + 14614
 					}
 				}
 
 				zSep = ts + 1554
-				sessionAppendStr(tls, bp, ts+32861, bp+12)
+				sessionAppendStr(tls, bp, ts+32908, bp+12)
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*4)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+12)
 						if bStat1 != 0 && ii == 1 {
 							sessionAppendStr(tls, bp,
-								ts+32937, bp+12)
+								ts+32984, bp+12)
 						} else {
 							sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*4)), bp+12)
-							sessionAppendStr(tls, bp, ts+32869, bp+12)
+							sessionAppendStr(tls, bp, ts+32916, bp+12)
 							sessionAppendInteger(tls, bp, ii*2+2, bp+12)
 						}
-						zSep = ts + 21525
+						zSep = ts + 21572
 					}
 				}
 
@@ -133730,34 +133789,34 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 	var nPk int32 = 0
 
-	sessionAppendStr(tls, bp, ts+33012, bp+12)
+	sessionAppendStr(tls, bp, ts+33059, bp+12)
 	sessionAppendIdent(tls, bp, zTab, bp+12)
-	sessionAppendStr(tls, bp, ts+32861, bp+12)
+	sessionAppendStr(tls, bp, ts+32908, bp+12)
 
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 			nPk++
 			sessionAppendStr(tls, bp, zSep, bp+12)
 			sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12)
-			sessionAppendStr(tls, bp, ts+32932, bp+12)
+			sessionAppendStr(tls, bp, ts+32979, bp+12)
 			sessionAppendInteger(tls, bp, i+1, bp+12)
-			zSep = ts + 21525
+			zSep = ts + 21572
 		}
 	}
 
 	if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol {
-		sessionAppendStr(tls, bp, ts+33030, bp+12)
+		sessionAppendStr(tls, bp, ts+33077, bp+12)
 		sessionAppendInteger(tls, bp, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol+1, bp+12)
-		sessionAppendStr(tls, bp, ts+32573, bp+12)
+		sessionAppendStr(tls, bp, ts+32620, bp+12)
 
 		zSep = ts + 1554
 		for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 			if !(int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i)))) != 0) {
 				sessionAppendStr(tls, bp, zSep, bp+12)
 				sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12)
-				sessionAppendStr(tls, bp, ts+32869, bp+12)
+				sessionAppendStr(tls, bp, ts+32916, bp+12)
 				sessionAppendInteger(tls, bp, i+1, bp+12)
-				zSep = ts + 33038
+				zSep = ts + 33085
 			}
 		}
 		sessionAppendStr(tls, bp, ts+4957, bp+12)
@@ -133784,9 +133843,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	var i int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 
-	sessionAppendStr(tls, bp, ts+33043, bp+12)
+	sessionAppendStr(tls, bp, ts+33090, bp+12)
 	sessionAppendIdent(tls, bp, zTab, bp+12)
-	sessionAppendStr(tls, bp, ts+21531, bp+12)
+	sessionAppendStr(tls, bp, ts+21578, bp+12)
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if i != 0 {
 			sessionAppendStr(tls, bp, ts+14614, bp+12)
@@ -133794,9 +133853,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 		sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*4)), bp+12)
 	}
 
-	sessionAppendStr(tls, bp, ts+33061, bp+12)
+	sessionAppendStr(tls, bp, ts+33108, bp+12)
 	for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
-		sessionAppendStr(tls, bp, ts+33072, bp+12)
+		sessionAppendStr(tls, bp, ts+33119, bp+12)
 	}
 	sessionAppendStr(tls, bp, ts+4957, bp+12)
 
@@ -133815,11 +133874,11 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 {
 	var rc int32 = sessionSelectRow(tls, db, ts+11348, p)
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+8,
-			ts+33076)
+			ts+33123)
 	}
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+4,
-			ts+33189)
+			ts+33236)
 	}
 	return rc
 }
@@ -133847,7 +133906,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab
 				f func(*libc.TLS, uintptr, int32, uintptr) int32
 			})(unsafe.Pointer(&struct{ uintptr }{xValue})).f(tls, pIter, i, bp)
 			if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
-				rc = Xsqlite3CorruptError(tls, 220219)
+				rc = Xsqlite3CorruptError(tls, 220310)
 			} else {
 				rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp)))
 			}
@@ -134100,7 +134159,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 		if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
 			rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 		} else if *(*int32)(unsafe.Pointer(bp)) != 0 {
-			rc = Xsqlite3_exec(tls, db, ts+33333, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33380, uintptr(0), uintptr(0), uintptr(0))
 			if rc == SQLITE_OK {
 				rc = sessionBindRow(tls, pIter,
 					*(*uintptr)(unsafe.Pointer(&struct {
@@ -134116,7 +134175,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 				rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 			}
 			if rc == SQLITE_OK {
-				rc = Xsqlite3_exec(tls, db, ts+33354, uintptr(0), uintptr(0), uintptr(0))
+				rc = Xsqlite3_exec(tls, db, ts+33401, uintptr(0), uintptr(0), uintptr(0))
 			}
 		}
 	}
@@ -134189,10 +134248,10 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 	(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FbInvertConstraints = libc.BoolInt32(!!(flags&SQLITE_CHANGESETAPPLY_INVERT != 0))
 	Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db))
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
-		rc = Xsqlite3_exec(tls, db, ts+33373, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33420, uintptr(0), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_exec(tls, db, ts+33399, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33446, uintptr(0), uintptr(0), uintptr(0))
 	}
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3changeset_next(tls, pIter) {
 		Xsqlite3changeset_op(tls, pIter, bp+124, bp+128, bp+132, uintptr(0))
@@ -134251,16 +134310,16 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 				if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol == 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33429, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 140))))
+						ts+33476, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 140))))
 				} else if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol < *(*int32)(unsafe.Pointer(bp + 128)) {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33473,
+						ts+33520,
 						libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 140)), (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol, *(*int32)(unsafe.Pointer(bp + 128))))
 				} else if *(*int32)(unsafe.Pointer(bp + 128)) < nMinCol || libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 136)), uint32(*(*int32)(unsafe.Pointer(bp + 128)))) != 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33544, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 140))))
+						ts+33591, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 140))))
 				} else {
 					(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FnCol = *(*int32)(unsafe.Pointer(bp + 128))
 					if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 140)), ts+11348) {
@@ -134314,14 +134373,14 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 			}
 		}
 	}
-	Xsqlite3_exec(tls, db, ts+33604, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+33651, uintptr(0), uintptr(0), uintptr(0))
 
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, db, ts+33634, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33681, uintptr(0), uintptr(0), uintptr(0))
 		} else {
-			Xsqlite3_exec(tls, db, ts+33658, uintptr(0), uintptr(0), uintptr(0))
-			Xsqlite3_exec(tls, db, ts+33634, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33705, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33681, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -135558,7 +135617,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) {
 		fts5yy_pop_parser_stack(tls, fts5yypParser)
 	}
 
-	sqlite3Fts5ParseError(tls, pParse, ts+33686, 0)
+	sqlite3Fts5ParseError(tls, pParse, ts+33733, 0)
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -135846,7 +135905,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32
 
 	_ = fts5yymajor
 	sqlite3Fts5ParseError(tls,
-		pParse, ts+33714, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
+		pParse, ts+33761, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -136031,7 +136090,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int
 		if n < 0 {
 			n = int32(libc.Xstrlen(tls, z))
 		}
-		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33745, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
+		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33792, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
 		if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) {
 			*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 		}
@@ -136099,7 +136158,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp
 	var iCol int32
 
 	if nVal != 3 {
-		var zErr uintptr = ts + 33752
+		var zErr uintptr = ts + 33799
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -136280,7 +136339,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
 	var nCol int32
 
 	if nVal != 5 {
-		var zErr uintptr = ts + 33802
+		var zErr uintptr = ts + 33849
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -136604,13 +136663,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(48)
 
 	*(*[3]Builtin)(unsafe.Pointer(bp)) = [3]Builtin{
-		{FzFunc: ts + 33850, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33897, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5SnippetFunction}))},
-		{FzFunc: ts + 33858, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33905, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5HighlightFunction}))},
-		{FzFunc: ts + 33868, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33915, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5Bm25Function}))},
 	}
@@ -137160,7 +137219,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 	var nCmd int32 = int32(libc.Xstrlen(tls, zCmd))
-	if Xsqlite3_strnicmp(tls, ts+33873, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+33920, zCmd, nCmd) == 0 {
 		var nByte int32 = int32(uint32(unsafe.Sizeof(int32(0))) * uint32(FTS5_MAX_PREFIX_INDEXES))
 		var p uintptr
 		var bFirst int32 = 1
@@ -137187,14 +137246,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 				break
 			}
 			if int32(*(*uint8)(unsafe.Pointer(p))) < '0' || int32(*(*uint8)(unsafe.Pointer(p))) > '9' {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33880, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33927, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
 
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES {
 				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-					ts+33911, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
+					ts+33958, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -137205,7 +137264,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 			}
 
 			if nPre <= 0 || nPre >= 1000 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33944, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33991, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -137218,7 +137277,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+33981, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34028, zCmd, nCmd) == 0 {
 		var p uintptr = zArg
 		var nArg Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zArg) + Size_t(1))
 		var azArg uintptr = sqlite3Fts5MallocZero(tls, bp+40, Sqlite3_int64(unsafe.Sizeof(uintptr(0)))*nArg)
@@ -137227,7 +137286,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 		if azArg != 0 && pSpace != 0 {
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33990, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34037, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				for nArg = int64(0); p != 0 && *(*uint8)(unsafe.Pointer(p)) != 0; nArg++ {
@@ -137246,7 +137305,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 					}
 				}
 				if p == uintptr(0) {
-					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34023, 0)
+					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34070, 0)
 					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				} else {
 					*(*int32)(unsafe.Pointer(bp + 40)) = sqlite3Fts5GetTokenizer(tls, pGlobal,
@@ -137261,14 +137320,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34057, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34104, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34065, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34112, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			if *(*uint8)(unsafe.Pointer(zArg)) != 0 {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_EXTERNAL
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34097, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34144, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
 			} else {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE
 			}
@@ -137276,9 +137335,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34103, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34150, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34117, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34164, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40, zArg, -1)
@@ -137286,9 +137345,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34155, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34202, zCmd, nCmd) == 0 {
 		if int32(*(*uint8)(unsafe.Pointer(zArg))) != '0' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '1' || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34166, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34213, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zArg))) == '1')
@@ -137300,17 +137359,17 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		*(*[4]Fts5Enum)(unsafe.Pointer(bp + 44)) = [4]Fts5Enum{
 			{FzName: ts + 8026, FeVal: FTS5_DETAIL_NONE},
 			{FzName: ts + 17345},
-			{FzName: ts + 34201, FeVal: FTS5_DETAIL_COLUMNS},
+			{FzName: ts + 34248, FeVal: FTS5_DETAIL_COLUMNS},
 			{},
 		}
 
 		if libc.AssignPtrInt32(bp+40, fts5ConfigSetEnum(tls, bp+44, zArg, pConfig+48)) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34209, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34256, 0)
 		}
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34240, libc.VaList(bp+24, nCmd, zCmd))
+	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34287, libc.VaList(bp+24, nCmd, zCmd))
 	return SQLITE_ERROR
 }
 
@@ -137357,15 +137416,15 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr,
 	defer tls.Free(16)
 
 	var rc int32 = SQLITE_OK
-	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22191) ||
+	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22238) ||
 		0 == Xsqlite3_stricmp(tls, zCol, ts+16267) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34268, libc.VaList(bp, zCol))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34315, libc.VaList(bp, zCol))
 		rc = SQLITE_ERROR
 	} else if zArg != 0 {
-		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34298) {
+		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34345) {
 			*(*U8)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*Fts5Config)(unsafe.Pointer(p)).FnCol))) = U8(1)
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34308, libc.VaList(bp+8, zArg))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34355, libc.VaList(bp+8, zArg))
 			rc = SQLITE_ERROR
 		}
 	}
@@ -137382,13 +137441,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_OK
 	*(*Fts5Buffer)(unsafe.Pointer(bp + 28)) = Fts5Buffer{}
 
-	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34339, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
+	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34386, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
 	if (*Fts5Config)(unsafe.Pointer(p)).FeContent != FTS5_CONTENT_NONE {
 		for i = 0; i < (*Fts5Config)(unsafe.Pointer(p)).FnCol; i++ {
 			if (*Fts5Config)(unsafe.Pointer(p)).FeContent == FTS5_CONTENT_EXTERNAL {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34344, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*4))))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34391, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*4))))
 			} else {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34351, libc.VaList(bp+16, i))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+28, ts+34398, libc.VaList(bp+16, i))
 			}
 		}
 	}
@@ -137426,8 +137485,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 	(*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40, *(*uintptr)(unsafe.Pointer(azArg + 2*4)), -1)
 	(*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize = 1
 	(*Fts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL
-	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22191) == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34359, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
+	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22238) == 0 {
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34406, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
 		*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 	}
 
@@ -137459,7 +137518,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 
 		if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK {
 			if z == uintptr(0) {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34388, libc.VaList(bp+8, zOrig))
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34435, libc.VaList(bp+8, zOrig))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				if bOption != 0 {
@@ -137496,14 +137555,14 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 		var zTail uintptr = uintptr(0)
 
 		if (*Fts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL {
-			zTail = ts + 34057
+			zTail = ts + 34104
 		} else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 {
-			zTail = ts + 34408
+			zTail = ts + 34455
 		}
 
 		if zTail != 0 {
 			(*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls,
-				bp+40, ts+34416, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
+				bp+40, ts+34463, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
 		}
 	}
 
@@ -137552,7 +137611,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_OK
 	var zSql uintptr
 
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34427, 0)
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34474, 0)
 	for i = 0; zSql != 0 && i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
 		var zSep uintptr = func() uintptr {
 			if i == 0 {
@@ -137560,10 +137619,10 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 			}
 			return ts + 14614
 		}()
-		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34443, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*4))))
+		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34490, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*4))))
 	}
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34450,
-		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22191))
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34497,
+		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22238))
 
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql)
@@ -137673,7 +137732,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 
 	var rc int32 = SQLITE_OK
 
-	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34476) {
+	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34523) {
 		var pgsz int32 = 0
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			pgsz = Xsqlite3_value_int(tls, pVal)
@@ -137683,7 +137742,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34481) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34528) {
 		var nHashSize int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nHashSize = Xsqlite3_value_int(tls, pVal)
@@ -137693,7 +137752,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34490) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34537) {
 		var nAutomerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nAutomerge = Xsqlite3_value_int(tls, pVal)
@@ -137706,7 +137765,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34500) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34547) {
 		var nUsermerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nUsermerge = Xsqlite3_value_int(tls, pVal)
@@ -137716,7 +137775,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34510) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34557) {
 		var nCrisisMerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nCrisisMerge = Xsqlite3_value_int(tls, pVal)
@@ -137732,7 +137791,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22191) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22238) {
 		var zIn uintptr = Xsqlite3_value_text(tls, pVal)
 
 		rc = sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+4)
@@ -137755,7 +137814,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 	bp := tls.Alloc(44)
 	defer tls.Free(44)
 
-	var zSelect uintptr = ts + 34522
+	var zSelect uintptr = ts + 34569
 	var zSql uintptr
 	*(*uintptr)(unsafe.Pointer(bp + 36)) = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
@@ -137777,7 +137836,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 36))) {
 			var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 36)), 0)
 			var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 36)), 1)
-			if 0 == Xsqlite3_stricmp(tls, zK, ts+34554) {
+			if 0 == Xsqlite3_stricmp(tls, zK, ts+34601) {
 				iVersion = Xsqlite3_value_int(tls, pVal)
 			} else {
 				*(*int32)(unsafe.Pointer(bp + 40)) = 0
@@ -137791,7 +137850,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 {
 			*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-				ts+34562,
+				ts+34609,
 				libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION))
 		}
 	}
@@ -137889,7 +137948,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 					}
 				}
 				if int32(*(*uint8)(unsafe.Pointer(z2))) == 0 {
-					sqlite3Fts5ParseError(tls, pParse, ts+34627, 0)
+					sqlite3Fts5ParseError(tls, pParse, ts+34674, 0)
 					return FTS5_EOF
 				}
 			}
@@ -137902,20 +137961,20 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 		{
 			var z2 uintptr
 			if sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(z))) == 0 {
-				sqlite3Fts5ParseError(tls, pParse, ts+34647, libc.VaList(bp, z))
+				sqlite3Fts5ParseError(tls, pParse, ts+34694, libc.VaList(bp, z))
 				return FTS5_EOF
 			}
 			tok = FTS5_STRING
 			for z2 = z + 1; sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(z2))) != 0; z2++ {
 			}
 			(*Fts5Token)(unsafe.Pointer(pToken)).Fn = (int32(z2) - int32(z)) / 1
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34678, uint32(2)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34725, uint32(2)) == 0 {
 				tok = FTS5_OR
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34681, uint32(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34728, uint32(3)) == 0 {
 				tok = FTS5_NOT
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30063, uint32(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30110, uint32(3)) == 0 {
 				tok = FTS5_AND
 			}
 			break
@@ -139694,9 +139753,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34685, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint32(4)) != 0 {
+	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34732, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint32(4)) != 0 {
 		sqlite3Fts5ParseError(tls,
-			pParse, ts+33714, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
+			pParse, ts+33761, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
 	}
 }
 
@@ -139712,7 +139771,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p
 				var c uint8 = *(*uint8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))
 				if int32(c) < '0' || int32(c) > '9' {
 					sqlite3Fts5ParseError(tls,
-						pParse, ts+34690, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
+						pParse, ts+34737, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
 					return
 				}
 				nNear = nNear*10 + (int32(*(*uint8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - '0')
@@ -139799,7 +139858,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui
 			}
 		}
 		if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol {
-			sqlite3Fts5ParseError(tls, pParse, ts+20528, libc.VaList(bp, z))
+			sqlite3Fts5ParseError(tls, pParse, ts+20575, libc.VaList(bp, z))
 		} else {
 			pRet = fts5ParseColset(tls, pParse, pColset, iCol)
 		}
@@ -139880,7 +139939,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo
 	*(*uintptr)(unsafe.Pointer(bp)) = pColset
 	if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE {
 		sqlite3Fts5ParseError(tls, pParse,
-			ts+34719, 0)
+			ts+34766, 0)
 	} else {
 		fts5ParseSetColset(tls, pParse, pExpr, pColset, bp)
 	}
@@ -140050,12 +140109,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 1 ||
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*Fts5ExprTerm)(unsafe.Pointer(pPhrase+20)).FbFirst != 0 {
 							sqlite3Fts5ParseError(tls, pParse,
-								ts+34772,
+								ts+34819,
 								libc.VaList(bp, func() uintptr {
 									if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 {
-										return ts + 34822
+										return ts + 34869
 									}
-									return ts + 34685
+									return ts + 34732
 								}()))
 							Xsqlite3_free(tls, pRet)
 							pRet = uintptr(0)
@@ -141004,7 +141063,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK {
 			var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 			rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb,
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34829, iRowid, 0, p+40)
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34876, iRowid, 0, p+40)
 		}
 
 		if rc == SQLITE_ERROR {
@@ -141083,7 +141142,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in
 	if (*Fts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+44, Xsqlite3_mprintf(tls,
-			ts+34835,
+			ts+34882,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 		if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 			return
@@ -141108,7 +141167,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = Xsqlite3_mprintf(tls,
-			ts+34886,
+			ts+34933,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if fts5IndexPrepareStmt(tls, p, p+48, zSql) != 0 {
 			return
@@ -141131,7 +141190,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+56, Xsqlite3_mprintf(tls,
-			ts+34935,
+			ts+34982,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -141370,7 +141429,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 {
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) {
 			(*Fts5Index)(unsafe.Pointer(p)).Frc = fts5IndexPrepareStmt(tls, p, p+68,
-				Xsqlite3_mprintf(tls, ts+34975, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
+				Xsqlite3_mprintf(tls, ts+35022, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
 			if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 				return int64(0)
 			}
@@ -142569,7 +142628,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+60, Xsqlite3_mprintf(tls,
-			ts+34998,
+			ts+35045,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect
@@ -144034,7 +144093,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+52, Xsqlite3_mprintf(tls,
-			ts+35082,
+			ts+35129,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 
@@ -145117,13 +145176,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		(*Fts5Index)(unsafe.Pointer(p)).FpConfig = pConfig
 		(*Fts5Index)(unsafe.Pointer(p)).FnWorkUnit = FTS5_WORK_UNIT
-		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35139, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35186, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 {
 			*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+25056, ts+35147, 0, pzErr)
+				pConfig, ts+25103, ts+35194, 0, pzErr)
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 				*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls, pConfig, ts+11488,
-					ts+35182,
+					ts+35229,
 					1, pzErr)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
@@ -145376,7 +145435,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 {
 	sqlite3Fts5Put32(tls, bp, iNew)
 
 	rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl,
-		ts+34829, int64(FTS5_STRUCTURE_ROWID), 1, bp+4)
+		ts+34876, int64(FTS5_STRUCTURE_ROWID), 1, bp+4)
 	if rc == SQLITE_OK {
 		Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), bp, 4, 0)
 		rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
@@ -145490,7 +145549,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) {
 	}
 
 	fts5IndexPrepareStmt(tls, p, bp+24, Xsqlite3_mprintf(tls,
-		ts+35226,
+		ts+35273,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid)))
 
 	for (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
@@ -145660,7 +145719,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks
 		} else {
 			(*Fts5Buffer)(unsafe.Pointer(bp + 8)).Fn = 0
 			fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp))+80+uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaFirst+1*4)).FiFirst)*96, uintptr(0), bp+8)
-			sqlite3Fts5BufferAppendBlob(tls, p+36, bp+8, uint32(4), ts+35312)
+			sqlite3Fts5BufferAppendBlob(tls, p+36, bp+8, uint32(4), ts+35359)
 			for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+8)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+8)).Fn, bp+20, bp+24) {
 				var iCol int32 = int32(*(*I64)(unsafe.Pointer(bp + 24)) >> 32)
 				var iTokOff int32 = int32(*(*I64)(unsafe.Pointer(bp + 24)) & int64(0x7FFFFFFF))
@@ -145931,7 +145990,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 {
 
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 {
 		(*Fts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+35317, 0)
+			ts+35364, 0)
 		return SQLITE_ERROR
 	}
 
@@ -146355,7 +146414,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 	(*Fts5Sorter)(unsafe.Pointer(pSorter)).FnIdx = nPhrase
 
 	rc = fts5PrepareStatement(tls, pSorter, pConfig,
-		ts+35356,
+		ts+35403,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			func() uintptr {
 				if zRankArgs != 0 {
@@ -146371,9 +146430,9 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 			}(),
 			func() uintptr {
 				if bDesc != 0 {
-					return ts + 35411
+					return ts + 35458
 				}
-				return ts + 35416
+				return ts + 35463
 			}()))
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter
@@ -146419,12 +146478,12 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr)
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan = FTS5_PLAN_SPECIAL
 
-	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35420, z, n) {
+	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35467, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = I64(sqlite3Fts5IndexReads(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex))
 	} else if n == 2 && 0 == Xsqlite3_strnicmp(tls, ts+5057, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId
 	} else {
-		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35426, libc.VaList(bp, n, z))
+		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35473, libc.VaList(bp, n, z))
 		rc = SQLITE_ERROR
 	}
 
@@ -146455,7 +146514,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs
 
 	if zRankArgs != 0 {
-		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35454, libc.VaList(bp, zRankArgs))
+		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35501, libc.VaList(bp, zRankArgs))
 		if zSql != 0 {
 			*(*uintptr)(unsafe.Pointer(bp + 20)) = uintptr(0)
 			*(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1,
@@ -146486,7 +146545,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 		pAux = fts5FindAuxiliary(tls, pTab, zRank)
 		if pAux == uintptr(0) {
-			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35464, libc.VaList(bp+8, zRank))
+			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35511, libc.VaList(bp+8, zRank))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		}
 	}
@@ -146518,14 +146577,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin
 			*(*int32)(unsafe.Pointer(pCsr + 60)) |= FTS5CSR_FREE_ZRANK
 		} else if rc == SQLITE_ERROR {
 			(*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35485, libc.VaList(bp, z))
+				ts+35532, libc.VaList(bp, z))
 		}
 	} else {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank != 0 {
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRankArgs
 		} else {
-			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33868
+			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33915
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0)
 		}
 	}
@@ -146581,7 +146640,7 @@ func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintp
 		goto __1
 	}
 	(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+35317, 0)
+		ts+35364, 0)
 	return SQLITE_ERROR
 __1:
 	;
@@ -146798,7 +146857,7 @@ __35:
 		goto __40
 	}
 	*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-		ts+35518, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		ts+35565, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	rc = SQLITE_ERROR
 	goto __41
 __40:
@@ -146943,28 +147002,28 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr)
 	var rc int32 = SQLITE_OK
 	*(*int32)(unsafe.Pointer(bp)) = 0
 
-	if 0 == Xsqlite3_stricmp(tls, ts+35554, zCmd) {
+	if 0 == Xsqlite3_stricmp(tls, ts+35601, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			fts5SetVtabError(tls, pTab,
-				ts+35565, 0)
+				ts+35612, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35645, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35692, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE {
 			fts5SetVtabError(tls, pTab,
-				ts+35653, 0)
+				ts+35700, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
 	} else if 0 == Xsqlite3_stricmp(tls, ts+16934, zCmd) {
 		rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35709, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35756, zCmd) {
 		var nMerge int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageMerge(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, nMerge)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35715, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35762, zCmd) {
 		var iArg int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg)
 	} else {
@@ -147035,12 +147094,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p
 
 		if eType0 == SQLITE_INTEGER && fts5IsContentless(tls, pTab) != 0 {
 			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35731,
+				ts+35778,
 				libc.VaList(bp, func() uintptr {
 					if nArg > 1 {
-						return ts + 20429
+						return ts + 20476
 					}
-					return ts + 35768
+					return ts + 35815
 				}(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		} else if nArg == 1 {
@@ -147670,7 +147729,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 
 	pCsr = fts5CursorFromCsrid(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId)
 	if pCsr == uintptr(0) || (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 {
-		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35780, libc.VaList(bp, iCsrId))
+		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35827, libc.VaList(bp, iCsrId))
 		Xsqlite3_result_error(tls, context, zErr, -1)
 		Xsqlite3_free(tls, zErr)
 	} else {
@@ -147914,7 +147973,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 	}())
 	if pMod == uintptr(0) {
 		rc = SQLITE_ERROR
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35801, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35848, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
 	} else {
 		rc = (*struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
@@ -147933,7 +147992,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 		(*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 8
 		if rc != SQLITE_OK {
 			if pzErr != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35823, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35870, 0)
 			}
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls,
@@ -147980,7 +148039,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 	var ppApi uintptr
 	_ = nArg
 
-	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35854)
+	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35901)
 	if ppApi != 0 {
 		*(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal
 	}
@@ -147989,7 +148048,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) {
 	_ = nArg
 	_ = apUnused
-	Xsqlite3_result_text(tls, pCtx, ts+35867, -1, libc.UintptrFromInt32(-1))
+	Xsqlite3_result_text(tls, pCtx, ts+35914, -1, libc.UintptrFromInt32(-1))
 }
 
 func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
@@ -148003,7 +148062,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName2 = [5]uintptr{
-	ts + 35958, ts + 34057, ts + 25056, ts + 34408, ts + 11488,
+	ts + 36005, ts + 34104, ts + 25103, ts + 34455, ts + 11488,
 }
 
 func fts5Init(tls *libc.TLS, db uintptr) int32 {
@@ -148027,7 +148086,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		(*Fts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32
 		}{fts5FindTokenizer}))
-		rc = Xsqlite3_create_module_v2(tls, db, ts+35965, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+36012, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5IndexInit(tls, db)
 		}
@@ -148045,13 +148104,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35965, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+				db, ts+36012, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
 				}{fts5Fts5Func})), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35970, 0,
+				db, ts+36017, 0,
 				SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
 				p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
@@ -148108,17 +148167,17 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p
 
 	if *(*uintptr)(unsafe.Pointer(p + 28 + uintptr(eStmt)*4)) == uintptr(0) {
 		*(*[11]uintptr)(unsafe.Pointer(bp + 128)) = [11]uintptr{
-			ts + 35985,
-			ts + 36053,
-			ts + 36122,
-			ts + 36155,
-			ts + 36194,
-			ts + 36234,
-			ts + 36273,
-			ts + 36314,
-			ts + 36353,
-			ts + 36395,
-			ts + 36435,
+			ts + 36032,
+			ts + 36100,
+			ts + 36169,
+			ts + 36202,
+			ts + 36241,
+			ts + 36281,
+			ts + 36320,
+			ts + 36361,
+			ts + 36400,
+			ts + 36442,
+			ts + 36482,
 		}
 		var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = uintptr(0)
@@ -148220,18 +148279,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 {
 	defer tls.Free(80)
 
 	var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36458,
+		ts+36505,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36562,
+			ts+36609,
 			libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36600,
+			ts+36647,
 			libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	return rc
@@ -148243,7 +148302,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin
 
 	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(pRc)) = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36638,
+			ts+36685,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail))
 	}
 }
@@ -148255,14 +148314,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in
 	var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig
 	*(*int32)(unsafe.Pointer(bp)) = sqlite3Fts5StorageSync(tls, pStorage)
 
-	fts5StorageRenameOne(tls, pConfig, bp, ts+25056, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+25103, zName)
 	fts5StorageRenameOne(tls, pConfig, bp, ts+11488, zName)
-	fts5StorageRenameOne(tls, pConfig, bp, ts+35958, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+36005, zName)
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34408, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34455, zName)
 	}
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34057, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34104, zName)
 	}
 	return *(*int32)(unsafe.Pointer(bp))
 }
@@ -148274,17 +148333,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn
 	var rc int32
 	*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
-	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36680,
+	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36727,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn,
 			func() uintptr {
 				if bWithout != 0 {
-					return ts + 29709
+					return ts + 29756
 				}
 				return ts + 1554
 			}()))
 	if *(*uintptr)(unsafe.Pointer(bp + 64)) != 0 {
 		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-			ts+36710,
+			ts+36757,
 			libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64))))
 		Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
@@ -148321,27 +148380,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre
 			} else {
 				var i int32
 				var iOff int32
-				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36754, 0)
+				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36801, 0)
 				iOff = int32(libc.Xstrlen(tls, zDefn))
 				for i = 0; i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
-					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36777, libc.VaList(bp, i))
+					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36824, libc.VaList(bp, i))
 					iOff = iOff + int32(libc.Xstrlen(tls, zDefn+uintptr(iOff)))
 				}
-				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34057, zDefn, 0, pzErr)
+				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34104, zDefn, 0, pzErr)
 			}
 			Xsqlite3_free(tls, zDefn)
 		}
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+34408, ts+36783, 0, pzErr)
+				pConfig, ts+34455, ts+36830, 0, pzErr)
 		}
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+35958, ts+36815, 1, pzErr)
+				pConfig, ts+36005, ts+36862, 1, pzErr)
 		}
 		if rc == SQLITE_OK {
-			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34554, uintptr(0), FTS5_CURRENT_VERSION)
+			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34601, uintptr(0), FTS5_CURRENT_VERSION)
 		}
 	}
 
@@ -148547,12 +148606,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 	(*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0
 
 	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36832,
+		ts+36879,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36882,
+			ts+36929,
 			libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 
@@ -148560,7 +148619,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 		rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex)
 	}
 	if rc == SQLITE_OK {
-		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34554, uintptr(0), FTS5_CURRENT_VERSION)
+		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34601, uintptr(0), FTS5_CURRENT_VERSION)
 	}
 	return rc
 }
@@ -148736,7 +148795,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr)
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+36911,
+	zSql = Xsqlite3_mprintf(tls, ts+36958,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix))
 	if zSql == uintptr(0) {
 		rc = SQLITE_NOMEM
@@ -148918,14 +148977,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 {
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			*(*I64)(unsafe.Pointer(bp + 40)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34057, bp+40)
+			rc = fts5StorageCount(tls, p, ts+34104, bp+40)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 40)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
 		}
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			*(*I64)(unsafe.Pointer(bp + 48)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34408, bp+48)
+			rc = fts5StorageCount(tls, p, ts+34455, bp+48)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 48)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
@@ -149120,9 +149179,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32,
 			libc.Xmemcpy(tls, p, uintptr(unsafe.Pointer(&aAsciiTokenChar)), uint32(unsafe.Sizeof(aAsciiTokenChar)))
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*4))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36943) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36990) {
 					fts5AsciiAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36954) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37001) {
 					fts5AsciiAddExceptions(tls, p, zArg, 0)
 				} else {
 					rc = SQLITE_ERROR
@@ -149336,7 +149395,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 	} else {
 		p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Unicode61Tokenizer{})))
 		if p != 0 {
-			var zCat uintptr = ts + 36965
+			var zCat uintptr = ts + 37012
 			var i int32
 			libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(Unicode61Tokenizer{})))
 
@@ -149348,7 +149407,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 			}
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36974) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37021) {
 					zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*4))
 				}
 			}
@@ -149359,18 +149418,18 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*4))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36985) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37032) {
 					if int32(*(*uint8)(unsafe.Pointer(zArg))) != '0' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '1' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '2' || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 {
 						rc = SQLITE_ERROR
 					} else {
 						(*Unicode61Tokenizer)(unsafe.Pointer(p)).FeRemoveDiacritic = int32(*(*uint8)(unsafe.Pointer(zArg))) - '0'
 
 					}
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36943) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36990) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36954) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37001) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 0)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+36974) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37021) {
 				} else {
 					rc = SQLITE_ERROR
 				}
@@ -149646,7 +149705,7 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp
 	var rc int32 = SQLITE_OK
 	var pRet uintptr
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
-	var zBase uintptr = ts + 37003
+	var zBase uintptr = ts + 37050
 
 	if nArg > 0 {
 		zBase = *(*uintptr)(unsafe.Pointer(azArg))
@@ -149786,7 +149845,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37013, aBuf+uintptr(nBuf-2), uint32(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37060, aBuf+uintptr(nBuf-2), uint32(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149794,11 +149853,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37016, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37063, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37021, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37068, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -149806,7 +149865,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'e':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37026, aBuf+uintptr(nBuf-2), uint32(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37073, aBuf+uintptr(nBuf-2), uint32(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149814,7 +149873,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37029, aBuf+uintptr(nBuf-2), uint32(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37076, aBuf+uintptr(nBuf-2), uint32(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149822,11 +149881,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37032, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37079, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37037, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37084, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -149834,19 +149893,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37042, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37089, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37046, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37093, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37052, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37099, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37057, aBuf+uintptr(nBuf-3), uint32(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37104, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149854,11 +149913,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'o':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37061, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37108, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37065, aBuf+uintptr(nBuf-2), uint32(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37112, aBuf+uintptr(nBuf-2), uint32(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149866,7 +149925,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 's':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37068, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37115, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149874,11 +149933,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37072, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37119, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37076, aBuf+uintptr(nBuf-3), uint32(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37123, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149886,7 +149945,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37080, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37127, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149894,7 +149953,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37084, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37131, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149902,7 +149961,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37088, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37135, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149918,24 +149977,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37092, aBuf+uintptr(nBuf-2), uint32(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37072, uint32(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37139, aBuf+uintptr(nBuf-2), uint32(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37119, uint32(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'b':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37095, aBuf+uintptr(nBuf-2), uint32(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37098, uint32(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37142, aBuf+uintptr(nBuf-2), uint32(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37145, uint32(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37102, aBuf+uintptr(nBuf-2), uint32(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37088, uint32(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37149, aBuf+uintptr(nBuf-2), uint32(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37135, uint32(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
@@ -149950,44 +150009,44 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37105, aBuf+uintptr(nBuf-7), uint32(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37152, aBuf+uintptr(nBuf-7), uint32(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37072, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37119, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37113, aBuf+uintptr(nBuf-6), uint32(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37160, aBuf+uintptr(nBuf-6), uint32(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37120, uint32(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37167, uint32(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 4
 			}
 		}
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37125, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37172, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37021, uint32(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37068, uint32(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37130, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37177, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37016, uint32(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37063, uint32(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
 		}
 		break
 
 	case 'e':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37135, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37182, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37088, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37135, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 'g':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37140, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37187, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+15480, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
@@ -149996,91 +150055,91 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37145, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37192, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37098, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37145, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37149, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37196, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37013, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37060, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37154, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37201, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37057, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37104, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37160, aBuf+uintptr(nBuf-3), uint32(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37207, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37164, uint32(1))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37211, uint32(1))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 1
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37166, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37213, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37080, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37127, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
 		}
 		break
 
 	case 'o':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37172, aBuf+uintptr(nBuf-7), uint32(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37219, aBuf+uintptr(nBuf-7), uint32(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37088, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37135, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37180, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37227, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37072, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37119, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37186, aBuf+uintptr(nBuf-4), uint32(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37233, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37072, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37119, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37191, aBuf+uintptr(nBuf-5), uint32(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37238, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37197, aBuf+uintptr(nBuf-7), uint32(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37244, aBuf+uintptr(nBuf-7), uint32(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37084, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37131, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37205, aBuf+uintptr(nBuf-7), uint32(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37252, aBuf+uintptr(nBuf-7), uint32(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37213, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37260, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37217, aBuf+uintptr(nBuf-7), uint32(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37264, aBuf+uintptr(nBuf-7), uint32(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37080, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37127, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
 		}
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37225, aBuf+uintptr(nBuf-5), uint32(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37272, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37231, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37278, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37084, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37131, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37237, aBuf+uintptr(nBuf-6), uint32(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37284, aBuf+uintptr(nBuf-6), uint32(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37098, uint32(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37145, uint32(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 3
 			}
 		}
@@ -150095,16 +150154,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37244, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37291, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37029, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37076, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37249, aBuf+uintptr(nBuf-4), uint32(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37296, aBuf+uintptr(nBuf-4), uint32(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -150112,21 +150171,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37254, aBuf+uintptr(nBuf-5), uint32(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37301, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37029, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37076, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37260, aBuf+uintptr(nBuf-5), uint32(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37307, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37029, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37076, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37213, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37260, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150134,7 +150193,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37266, aBuf+uintptr(nBuf-5), uint32(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37313, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
@@ -150142,9 +150201,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37272, aBuf+uintptr(nBuf-5), uint32(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37319, aBuf+uintptr(nBuf-5), uint32(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
@@ -150159,12 +150218,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'e':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37278, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37325, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37282, uint32(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37329, uint32(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 2
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37285, aBuf+uintptr(nBuf-2), uint32(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37332, aBuf+uintptr(nBuf-2), uint32(2)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 				ret = 1
@@ -150173,7 +150232,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37288, aBuf+uintptr(nBuf-3), uint32(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37335, aBuf+uintptr(nBuf-3), uint32(3)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 				ret = 1
@@ -150329,7 +150388,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp
 		(*TrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = 1
 		for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 			var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*4))
-			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37292) {
+			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4)), ts+37339) {
 				if int32(*(*uint8)(unsafe.Pointer(zArg))) != '0' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '1' || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 {
 					rc = SQLITE_ERROR
 				} else {
@@ -150509,22 +150568,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(64)
 
 	*(*[4]BuiltinTokenizer)(unsafe.Pointer(bp)) = [4]BuiltinTokenizer{
-		{FzName: ts + 37003, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37050, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5UnicodeCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5UnicodeDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5UnicodeTokenize}))}},
-		{FzName: ts + 37307, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37354, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5AsciiCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5AsciiDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5AsciiTokenize}))}},
-		{FzName: ts + 37313, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37360, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5PorterCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5PorterDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5PorterTokenize}))}},
-		{FzName: ts + 37320, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37367, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5TriCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5TriDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
@@ -151666,14 +151725,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint
 	var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8, zType, -1)
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		sqlite3Fts5Dequote(tls, zCopy)
-		if Xsqlite3_stricmp(tls, zCopy, ts+37328) == 0 {
+		if Xsqlite3_stricmp(tls, zCopy, ts+37375) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37332) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37379) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37336) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37383) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37345, libc.VaList(bp, zCopy))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37392, libc.VaList(bp, zCopy))
 			*(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_ERROR
 		}
 		Xsqlite3_free(tls, zCopy)
@@ -151699,19 +151758,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	defer tls.Free(20)
 
 	*(*[3]uintptr)(unsafe.Pointer(bp + 4)) = [3]uintptr{
-		ts + 37379,
-		ts + 37419,
-		ts + 37454,
+		ts + 37426,
+		ts + 37466,
+		ts + 37501,
 	}
 
 	var pRet uintptr = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_OK
 	var bDb int32
 
-	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) == Size_t(4) && libc.Xmemcmp(tls, ts+23352, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uint32(4)) == 0)
+	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*4))) == Size_t(4) && libc.Xmemcmp(tls, ts+23399, *(*uintptr)(unsafe.Pointer(argv + 1*4)), uint32(4)) == 0)
 
 	if argc != 5 && bDb == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37497, 0)
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37544, 0)
 		*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 	} else {
 		var nByte int32
@@ -151844,11 +151903,11 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 
 	if (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 {
 		(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+37530, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+			ts+37577, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 		return SQLITE_ERROR
 	}
 	zSql = sqlite3Fts5Mprintf(tls, bp+64,
-		ts+37561,
+		ts+37608,
 		libc.VaList(bp+16, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 64)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+68, uintptr(0))
@@ -151872,7 +151931,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 			*(*uintptr)(unsafe.Pointer(bp + 68)) = uintptr(0)
 			if *(*int32)(unsafe.Pointer(bp + 64)) == SQLITE_OK {
 				(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-					ts+37612, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+					ts+37659, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 				*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 			}
 		} else {
@@ -152267,7 +152326,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32
 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 {
 	var p uintptr = pGlobal
 
-	return Xsqlite3_create_module_v2(tls, db, ts+37638, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
+	return Xsqlite3_create_module_v2(tls, db, ts+37685, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
 }
 
 var fts5Vocab = Sqlite3_module{
@@ -152289,7 +152348,7 @@ var fts5Vocab = Sqlite3_module{
 // ************* End of stmt.c ***********************************************
 // Return the source-id for this library
 func Xsqlite3_sourceid(tls *libc.TLS) uintptr {
-	return ts + 37648
+	return ts + 37695
 }
 
 func init() {
@@ -153266,5 +153325,5 @@ func init() {
 	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 68)) = rbuVfsGetLastError
 }
 
-var ts1 = "3.41.0\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00"
+var ts1 = "3.41.2\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00"
 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_arm64.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_arm64.go
index 9d5370ad..ec87176a 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_linux_arm64.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
@@ -921,11 +921,11 @@ const (
 	NC_OrderAgg                           = 0x8000000
 	NC_PartIdx                            = 0x000002
 	NC_SelfRef                            = 0x00002e
+	NC_Subquery                           = 0x000040
 	NC_UAggInfo                           = 0x000100
 	NC_UBaseReg                           = 0x000400
 	NC_UEList                             = 0x000080
 	NC_UUpsert                            = 0x000200
-	NC_VarSelect                          = 0x000040
 	NDEBUG                                = 1
 	NN                                    = 1
 	NOT_WITHIN                            = 0
@@ -2167,7 +2167,7 @@ const (
 	SQLITE_SHM_UNLOCK                     = 1
 	SQLITE_SORTER_PMASZ                   = 250
 	SQLITE_SOUNDEX                        = 1
-	SQLITE_SOURCE_ID                      = "2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d"
+	SQLITE_SOURCE_ID                      = "2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da"
 	SQLITE_SO_ASC                         = 0
 	SQLITE_SO_DESC                        = 1
 	SQLITE_SO_UNDEFINED                   = -1
@@ -2275,8 +2275,8 @@ const (
 	SQLITE_UTF8                           = 1
 	SQLITE_VDBEINT_H                      = 0
 	SQLITE_VDBE_H                         = 0
-	SQLITE_VERSION                        = "3.41.0"
-	SQLITE_VERSION_NUMBER                 = 3041000
+	SQLITE_VERSION                        = "3.41.2"
+	SQLITE_VERSION_NUMBER                 = 3041002
 	SQLITE_VTABRISK_High                  = 2
 	SQLITE_VTABRISK_Low                   = 0
 	SQLITE_VTABRISK_Normal                = 1
@@ -6119,7 +6119,8 @@ type IndexedExpr1 = struct {
 	FiIdxCur       int32
 	FiIdxCol       int32
 	FbMaybeNullRow U8
-	F__ccgo_pad1   [3]byte
+	Faff           U8
+	F__ccgo_pad1   [2]byte
 	FpIENext       uintptr
 }
 
@@ -6761,17 +6762,18 @@ type Pager = Pager1
 
 // Handle type for pages.
 type PgHdr2 = struct {
-	FpPage      uintptr
-	FpData      uintptr
-	FpExtra     uintptr
-	FpCache     uintptr
-	FpDirty     uintptr
-	FpPager     uintptr
-	Fpgno       Pgno
-	Fflags      U16
-	FnRef       I16
-	FpDirtyNext uintptr
-	FpDirtyPrev uintptr
+	FpPage       uintptr
+	FpData       uintptr
+	FpExtra      uintptr
+	FpCache      uintptr
+	FpDirty      uintptr
+	FpPager      uintptr
+	Fpgno        Pgno
+	Fflags       U16
+	F__ccgo_pad1 [2]byte
+	FnRef        I64
+	FpDirtyNext  uintptr
+	FpDirtyPrev  uintptr
 }
 
 // Handle type for pages.
@@ -6992,14 +6994,14 @@ type PCache2 = struct {
 	FpDirty      uintptr
 	FpDirtyTail  uintptr
 	FpSynced     uintptr
-	FnRefSum     int32
+	FnRefSum     I64
 	FszCache     int32
 	FszSpill     int32
 	FszPage      int32
 	FszExtra     int32
 	FbPurgeable  U8
 	FeCreate     U8
-	F__ccgo_pad1 [2]byte
+	F__ccgo_pad1 [6]byte
 	FxStress     uintptr
 	FpStress     uintptr
 	FpCache      uintptr
@@ -7806,7 +7808,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
 	_ = pMutex
 
 	if op < 0 || op >= int32(uint64(unsafe.Sizeof([10]Sqlite3StatValueType{}))/uint64(unsafe.Sizeof(Sqlite3StatValueType(0)))) {
-		return Xsqlite3MisuseError(tls, 23229)
+		return Xsqlite3MisuseError(tls, 23233)
 	}
 	if statMutex[op] != 0 {
 		pMutex = Xsqlite3Pcache1Mutex(tls)
@@ -15891,7 +15893,7 @@ func closePendingFds(tls *libc.TLS, pFile uintptr) {
 
 	for p = (*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused; p != 0; p = pNext {
 		pNext = (*UnixUnusedFd)(unsafe.Pointer(p)).FpNext
-		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38271)
+		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38275)
 		Xsqlite3_free(tls, p)
 	}
 	(*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused = uintptr(0)
@@ -16368,7 +16370,7 @@ func closeUnixFile(tls *libc.TLS, id uintptr) int32 {
 	var pFile uintptr = id
 	unixUnmapfile(tls, pFile)
 	if (*UnixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
-		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39055)
+		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39059)
 		(*UnixFile)(unsafe.Pointer(pFile)).Fh = -1
 	}
 
@@ -16659,7 +16661,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 {
 	if fd >= 0 {
 		return SQLITE_OK
 	}
-	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40676), ts+3378, bp+8, 40676)
+	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40680), ts+3378, bp+8, 40680)
 }
 
 func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
@@ -16676,14 +16678,14 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
 
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3666, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40717)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3666, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40721)
 	}
 
 	if int32((*UnixFile)(unsafe.Pointer(pFile)).FctrlFlags)&UNIXFILE_DIRSYNC != 0 {
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, bp)
 		if rc == SQLITE_OK {
 			full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0)
-			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40731)
+			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40735)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -16703,7 +16705,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 {
 	rc = robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte)
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40762)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40766)
 	} else {
 		if nByte < (*UnixFile)(unsafe.Pointer(pFile)).FmmapSize {
 			(*UnixFile)(unsafe.Pointer(pFile)).FmmapSize = nByte
@@ -16771,7 +16773,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 {
 		if (*UnixFile)(unsafe.Pointer(pFile)).FszChunk <= 0 {
 			if robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte) != 0 {
 				storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
-				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40883)
+				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40887)
 			}
 		}
 
@@ -16998,7 +17000,7 @@ func unixShmPurge(tls *libc.TLS, pFd uintptr) {
 		}
 		Xsqlite3_free(tls, (*UnixShmNode)(unsafe.Pointer(p)).FapRegion)
 		if (*UnixShmNode)(unsafe.Pointer(p)).FhShm >= 0 {
-			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41442)
+			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41446)
 			(*UnixShmNode)(unsafe.Pointer(p)).FhShm = -1
 		}
 		(*UnixInodeInfo)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0)
@@ -17026,7 +17028,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32
 			rc = unixShmSystemLock(tls, pDbFd, F_WRLCK, (22+SQLITE_SHM_NLOCK)*4+SQLITE_SHM_NLOCK, 1)
 
 			if rc == SQLITE_OK && robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3297, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41499)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3297, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41503)
 			}
 		}
 	} else if int32((*flock)(unsafe.Pointer(bp+8)).Fl_type) == F_WRLCK {
@@ -17125,7 +17127,7 @@ __8:
 	if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) {
 		goto __10
 	}
-	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41624), ts+3261, zShm, 41624)
+	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41628), ts+3261, zShm, 41628)
 	goto shm_open_err
 __10:
 	;
@@ -17255,7 +17257,7 @@ __11:
 		goto __14
 	}
 	zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3332, zFile, 41768)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3332, zFile, 41772)
 	goto shmpage_out
 __14:
 	;
@@ -17301,7 +17303,7 @@ __16:
 	if !(pMem == libc.UintptrFromInt32(-1)) {
 		goto __20
 	}
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3419, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41795)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3419, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41799)
 	goto shmpage_out
 __20:
 	;
@@ -17532,7 +17534,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) {
 	if pNew == libc.UintptrFromInt32(-1) {
 		pNew = uintptr(0)
 		nNew = int64(0)
-		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42169)
+		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42173)
 
 		(*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeMax = int64(0)
 	}
@@ -17666,7 +17668,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 		unixEnterMutex(tls)
 		rc = findInodeInfo(tls, pNew, pNew+16)
 		if rc != SQLITE_OK {
-			robust_close(tls, pNew, h, 42672)
+			robust_close(tls, pNew, h, 42676)
 			h = -1
 		}
 		unixLeaveMutex(tls)
@@ -17687,7 +17689,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 	storeLastErrno(tls, pNew, 0)
 	if rc != SQLITE_OK {
 		if h >= 0 {
-			robust_close(tls, pNew, h, 42757)
+			robust_close(tls, pNew, h, 42761)
 		}
 	} else {
 		(*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle
@@ -18003,7 +18005,7 @@ __15:
 	if !(fd < 0) {
 		goto __19
 	}
-	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43198), ts+3261, zName, 43198)
+	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43202), ts+3261, zName, 43202)
 	if !(rc == SQLITE_OK) {
 		goto __20
 	}
@@ -18094,7 +18096,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == ENOENT {
 			rc = SQLITE_IOERR | int32(23)<<8
 		} else {
-			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3371, zPath, 43337)
+			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3371, zPath, 43341)
 		}
 		return rc
 	}
@@ -18102,9 +18104,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, zPath, bp)
 		if rc == SQLITE_OK {
 			if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3788, zPath, 43347)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3788, zPath, 43351)
 			}
-			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43349)
+			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43353)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -18168,18 +18170,18 @@ func appendOnePathElement(tls *libc.TLS, pPath uintptr, zName uintptr, nName int
 		zIn = (*DbPath)(unsafe.Pointer(pPath)).FzOut
 		if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8)))(tls, zIn, bp) != 0 {
 			if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != ENOENT {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43443), ts+3459, zIn, 43443)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43447), ts+3459, zIn, 43447)
 			}
 		} else if (*stat)(unsafe.Pointer(bp)).Fst_mode&X__mode_t(0170000) == X__mode_t(0120000) {
 			var got Ssize_t
 
 			if libc.PostIncInt32(&(*DbPath)(unsafe.Pointer(pPath)).FnSymlink, 1) > SQLITE_MAX_SYMLINK {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43449)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43453)
 				return
 			}
 			got = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls, zIn, bp+128, uint64(unsafe.Sizeof([4098]uint8{}))-uint64(2))
 			if got <= int64(0) || got >= Ssize_t(unsafe.Sizeof([4098]uint8{}))-int64(2) {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43454), ts+3450, zIn, 43454)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43458), ts+3450, zIn, 43458)
 				return
 			}
 			*(*uint8)(unsafe.Pointer(bp + 128 + uintptr(got))) = uint8(0)
@@ -18219,14 +18221,14 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO
 	(*DbPath)(unsafe.Pointer(bp + 4104)).FzOut = zOut
 	if int32(*(*uint8)(unsafe.Pointer(zPath))) != '/' {
 		if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, bp, uint64(unsafe.Sizeof([4098]uint8{}))-uint64(2)) == uintptr(0) {
-			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43512), ts+3279, zPath, 43512)
+			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43516), ts+3279, zPath, 43516)
 		}
 		appendAllPathElements(tls, bp+4104, bp)
 	}
 	appendAllPathElements(tls, bp+4104, zPath)
 	*(*uint8)(unsafe.Pointer(zOut + uintptr((*DbPath)(unsafe.Pointer(bp+4104)).FnUsed))) = uint8(0)
 	if (*DbPath)(unsafe.Pointer(bp+4104)).Frc != 0 || (*DbPath)(unsafe.Pointer(bp+4104)).FnUsed < 2 {
-		return Xsqlite3CantopenError(tls, 43518)
+		return Xsqlite3CantopenError(tls, 43522)
 	}
 	if (*DbPath)(unsafe.Pointer(bp+4104)).FnSymlink != 0 {
 		return SQLITE_OK | int32(2)<<8
@@ -18327,7 +18329,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in
 			for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == EINTR {
 				got = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*24 + 8)))(tls, fd, zBuf, uint64(nBuf)))
 			}
-			robust_close(tls, uintptr(0), fd, 43619)
+			robust_close(tls, uintptr(0), fd, 43623)
 		}
 
 	}
@@ -19760,7 +19762,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 	libc.Xmemset(tls, pPgHdr+32, 0, uint64(unsafe.Sizeof(PgHdr{}))-uint64(uintptr(0)+32))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpPage = pPage
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpData = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpBuf
-	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*72
+	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*80
 	libc.Xmemset(tls, (*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra, 0, uint64(8))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpCache = pCache
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).Fpgno = pgno
@@ -19790,7 +19792,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 // reference count drops to 0, then it is made eligible for recycling.
 func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) {
 	(*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum--
-	if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 {
+	if libc.PreDecInt64(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1) == int64(0) {
 		if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_CLEAN != 0 {
 			pcacheUnpin(tls, p)
 		} else {
@@ -19841,7 +19843,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) {
 	*(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE))
 	*(*U16)(unsafe.Pointer(p + 52)) |= U16(PGHDR_CLEAN)
 
-	if int32((*PgHdr)(unsafe.Pointer(p)).FnRef) == 0 {
+	if (*PgHdr)(unsafe.Pointer(p)).FnRef == int64(0) {
 		pcacheUnpin(tls, p)
 	}
 }
@@ -19945,8 +19947,8 @@ func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) {
 }
 
 func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr {
-	bp := tls.Alloc(72)
-	defer tls.Free(72)
+	bp := tls.Alloc(80)
+	defer tls.Free(80)
 
 	var pTail uintptr
 	pTail = bp
@@ -20024,13 +20026,13 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr {
 //
 // This is not the total number of pages referenced, but the sum of the
 // reference count for all pages.
-func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 {
+func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) I64 {
 	return (*PCache)(unsafe.Pointer(pCache)).FnRefSum
 }
 
 // Return the number of references to the page supplied as an argument.
-func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 {
-	return int32((*PgHdr)(unsafe.Pointer(p)).FnRef)
+func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) I64 {
+	return (*PgHdr)(unsafe.Pointer(p)).FnRef
 }
 
 // Return the total number of pages in the cache.
@@ -22324,7 +22326,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 {
 
 	pPg = Xsqlite3PagerLookup(tls, pPager, iPg)
 	if pPg != 0 {
-		if Xsqlite3PcachePageRefcount(tls, pPg) == 1 {
+		if Xsqlite3PcachePageRefcount(tls, pPg) == int64(1) {
 			Xsqlite3PcacheDrop(tls, pPg)
 		} else {
 			rc = readDbPage(tls, pPg)
@@ -22757,7 +22759,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr,
 	var pageSize U32 = *(*U32)(unsafe.Pointer(pPageSize))
 
 	if (int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) == 0 || (*Pager)(unsafe.Pointer(pPager)).FdbSize == Pgno(0)) &&
-		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 &&
+		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) &&
 		pageSize != 0 && pageSize != U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) {
 		var pNew uintptr = uintptr(0)
 		*(*I64)(unsafe.Pointer(bp)) = int64(0)
@@ -22909,9 +22911,9 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr
 			Xsqlite3OsUnfetch(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, I64(pgno-Pgno(1))*(*Pager)(unsafe.Pointer(pPager)).FpageSize, pData)
 			return SQLITE_NOMEM
 		}
-		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*72
+		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*80
 		(*PgHdr)(unsafe.Pointer(p)).Fflags = U16(PGHDR_MMAP)
-		(*PgHdr)(unsafe.Pointer(p)).FnRef = int16(1)
+		(*PgHdr)(unsafe.Pointer(p)).FnRef = int64(1)
 		(*PgHdr)(unsafe.Pointer(p)).FpPager = pPager
 	}
 
@@ -23243,7 +23245,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 {
 
 		for rc == SQLITE_OK && pList != 0 {
 			var pNext uintptr = (*PgHdr)(unsafe.Pointer(pList)).FpDirty
-			if int32((*PgHdr)(unsafe.Pointer(pList)).FnRef) == 0 {
+			if (*PgHdr)(unsafe.Pointer(pList)).FnRef == int64(0) {
 				rc = pagerStress(tls, pPager, pList)
 			}
 			pList = pNext
@@ -23393,7 +23395,7 @@ __11:
 		goto __12
 	}
 
-	rc = Xsqlite3CantopenError(tls, 60235)
+	rc = Xsqlite3CantopenError(tls, 60239)
 __12:
 	;
 	if !(rc != SQLITE_OK) {
@@ -23774,7 +23776,7 @@ __7:
 	if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) {
 		goto __10
 	}
-	rc = Xsqlite3CantopenError(tls, 60754)
+	rc = Xsqlite3CantopenError(tls, 60758)
 	Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd)
 __10:
 	;
@@ -23880,7 +23882,7 @@ __24:
 }
 
 func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) {
-	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 {
+	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) {
 		pagerUnlockAndRollback(tls, pPager)
 	}
 }
@@ -23898,7 +23900,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla
 	if !(pgno == Pgno(0)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 60967)
+	return Xsqlite3CorruptError(tls, 60971)
 __1:
 	;
 	*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3)
@@ -23937,7 +23939,7 @@ __5:
 	if !(pgno == (*Pager)(unsafe.Pointer(pPager)).FlckPgno) {
 		goto __7
 	}
-	rc = Xsqlite3CorruptError(tls, 60999)
+	rc = Xsqlite3CorruptError(tls, 61003)
 	goto pager_acquire_err
 __7:
 	;
@@ -24014,7 +24016,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags
 		(int32((*Pager)(unsafe.Pointer(pPager)).FeState) == PAGER_READER || flags&PAGER_GET_READONLY != 0))
 
 	if pgno <= Pgno(1) && pgno == Pgno(0) {
-		return Xsqlite3CorruptError(tls, 61078)
+		return Xsqlite3CorruptError(tls, 61082)
 	}
 
 	if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
@@ -24772,7 +24774,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 {
 
 // Return the number of references to the specified page.
 func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 {
-	return Xsqlite3PcachePageRefcount(tls, pPage)
+	return int32(Xsqlite3PcachePageRefcount(tls, pPage))
 }
 
 // Parameter eStat must be one of SQLITE_DBSTATUS_CACHE_HIT, _MISS, _WRITE,
@@ -25015,9 +25017,9 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno
 	pPgOld = Xsqlite3PagerLookup(tls, pPager, pgno)
 
 	if pPgOld != 0 {
-		if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 {
+		if (*PgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
 			Xsqlite3PagerUnrefNotNull(tls, pPgOld)
-			return Xsqlite3CorruptError(tls, 62623)
+			return Xsqlite3CorruptError(tls, 62627)
 		}
 		*(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC)
 		if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 {
@@ -25774,7 +25776,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 {
 		nCollide = idx
 		for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) {
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 64387)
+				return Xsqlite3CorruptError(tls, 64391)
 			}
 		}
 		*(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaPgno + uintptr(idx-1)*4)) = iPage
@@ -25873,7 +25875,7 @@ __6:
 	if !(version != U32(WAL_MAX_VERSION)) {
 		goto __7
 	}
-	rc = Xsqlite3CantopenError(tls, 64519)
+	rc = Xsqlite3CantopenError(tls, 64523)
 	goto finished
 __7:
 	;
@@ -26459,7 +26461,7 @@ __10:
 		goto __14
 	}
 
-	rc = Xsqlite3CorruptError(tls, 65333)
+	rc = Xsqlite3CorruptError(tls, 65337)
 	goto __15
 __14:
 	Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16)
@@ -26734,7 +26736,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 {
 	}
 
 	if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) {
-		rc = Xsqlite3CantopenError(tls, 65682)
+		rc = Xsqlite3CantopenError(tls, 65686)
 	}
 	if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
 		if rc != SQLITE_OK {
@@ -27207,7 +27209,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr
 				iRead = iFrame
 			}
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 66419)
+				return Xsqlite3CorruptError(tls, 66423)
 			}
 			iKey = walNextHash(tls, iKey)
 		}
@@ -27712,7 +27714,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
 
 	if rc == SQLITE_OK {
 		if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf {
-			rc = Xsqlite3CorruptError(tls, 67138)
+			rc = Xsqlite3CorruptError(tls, 67142)
 		} else {
 			rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
 		}
@@ -28370,7 +28372,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32
 		}
 		Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
 		if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
-			rc = Xsqlite3CorruptError(tls, 69249)
+			rc = Xsqlite3CorruptError(tls, 69253)
 		} else {
 			rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
 		}
@@ -28507,7 +28509,7 @@ __1:
 	if !(key == Pgno(0)) {
 		goto __2
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69430)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69434)
 	return
 __2:
 	;
@@ -28524,7 +28526,7 @@ __3:
 		goto __4
 	}
 
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69443)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69447)
 	goto ptrmap_exit
 __4:
 	;
@@ -28532,7 +28534,7 @@ __4:
 	if !(offset < 0) {
 		goto __5
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69448)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69452)
 	goto ptrmap_exit
 __5:
 	;
@@ -28575,7 +28577,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 	offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1)))
 	if offset < 0 {
 		Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
-		return Xsqlite3CorruptError(tls, 69493)
+		return Xsqlite3CorruptError(tls, 69497)
 	}
 
 	*(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
@@ -28585,7 +28587,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 
 	Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
 	if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 {
-		return Xsqlite3CorruptError(tls, 69501)
+		return Xsqlite3CorruptError(tls, 69505)
 	}
 	return SQLITE_OK
 }
@@ -28835,7 +28837,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr,
 	if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 		var ovfl Pgno
 		if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) {
-			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69893)
+			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69897)
 			return
 		}
 		ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4))
@@ -28882,7 +28884,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 {
 	if !(iFree > usableSize-4) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 69951)
+	return Xsqlite3CorruptError(tls, 69955)
 __2:
 	;
 	if !(iFree != 0) {
@@ -28892,7 +28894,7 @@ __2:
 	if !(iFree2 > usableSize-4) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 69954)
+	return Xsqlite3CorruptError(tls, 69958)
 __4:
 	;
 	if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) {
@@ -28905,7 +28907,7 @@ __4:
 	if !(top >= iFree) {
 		goto __6
 	}
-	return Xsqlite3CorruptError(tls, 69962)
+	return Xsqlite3CorruptError(tls, 69966)
 __6:
 	;
 	if !(iFree2 != 0) {
@@ -28914,14 +28916,14 @@ __6:
 	if !(iFree+sz > iFree2) {
 		goto __9
 	}
-	return Xsqlite3CorruptError(tls, 69965)
+	return Xsqlite3CorruptError(tls, 69969)
 __9:
 	;
 	sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1)))
 	if !(iFree2+sz2 > usableSize) {
 		goto __10
 	}
-	return Xsqlite3CorruptError(tls, 69967)
+	return Xsqlite3CorruptError(tls, 69971)
 __10:
 	;
 	libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz)))
@@ -28931,7 +28933,7 @@ __7:
 	if !(iFree+sz > usableSize) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 69971)
+	return Xsqlite3CorruptError(tls, 69975)
 __11:
 	;
 __8:
@@ -28995,7 +28997,7 @@ __19:
 	if !(pc < iCellStart || pc > iCellLast) {
 		goto __22
 	}
-	return Xsqlite3CorruptError(tls, 70004)
+	return Xsqlite3CorruptError(tls, 70008)
 __22:
 	;
 	size = int32((*struct {
@@ -29005,7 +29007,7 @@ __22:
 	if !(cbrk < iCellStart || pc+size > usableSize) {
 		goto __23
 	}
-	return Xsqlite3CorruptError(tls, 70010)
+	return Xsqlite3CorruptError(tls, 70014)
 __23:
 	;
 	*(*U8)(unsafe.Pointer(pAddr1)) = U8(cbrk >> 8)
@@ -29027,7 +29029,7 @@ defragment_out:
 	if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) {
 		goto __24
 	}
-	return Xsqlite3CorruptError(tls, 70024)
+	return Xsqlite3CorruptError(tls, 70028)
 __24:
 	;
 	*(*uint8)(unsafe.Pointer(data + uintptr(hdr+5))) = U8(cbrk >> 8)
@@ -29062,7 +29064,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 				*(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x)))
 				return aData + uintptr(pc)
 			} else if x+pc > maxPC {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70081)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70085)
 				return uintptr(0)
 			} else {
 				*(*U8)(unsafe.Pointer(aData + uintptr(pc+2))) = U8(x >> 8)
@@ -29075,13 +29077,13 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 		pc = int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1)))
 		if pc <= iAddr {
 			if pc != 0 {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70096)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70100)
 			}
 			return uintptr(0)
 		}
 	}
 	if pc > maxPC+nByte-4 {
-		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70103)
+		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70107)
 	}
 	return uintptr(0)
 }
@@ -29106,7 +29108,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 		if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) {
 			top = 65536
 		} else {
-			return Xsqlite3CorruptError(tls, 70152)
+			return Xsqlite3CorruptError(tls, 70156)
 		}
 	}
 
@@ -29117,7 +29119,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 
 			*(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1))
 			if g2 <= gap {
-				return Xsqlite3CorruptError(tls, 70170)
+				return Xsqlite3CorruptError(tls, 70174)
 			} else {
 				return SQLITE_OK
 			}
@@ -29169,22 +29171,22 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 				if int32(iFreeBlk) == 0 {
 					break
 				}
-				return Xsqlite3CorruptError(tls, 70249)
+				return Xsqlite3CorruptError(tls, 70253)
 			}
 			iPtr = iFreeBlk
 		}
 		if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) {
-			return Xsqlite3CorruptError(tls, 70254)
+			return Xsqlite3CorruptError(tls, 70258)
 		}
 
 		if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) {
 			nFrag = U8(U32(iFreeBlk) - iEnd)
 			if iEnd > U32(iFreeBlk) {
-				return Xsqlite3CorruptError(tls, 70266)
+				return Xsqlite3CorruptError(tls, 70270)
 			}
 			iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1)))))
 			if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-				return Xsqlite3CorruptError(tls, 70269)
+				return Xsqlite3CorruptError(tls, 70273)
 			}
 			iSize = U16(iEnd - U32(iStart))
 			iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1))))
@@ -29194,7 +29196,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1))))
 			if iPtrEnd+3 >= int32(iStart) {
 				if iPtrEnd > int32(iStart) {
-					return Xsqlite3CorruptError(tls, 70282)
+					return Xsqlite3CorruptError(tls, 70286)
 				}
 				nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd))
 				iSize = U16(iEnd - U32(iPtr))
@@ -29202,7 +29204,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			}
 		}
 		if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) {
-			return Xsqlite3CorruptError(tls, 70288)
+			return Xsqlite3CorruptError(tls, 70292)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag))
 	}
@@ -29210,10 +29212,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 	x = U16(int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1))))
 	if int32(iStart) <= int32(x) {
 		if int32(iStart) < int32(x) {
-			return Xsqlite3CorruptError(tls, 70297)
+			return Xsqlite3CorruptError(tls, 70301)
 		}
 		if int32(iPtr) != int32(hdr)+1 {
-			return Xsqlite3CorruptError(tls, 70298)
+			return Xsqlite3CorruptError(tls, 70302)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8)
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk)
@@ -29273,7 +29275,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70357)
+			return Xsqlite3CorruptError(tls, 70361)
 		}
 	} else {
 		(*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize = U8(4)
@@ -29309,7 +29311,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70381)
+			return Xsqlite3CorruptError(tls, 70385)
 		}
 	}
 	return SQLITE_OK
@@ -29339,11 +29341,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 		var next U32
 		var size U32
 		if pc < top {
-			return Xsqlite3CorruptError(tls, 70432)
+			return Xsqlite3CorruptError(tls, 70436)
 		}
 		for 1 != 0 {
 			if pc > iCellLast {
-				return Xsqlite3CorruptError(tls, 70437)
+				return Xsqlite3CorruptError(tls, 70441)
 			}
 			next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1))))
 			size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1))))
@@ -29354,15 +29356,15 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 			pc = int32(next)
 		}
 		if next > U32(0) {
-			return Xsqlite3CorruptError(tls, 70447)
+			return Xsqlite3CorruptError(tls, 70451)
 		}
 		if U32(pc)+size > uint32(usableSize) {
-			return Xsqlite3CorruptError(tls, 70451)
+			return Xsqlite3CorruptError(tls, 70455)
 		}
 	}
 
 	if nFree > usableSize || nFree < iCellFirst {
-		return Xsqlite3CorruptError(tls, 70463)
+		return Xsqlite3CorruptError(tls, 70467)
 	}
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst))
 	return SQLITE_OK
@@ -29390,14 +29392,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 {
 		pc = int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(data + uintptr(cellOffset+i*2)))))
 
 		if pc < iCellFirst || pc > iCellLast {
-			return Xsqlite3CorruptError(tls, 70494)
+			return Xsqlite3CorruptError(tls, 70498)
 		}
 		sz = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
 		})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc)))
 
 		if pc+sz > usableSize {
-			return Xsqlite3CorruptError(tls, 70499)
+			return Xsqlite3CorruptError(tls, 70503)
 		}
 	}
 	return SQLITE_OK
@@ -29411,7 +29413,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 	data = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 {
-		return Xsqlite3CorruptError(tls, 70531)
+		return Xsqlite3CorruptError(tls, 70535)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1))
@@ -29423,7 +29425,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1))))
 	if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) {
-		return Xsqlite3CorruptError(tls, 70545)
+		return Xsqlite3CorruptError(tls, 70549)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = -1
@@ -29526,7 +29528,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	rc = Xsqlite3CorruptError(tls, 70700)
+	rc = Xsqlite3CorruptError(tls, 70704)
 	goto getAndInitPage_error1
 __1:
 	;
@@ -29554,7 +29556,7 @@ __3:
 	if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) {
 		goto __5
 	}
-	rc = Xsqlite3CorruptError(tls, 70721)
+	rc = Xsqlite3CorruptError(tls, 70725)
 	goto getAndInitPage_error2
 __5:
 	;
@@ -29593,7 +29595,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 {
 			releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
 			*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
-			return Xsqlite3CorruptError(tls, 70787)
+			return Xsqlite3CorruptError(tls, 70791)
 		}
 		(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0)
 	} else {
@@ -30476,7 +30478,7 @@ __16:
 	if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) {
 		goto __18
 	}
-	rc = Xsqlite3CorruptError(tls, 71722)
+	rc = Xsqlite3CorruptError(tls, 71726)
 	goto page1_init_failed
 	goto __19
 __18:
@@ -30891,7 +30893,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 	if int32(eType) == PTRMAP_OVERFLOW2 {
 		if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
-			return Xsqlite3CorruptError(tls, 72143)
+			return Xsqlite3CorruptError(tls, 72147)
 		}
 		Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo)
 	} else {
@@ -30917,7 +30919,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp)
 				if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 					if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-						return Xsqlite3CorruptError(tls, 72162)
+						return Xsqlite3CorruptError(tls, 72166)
 					}
 					if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) {
 						Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo)
@@ -30926,7 +30928,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				}
 			} else {
 				if pCell+uintptr(4) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-					return Xsqlite3CorruptError(tls, 72171)
+					return Xsqlite3CorruptError(tls, 72175)
 				}
 				if Xsqlite3Get4byte(tls, pCell) == iFrom {
 					Xsqlite3Put4byte(tls, pCell, iTo)
@@ -30937,7 +30939,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 		if i == nCell {
 			if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom {
-				return Xsqlite3CorruptError(tls, 72183)
+				return Xsqlite3CorruptError(tls, 72187)
 			}
 			Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo)
 		}
@@ -30953,7 +30955,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag
 	var pPager uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPager
 
 	if iDbPage < Pgno(3) {
-		return Xsqlite3CorruptError(tls, 72218)
+		return Xsqlite3CorruptError(tls, 72222)
 	}
 
 	*(*int32)(unsafe.Pointer(bp)) = Xsqlite3PagerMovepage(tls, pPager, (*MemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -31014,7 +31016,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 			return rc
 		}
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE {
-			return Xsqlite3CorruptError(tls, 72316)
+			return Xsqlite3CorruptError(tls, 72320)
 		}
 
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE {
@@ -31049,7 +31051,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 				if *(*Pgno)(unsafe.Pointer(bp + 40)) > dbSize {
 					releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
-					return Xsqlite3CorruptError(tls, 72368)
+					return Xsqlite3CorruptError(tls, 72372)
 				}
 			}
 
@@ -31109,7 +31111,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 {
 		var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree)
 
 		if nOrig < nFin || nFree >= nOrig {
-			rc = Xsqlite3CorruptError(tls, 72436)
+			rc = Xsqlite3CorruptError(tls, 72440)
 		} else if nFree > Pgno(0) {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
 			if rc == SQLITE_OK {
@@ -31148,7 +31150,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 
 		nOrig = btreePagecount(tls, pBt)
 		if ptrmapPageno(tls, pBt, nOrig) == nOrig || nOrig == U32(Xsqlite3PendingByte)/(*BtShared)(unsafe.Pointer(pBt)).FpageSize+U32(1) {
-			return Xsqlite3CorruptError(tls, 72487)
+			return Xsqlite3CorruptError(tls, 72491)
 		}
 
 		nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
@@ -31179,7 +31181,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 		}
 		nFin = finalDbSize(tls, pBt, nOrig, nVac)
 		if nFin > nOrig {
-			return Xsqlite3CorruptError(tls, 72514)
+			return Xsqlite3CorruptError(tls, 72518)
 		}
 		if nFin < nOrig {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -31520,7 +31522,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u
 
 	if iTable <= Pgno(1) {
 		if iTable < Pgno(1) {
-			return Xsqlite3CorruptError(tls, 72978)
+			return Xsqlite3CorruptError(tls, 72982)
 		} else if btreePagecount(tls, pBt) == Pgno(0) {
 			iTable = Pgno(0)
 		}
@@ -31764,14 +31766,14 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt
 
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
-		return Xsqlite3CorruptError(tls, 73385)
+		return Xsqlite3CorruptError(tls, 73389)
 	}
 
 	getCellInfo(tls, pCur)
 	aPayload = (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
 
 	if Uptr((int64(aPayload)-int64((*MemPage)(unsafe.Pointer(pPage)).FaData))/1) > Uptr((*BtShared)(unsafe.Pointer(pBt)).FusableSize-U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal)) {
-		return Xsqlite3CorruptError(tls, 73400)
+		return Xsqlite3CorruptError(tls, 73404)
 	}
 
 	if offset < U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -31816,7 +31818,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 
 		for *(*Pgno)(unsafe.Pointer(bp)) != 0 {
 			if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage {
-				return Xsqlite3CorruptError(tls, 73462)
+				return Xsqlite3CorruptError(tls, 73466)
 			}
 
 			*(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp))
@@ -31865,7 +31867,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	}
 
 	if rc == SQLITE_OK && amt > U32(0) {
-		return Xsqlite3CorruptError(tls, 73547)
+		return Xsqlite3CorruptError(tls, 73551)
 	}
 	return rc
 }
@@ -31945,7 +31947,7 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt
 
 func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 {
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 {
-		return Xsqlite3CorruptError(tls, 73684)
+		return Xsqlite3CorruptError(tls, 73688)
 	}
 	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	*(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl))
@@ -32036,7 +32038,7 @@ __2:
 	if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 73823)
+	return Xsqlite3CorruptError(tls, 73827)
 __11:
 	;
 skip_init:
@@ -32056,7 +32058,7 @@ __12:
 	if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) {
 		goto __16
 	}
-	return Xsqlite3CorruptError(tls, 73835)
+	return Xsqlite3CorruptError(tls, 73839)
 __16:
 	;
 	subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8))
@@ -32266,7 +32268,7 @@ __19:
 	if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __21
 	}
-	return Xsqlite3CorruptError(tls, 74077)
+	return Xsqlite3CorruptError(tls, 74081)
 __21:
 	;
 	goto __19
@@ -32470,7 +32472,7 @@ __2:
 	if !!(int32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit) != 0) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 74273)
+	return Xsqlite3CorruptError(tls, 74277)
 __4:
 	;
 	goto bypass_moveto_root
@@ -32535,7 +32537,7 @@ __15:
 	if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) {
 		goto __17
 	}
-	rc = Xsqlite3CorruptError(tls, 74360)
+	rc = Xsqlite3CorruptError(tls, 74364)
 	goto moveto_index_finish
 __17:
 	;
@@ -32583,7 +32585,7 @@ __22:
 	if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) {
 		goto __24
 	}
-	rc = Xsqlite3CorruptError(tls, 74392)
+	rc = Xsqlite3CorruptError(tls, 74396)
 __24:
 	;
 	goto moveto_index_finish
@@ -32702,7 +32704,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 {
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1))
 	if !(int32((*MemPage)(unsafe.Pointer(pPage)).FisInit) != 0) || Xsqlite3FaultSim(tls, 412) != 0 {
-		return Xsqlite3CorruptError(tls, 74508)
+		return Xsqlite3CorruptError(tls, 74512)
 	}
 
 	if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
@@ -32862,7 +32864,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr
 	if !(n >= mxPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74688)
+	return Xsqlite3CorruptError(tls, 74692)
 __1:
 	;
 	if !(n > U32(0)) {
@@ -32927,7 +32929,7 @@ __15:
 	if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) {
 		goto __16
 	}
-	rc = Xsqlite3CorruptError(tls, 74744)
+	rc = Xsqlite3CorruptError(tls, 74748)
 	goto __17
 __16:
 	rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0)
@@ -32963,7 +32965,7 @@ __19:
 		goto __22
 	}
 
-	rc = Xsqlite3CorruptError(tls, 74773)
+	rc = Xsqlite3CorruptError(tls, 74777)
 	goto end_allocate_page
 	goto __23
 __22:
@@ -33007,7 +33009,7 @@ __27:
 	if !(iNewTrunk > mxPage) {
 		goto __32
 	}
-	rc = Xsqlite3CorruptError(tls, 74807)
+	rc = Xsqlite3CorruptError(tls, 74811)
 	goto end_allocate_page
 __32:
 	;
@@ -33119,7 +33121,7 @@ __40:
 	if !(iPage > mxPage || iPage < Pgno(2)) {
 		goto __51
 	}
-	rc = Xsqlite3CorruptError(tls, 74872)
+	rc = Xsqlite3CorruptError(tls, 74876)
 	goto end_allocate_page
 __51:
 	;
@@ -33277,7 +33279,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 {
 	if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74999)
+	return Xsqlite3CorruptError(tls, 75003)
 __1:
 	;
 	if !(pMemPage != 0) {
@@ -33334,7 +33336,7 @@ __7:
 	if !(iTrunk > btreePagecount(tls, pBt)) {
 		goto __10
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75046)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75050)
 	goto freepage_out
 __10:
 	;
@@ -33350,7 +33352,7 @@ __11:
 	if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) {
 		goto __12
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75057)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75061)
 	goto freepage_out
 __12:
 	;
@@ -33424,7 +33426,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 	var ovflPageSize U32
 
 	if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 75146)
+		return Xsqlite3CorruptError(tls, 75150)
 	}
 	ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
 	pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt
@@ -33436,7 +33438,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 		*(*Pgno)(unsafe.Pointer(bp + 8)) = Pgno(0)
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 		if ovflPgno < Pgno(2) || ovflPgno > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 75163)
+			return Xsqlite3CorruptError(tls, 75167)
 		}
 		if nOvfl != 0 {
 			rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8)
@@ -33447,7 +33449,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 
 		if (*(*uintptr)(unsafe.Pointer(bp)) != 0 || libc.AssignPtrUintptr(bp, btreePageLookup(tls, pBt, ovflPgno)) != uintptr(0)) &&
 			Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 {
-			rc = Xsqlite3CorruptError(tls, 75183)
+			rc = Xsqlite3CorruptError(tls, 75187)
 		} else {
 			rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp)), ovflPgno)
 		}
@@ -33612,7 +33614,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
 	hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75436)
+		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75440)
 		return
 	}
 	rc = freeSpace(tls, pPage, uint16(pc), uint16(sz))
@@ -33891,12 +33893,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 
 		if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) {
 			if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) {
-				return Xsqlite3CorruptError(tls, 75737)
+				return Xsqlite3CorruptError(tls, 75741)
 			}
 			pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1)
 		} else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) &&
 			Uptr(pCell) < Uptr(pSrcEnd) {
-			return Xsqlite3CorruptError(tls, 75742)
+			return Xsqlite3CorruptError(tls, 75746)
 		}
 
 		pData -= uintptr(sz)
@@ -33904,7 +33906,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 		*(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1)
 		pCellptr += uintptr(2)
 		if pData < pCellptr {
-			return Xsqlite3CorruptError(tls, 75748)
+			return Xsqlite3CorruptError(tls, 75752)
 		}
 		libc.Xmemmove(tls, pData, pCell, uint64(sz))
 
@@ -33964,7 +33966,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr,
 
 		if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) &&
 			Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) {
-			Xsqlite3CorruptError(tls, 75833)
+			Xsqlite3CorruptError(tls, 75837)
 			return 1
 		}
 		libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz))
@@ -34053,7 +34055,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC
 	if !(nShift > nCell) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 75947)
+	return Xsqlite3CorruptError(tls, 75951)
 __2:
 	;
 	libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2))
@@ -34169,7 +34171,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr
 	var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt
 
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
-		return Xsqlite3CorruptError(tls, 76060)
+		return Xsqlite3CorruptError(tls, 76064)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 136)) = allocateBtreePage(tls, pBt, bp, bp+8, uint32(0), uint8(0))
@@ -34489,7 +34491,7 @@ __22:
 	if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) {
 		goto __25
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76481)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76485)
 	goto balance_cleanup
 __25:
 	;
@@ -34500,7 +34502,7 @@ __25:
 	if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) {
 		goto __27
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76505)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76509)
 	goto balance_cleanup
 __27:
 	;
@@ -34658,7 +34660,7 @@ __52:
 	if !(k > NB+2) {
 		goto __55
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76606)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76610)
 	goto balance_cleanup
 __55:
 	;
@@ -34732,7 +34734,7 @@ __65:
 	}()) {
 		goto __67
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76639)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76643)
 	goto balance_cleanup
 __67:
 	;
@@ -34795,7 +34797,7 @@ __73:
 	}()) {
 		goto __75
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76683)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76687)
 	goto balance_cleanup
 __75:
 	;
@@ -34823,7 +34825,7 @@ __76:
 		*(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) {
 		goto __81
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76716)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76720)
 __81:
 	;
 	if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) {
@@ -35084,7 +35086,7 @@ __120:
 	if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) {
 		goto __121
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76916)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76920)
 	goto balance_cleanup
 __121:
 	;
@@ -35276,7 +35278,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 {
 		if pOther != pCur &&
 			int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID &&
 			(*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage {
-			return Xsqlite3CorruptError(tls, 77146)
+			return Xsqlite3CorruptError(tls, 77150)
 		}
 	}
 	return SQLITE_OK
@@ -35314,7 +35316,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 {
 				break
 			}
 		} else if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) > 1 {
-			rc = Xsqlite3CorruptError(tls, 77206)
+			rc = Xsqlite3CorruptError(tls, 77210)
 		} else {
 			var pParent uintptr = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-1)*8))
 			var iIdx int32 = int32(*(*U16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-1)*2)))
@@ -35420,7 +35422,7 @@ func btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 			return rc
 		}
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
-			rc = Xsqlite3CorruptError(tls, 77370)
+			rc = Xsqlite3CorruptError(tls, 77374)
 		} else {
 			if U32(iOffset)+ovflPageSize < U32(nTotal) {
 				ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -35445,7 +35447,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 
 	if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd ||
 		(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FcellOffset) {
-		return Xsqlite3CorruptError(tls, 77398)
+		return Xsqlite3CorruptError(tls, 77402)
 	}
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
 		return btreeOverwriteContent(tls, pPage, (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX,
@@ -35515,7 +35517,7 @@ __2:
 		goto __3
 	}
 
-	return Xsqlite3CorruptError(tls, 77479)
+	return Xsqlite3CorruptError(tls, 77483)
 __3:
 	;
 __1:
@@ -35628,7 +35630,7 @@ __7:
 		goto __21
 	}
 
-	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77602)
+	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77606)
 	goto __22
 __21:
 	*(*int32)(unsafe.Pointer(bp + 120)) = btreeComputeFreeSpace(tls, pPage)
@@ -35688,6 +35690,7 @@ __30:
 __25:
 	;
 	idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
+	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !(*(*int32)(unsafe.Pointer(bp)) == 0) {
 		goto __31
 	}
@@ -35695,7 +35698,7 @@ __25:
 	if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) {
 		goto __33
 	}
-	return Xsqlite3CorruptError(tls, 77640)
+	return Xsqlite3CorruptError(tls, 77645)
 __33:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage)
@@ -35733,13 +35736,13 @@ __37:
 	if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) {
 		goto __39
 	}
-	return Xsqlite3CorruptError(tls, 77667)
+	return Xsqlite3CorruptError(tls, 77672)
 __39:
 	;
 	if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 124))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __40
 	}
-	return Xsqlite3CorruptError(tls, 77670)
+	return Xsqlite3CorruptError(tls, 77675)
 __40:
 	;
 	libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 124))))
@@ -35770,7 +35773,6 @@ __32:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 124)), uintptr(0), uint32(0))
 
-	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) {
 		goto __44
 	}
@@ -35845,7 +35847,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 	nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
 	aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
 	if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 77773)
+		return Xsqlite3CorruptError(tls, 77777)
 	}
 	nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
 	if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -35870,7 +35872,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 
 		if nRem > nIn {
 			if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-				return Xsqlite3CorruptError(tls, 77798)
+				return Xsqlite3CorruptError(tls, 77802)
 			}
 			ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
 		}
@@ -35971,7 +35973,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 				return *(*int32)(unsafe.Pointer(bp + 24))
 			}
 		} else {
-			return Xsqlite3CorruptError(tls, 77894)
+			return Xsqlite3CorruptError(tls, 77898)
 		}
 	}
 
@@ -35979,11 +35981,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 	iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
-		return Xsqlite3CorruptError(tls, 77903)
+		return Xsqlite3CorruptError(tls, 77907)
 	}
 	pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))))
 	if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 {
-		return Xsqlite3CorruptError(tls, 77907)
+		return Xsqlite3CorruptError(tls, 77911)
 	}
 
 	bPreserve = U8(libc.Bool32(int32(flags)&BTREE_SAVEPOSITION != 0))
@@ -36058,7 +36060,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 		}
 		pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))))
 		if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 {
-			return Xsqlite3CorruptError(tls, 77998)
+			return Xsqlite3CorruptError(tls, 78002)
 		}
 		nCell = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
@@ -36127,7 +36129,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 
 		Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp)
 		if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 78114)
+			return Xsqlite3CorruptError(tls, 78118)
 		}
 		*(*Pgno)(unsafe.Pointer(bp))++
 
@@ -36156,7 +36158,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 			}
 			*(*int32)(unsafe.Pointer(bp + 40)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp)), bp+32, bp+36)
 			if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE {
-				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78162)
+				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78166)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -36232,7 +36234,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 78252)
+	return Xsqlite3CorruptError(tls, 78256)
 __1:
 	;
 	*(*int32)(unsafe.Pointer(bp + 32)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0)
@@ -36246,7 +36248,7 @@ __2:
 		Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) {
 		goto __3
 	}
-	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78259)
+	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78263)
 	goto cleardatabasepage_out
 __3:
 	;
@@ -36380,7 +36382,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3
 	var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt
 
 	if iTable > btreePagecount(tls, pBt) {
-		return Xsqlite3CorruptError(tls, 78363)
+		return Xsqlite3CorruptError(tls, 78367)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 12)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0))
@@ -38850,7 +38852,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32,
 	var rc int32
 	(*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null)
 	if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) {
-		return Xsqlite3CorruptError(tls, 81630)
+		return Xsqlite3CorruptError(tls, 81634)
 	}
 	if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) {
 		rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz)
@@ -39499,7 +39501,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		return Xsqlite3GetVarint32(tls, a, bp)
 	}())
 	if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) {
-		return Xsqlite3CorruptError(tls, 82270)
+		return Xsqlite3CorruptError(tls, 82274)
 	}
 	iField = *(*int32)(unsafe.Pointer(bp))
 	for i = 0; i <= iCol; i++ {
@@ -39514,14 +39516,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		}())
 
 		if iHdr > *(*int32)(unsafe.Pointer(bp)) {
-			return Xsqlite3CorruptError(tls, 82276)
+			return Xsqlite3CorruptError(tls, 82280)
 		}
 		szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4))))
 		iField = iField + szField
 	}
 
 	if iField > nRec {
-		return Xsqlite3CorruptError(tls, 82282)
+		return Xsqlite3CorruptError(tls, 82286)
 	}
 	if pMem == uintptr(0) {
 		pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db))
@@ -41825,7 +41827,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 {
 		return rc
 	}
 	if *(*int32)(unsafe.Pointer(bp)) != 0 {
-		return Xsqlite3CorruptError(tls, 86058)
+		return Xsqlite3CorruptError(tls, 86062)
 	}
 	(*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0)
 	(*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE)
@@ -42376,7 +42378,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		i = 0
 	}
 	if d1 > uint32(nKey1) {
-		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86985))
+		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86989))
 		return 0
 	}
 
@@ -42441,7 +42443,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 
 				if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) ||
 					int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87062))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87066))
 					return 0
 				} else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 {
 					(*Mem)(unsafe.Pointer(bp + 8)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc
@@ -42475,7 +42477,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 				var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2))
 
 				if d1+U32(nStr) > uint32(nKey1) {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87092))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87096))
 					return 0
 				} else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 {
 					if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) {
@@ -42525,7 +42527,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		}
 		idx1 = idx1 + U32(Xsqlite3VarintLen(tls, uint64(*(*U32)(unsafe.Pointer(bp + 64)))))
 		if idx1 >= *(*U32)(unsafe.Pointer(bp + 4)) {
-			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87136))
+			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87140))
 			return 0
 		}
 	}
@@ -42671,7 +42673,7 @@ __5:
 	if !(szHdr+nStr > nKey1) {
 		goto __7
 	}
-	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87299))
+	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87303))
 	return 0
 __7:
 	;
@@ -42842,7 +42844,7 @@ __6:
 idx_rowid_corruption:
 	;
 	Xsqlite3VdbeMemReleaseMalloc(tls, bp)
-	return Xsqlite3CorruptError(tls, 87457)
+	return Xsqlite3CorruptError(tls, 87461)
 }
 
 // Compare the key of the index entry that cursor pC is pointing to against
@@ -42868,7 +42870,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
 
 	if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) {
 		*(*int32)(unsafe.Pointer(res)) = 0
-		return Xsqlite3CorruptError(tls, 87490)
+		return Xsqlite3CorruptError(tls, 87494)
 	}
 	Xsqlite3VdbeMemInit(tls, bp, db, uint16(0))
 	rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp)
@@ -43142,7 +43144,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 {
 		var v uintptr = pStmt
 		var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb
 		if vdbeSafety(tls, v) != 0 {
-			return Xsqlite3MisuseError(tls, 87854)
+			return Xsqlite3MisuseError(tls, 87858)
 		}
 		Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) {
@@ -43757,7 +43759,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 {
 	var db uintptr
 
 	if vdbeSafetyNotNull(tls, v) != 0 {
-		return Xsqlite3MisuseError(tls, 88544)
+		return Xsqlite3MisuseError(tls, 88548)
 	}
 	db = (*Vdbe)(unsafe.Pointer(v)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -44277,7 +44279,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 
 	var pVar uintptr
 	if vdbeSafetyNotNull(tls, p) != 0 {
-		return Xsqlite3MisuseError(tls, 89208)
+		return Xsqlite3MisuseError(tls, 89212)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 	if int32((*Vdbe)(unsafe.Pointer(p)).FeVdbeState) != VDBE_READY_STATE {
@@ -44285,7 +44287,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 		Xsqlite3_log(tls, SQLITE_MISUSE,
 			ts+5357, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql))
-		return Xsqlite3MisuseError(tls, 89216)
+		return Xsqlite3MisuseError(tls, 89220)
 	}
 	if i >= uint32((*Vdbe)(unsafe.Pointer(p)).FnVar) {
 		Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE)
@@ -44690,7 +44692,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89707)
+	rc = Xsqlite3MisuseError(tls, 89711)
 	goto preupdate_old_out
 __1:
 	;
@@ -44834,7 +44836,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89809)
+	rc = Xsqlite3MisuseError(tls, 89813)
 	goto preupdate_new_out
 __1:
 	;
@@ -45278,10 +45280,6 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 {
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Real != 0 {
 			h = h + U64(Xsqlite3VdbeIntValue(tls, p))
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 {
-			h = h + U64((*Mem)(unsafe.Pointer(p)).Fn)
-			if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Zero != 0 {
-				h = h + U64(*(*int32)(unsafe.Pointer(p)))
-			}
 		}
 	}
 	return h
@@ -47929,7 +47927,7 @@ op_column_corrupt:
 	goto __9
 	goto __425
 __424:
-	rc = Xsqlite3CorruptError(tls, 93317)
+	rc = Xsqlite3CorruptError(tls, 93320)
 	goto abort_due_to_error
 __425:
 	;
@@ -49689,7 +49687,7 @@ notExistsWithKey:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) {
 		goto __682
 	}
-	rc = Xsqlite3CorruptError(tls, 95560)
+	rc = Xsqlite3CorruptError(tls, 95563)
 	goto __683
 __682:
 	goto jump_to_p2
@@ -50467,7 +50465,7 @@ __767:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) {
 		goto __770
 	}
-	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96635, ts+5866)
+	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96638, ts+5866)
 	goto abort_due_to_error
 __770:
 	;
@@ -50577,7 +50575,7 @@ __780:
 	if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) {
 		goto __781
 	}
-	rc = Xsqlite3CorruptError(tls, 96840)
+	rc = Xsqlite3CorruptError(tls, 96843)
 	goto abort_due_to_error
 __781:
 	;
@@ -50771,7 +50769,7 @@ __802:
 		goto __803
 	}
 
-	rc = Xsqlite3CorruptError(tls, 97092)
+	rc = Xsqlite3CorruptError(tls, 97095)
 __803:
 	;
 	Xsqlite3DbFreeNN(tls, db, zSql)
@@ -52138,7 +52136,7 @@ __955:
 	if !(rc == SQLITE_IOERR|int32(33)<<8) {
 		goto __957
 	}
-	rc = Xsqlite3CorruptError(tls, 99031)
+	rc = Xsqlite3CorruptError(tls, 99034)
 __957:
 	;
 __956:
@@ -52658,7 +52656,7 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99516)
+		return Xsqlite3MisuseError(tls, 99519)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -52741,7 +52739,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99616)
+		return Xsqlite3MisuseError(tls, 99619)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -56181,14 +56179,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			;
 			Xsqlite3WalkExpr(tls, pWalker, (*Expr)(unsafe.Pointer(pExpr)).FpLeft)
 			if 0 == Xsqlite3ExprCanBeNull(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
-				if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6764
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsTrue)
-				} else {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6769
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
-				}
-				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
+				*(*int32)(unsafe.Pointer(pExpr + 8)) = libc.Bool32(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL)
+				*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IntValue)
+				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_INTEGER)
+
 				i = 0
 				p = pNC
 			__4:
@@ -56232,7 +56226,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_GenCol) != 0 {
-					notValidImpl(tls, pParse, pNC, ts+6775, uintptr(0), pExpr)
+					notValidImpl(tls, pParse, pNC, ts+6764, uintptr(0), pExpr)
 				}
 
 				pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight
@@ -56296,7 +56290,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 						(*Expr)(unsafe.Pointer(pExpr)).FiTable = exprProbability(tls, (*ExprList_item)(unsafe.Pointer(pList+8+1*32)).FpExpr)
 						if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 {
 							Xsqlite3ErrorMsg(tls, pParse,
-								ts+6792, libc.VaList(bp, pExpr))
+								ts+6781, libc.VaList(bp, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
 					} else {
@@ -56312,7 +56306,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 					var auth int32 = Xsqlite3AuthCheck(tls, pParse, SQLITE_FUNCTION, uintptr(0), (*FuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0))
 					if auth != SQLITE_OK {
 						if auth == SQLITE_DENY {
-							Xsqlite3ErrorMsg(tls, pParse, ts+6856,
+							Xsqlite3ErrorMsg(tls, pParse, ts+6845,
 								libc.VaList(bp+8, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
@@ -56326,7 +56320,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				}
 				if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_CONSTANT) == U32(0) {
 					if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_PartIdx|NC_GenCol) != 0 {
-						notValidImpl(tls, pParse, pNC, ts+6892, uintptr(0), pExpr)
+						notValidImpl(tls, pParse, pNC, ts+6881, uintptr(0), pExpr)
 					}
 
 				} else {
@@ -56349,30 +56343,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			if 0 == libc.Bool32(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 				if pDef != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+6920, libc.VaList(bp+16, pExpr))
+						ts+6909, libc.VaList(bp+16, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowAgg == 0 ||
 					is_agg != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) ||
 					is_agg != 0 && pWin != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowWin == 0 {
 					var zType uintptr
 					if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 {
-						zType = ts + 6963
+						zType = ts + 6952
 					} else {
-						zType = ts + 6970
+						zType = ts + 6959
 					}
-					Xsqlite3ErrorMsg(tls, pParse, ts+6980, libc.VaList(bp+24, zType, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6969, libc.VaList(bp+24, zType, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 					is_agg = 0
 				} else if no_such_func != 0 && int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7008, libc.VaList(bp+40, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6997, libc.VaList(bp+40, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if wrong_num_args != 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7030,
+					Xsqlite3ErrorMsg(tls, pParse, ts+7019,
 						libc.VaList(bp+48, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg == 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7074,
+						ts+7063,
 						libc.VaList(bp+56, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				}
@@ -56444,15 +56438,15 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_SelfRef != 0 {
-					notValidImpl(tls, pParse, pNC, ts+7122, pExpr, pExpr)
+					notValidImpl(tls, pParse, pNC, ts+7111, pExpr, pExpr)
 				} else {
 					Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32)))
 				}
 
 				if nRef != (*NameContext)(unsafe.Pointer(pNC)).FnRef {
 					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_VarSelect)
-					*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_VarSelect
 				}
+				*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_Subquery
 			}
 			break
 
@@ -56460,7 +56454,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 	case TK_VARIABLE:
 		{
 			if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IsCheck|NC_PartIdx|NC_IdxExpr|NC_GenCol) != 0 {
-				notValidImpl(tls, pParse, pNC, ts+7133, pExpr, pExpr)
+				notValidImpl(tls, pParse, pNC, ts+7122, pExpr, pExpr)
 			}
 
 			break
@@ -56591,7 +56585,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3
 	defer tls.Free(24)
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+7144, libc.VaList(bp, i, zType, mx))
+		ts+7133, libc.VaList(bp, i, zType, mx))
 	Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pError)
 }
 
@@ -56611,7 +56605,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	}
 	db = (*Parse)(unsafe.Pointer(pParse)).Fdb
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7200, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7189, 0)
 		return 1
 	}
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
@@ -56646,7 +56640,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 			}
 			if Xsqlite3ExprIsInteger(tls, pE, bp+8) != 0 {
 				if *(*int32)(unsafe.Pointer(bp + 8)) <= 0 || *(*int32)(unsafe.Pointer(bp + 8)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr {
-					resolveOutOfRangeError(tls, pParse, ts+7234, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
+					resolveOutOfRangeError(tls, pParse, ts+7223, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
 					return 1
 				}
 			} else {
@@ -56703,7 +56697,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
 		if int32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2) == 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+7240, libc.VaList(bp, i+1))
+				ts+7229, libc.VaList(bp, i+1))
 			return 1
 		}
 	}
@@ -56731,7 +56725,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr,
 		return 0
 	}
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7301, libc.VaList(bp, zType))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7290, libc.VaList(bp, zType))
 		return 1
 	}
 	pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList
@@ -56945,7 +56939,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		*(*int32)(unsafe.Pointer(bp + 40)) |= NC_UEList
 		if (*Select)(unsafe.Pointer(p)).FpHaving != 0 {
 			if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Aggregate) == U32(0) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7332, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+7321, 0)
 				return WRC_Abort
 			}
 			if Xsqlite3ResolveExprNames(tls, bp, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 {
@@ -56985,7 +56979,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 
 		if (*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) &&
 			isCompound <= nCompound &&
-			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7234) != 0 {
+			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7223) != 0 {
 			return WRC_Abort
 		}
 		if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -56996,7 +56990,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		if pGroupBy != 0 {
 			var pItem uintptr
 
-			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7371) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
+			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7360) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 				return WRC_Abort
 			}
 			i = 0
@@ -57008,7 +57002,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 			{
 				if (*Expr)(unsafe.Pointer((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr)).Fflags&U32(EP_Agg) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7377, 0)
+						ts+7366, 0)
 					return WRC_Abort
 				}
 
@@ -57872,7 +57866,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32
 	var mxHeight int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4))
 	if nHeight > mxHeight {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+7436, libc.VaList(bp, mxHeight))
+			ts+7425, libc.VaList(bp, mxHeight))
 		rc = SQLITE_ERROR
 	}
 	return rc
@@ -58121,10 +58115,10 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList
 			nExprElem = 1
 		}
 		if nExprElem != nElem {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7484,
+			Xsqlite3ErrorMsg(tls, pParse, ts+7473,
 				libc.VaList(bp, nExprElem, func() uintptr {
 					if nExprElem > 1 {
-						return ts + 7528
+						return ts + 7517
 					}
 					return ts + 1554
 				}(), nElem))
@@ -58165,7 +58159,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt
 		!(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 		Xsqlite3ExprDeferredDelete(tls, pParse, pLeft)
 		Xsqlite3ExprDeferredDelete(tls, pParse, pRight)
-		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7530)
+		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7519)
 	} else {
 		return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight)
 	}
@@ -58191,7 +58185,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u
 	if pList != 0 &&
 		(*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) &&
 		!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7532, libc.VaList(bp, pToken))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7521, libc.VaList(bp, pToken))
 	}
 	*(*uintptr)(unsafe.Pointer(pNew + 32)) = pList
 	*(*U32)(unsafe.Pointer(pNew + 4)) |= U32(EP_HasFunc)
@@ -58219,7 +58213,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD
 	if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromDDL) != U32(0) {
 		if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_DIRECT) != U32(0) ||
 			(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) == uint64(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7566, libc.VaList(bp, pExpr))
+			Xsqlite3ErrorMsg(tls, pParse, ts+7555, libc.VaList(bp, pExpr))
 		}
 	}
 }
@@ -58266,7 +58260,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 			}
 
 			if bOk == 0 || *(*I64)(unsafe.Pointer(bp + 8)) < int64(1) || *(*I64)(unsafe.Pointer(bp + 8)) > I64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7586,
+				Xsqlite3ErrorMsg(tls, pParse, ts+7575,
 					libc.VaList(bp, *(*int32)(unsafe.Pointer(db + 136 + 9*4))))
 				Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 				return
@@ -58291,7 +58285,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 	}
 	(*Expr)(unsafe.Pointer(pExpr)).FiColumn = x
 	if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7629, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7618, 0)
 		Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 	}
 }
@@ -58866,7 +58860,7 @@ __2:
 	if !(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_SELECT && (*IdList)(unsafe.Pointer(pColumns)).FnId != libc.AssignInt32(&n, Xsqlite3ExprVectorSize(tls, pExpr))) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7652,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7641,
 		libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n))
 	goto vector_append_error
 __3:
@@ -58989,7 +58983,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr,
 	var mx int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4))
 
 	if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7682, libc.VaList(bp, zObject))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7671, libc.VaList(bp, zObject))
 	}
 }
 
@@ -59045,10 +59039,10 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int
 //	  "false"                        EP_IsFalse
 //	  anything else                  0
 func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 {
-	if Xsqlite3StrICmp(tls, zIn, ts+6764) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7694) == 0 {
 		return U32(EP_IsTrue)
 	}
-	if Xsqlite3StrICmp(tls, zIn, ts+6769) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7699) == 0 {
 		return U32(EP_IsFalse)
 	}
 	return U32(0)
@@ -60122,7 +60116,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 {
 	}
 	if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
-		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7530)
+		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7519)
 		if pLimit != 0 {
 			(*Expr)(unsafe.Pointer(pLimit)).FaffExpr = uint8(SQLITE_AFF_NUMERIC)
 			pLimit = Xsqlite3PExpr(tls, pParse, TK_NE,
@@ -60560,6 +60554,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr
 func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) {
 	var iAddr int32
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
+	var nErr int32 = (*Parse)(unsafe.Pointer(pParse)).FnErr
 
 	if (*Parse)(unsafe.Pointer(pParse)).FiSelfTab > 0 {
 		iAddr = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Parse)(unsafe.Pointer(pParse)).FiSelfTab-1, 0, regOut)
@@ -60573,6 +60568,9 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr
 	if iAddr != 0 {
 		Xsqlite3VdbeJumpHere(tls, v, iAddr)
 	}
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr > nErr {
+		(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FerrByteOffset = -1
+	}
 }
 
 // Generate code to extract the value of the iCol-th column of a table.
@@ -60791,6 +60789,7 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 	var p uintptr
 	var v uintptr
 	for p = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr; p != 0; p = (*IndexedExpr)(unsafe.Pointer(p)).FpIENext {
+		var exprAff U8
 		var iDataCur int32 = (*IndexedExpr)(unsafe.Pointer(p)).FiDataCur
 		if iDataCur < 0 {
 			continue
@@ -60804,6 +60803,14 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 		if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IndexedExpr)(unsafe.Pointer(p)).FpExpr, iDataCur) != 0 {
 			continue
 		}
+
+		exprAff = Xsqlite3ExprAffinity(tls, pExpr)
+		if int32(exprAff) <= SQLITE_AFF_BLOB && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_BLOB ||
+			int32(exprAff) == SQLITE_AFF_TEXT && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_TEXT ||
+			int32(exprAff) >= SQLITE_AFF_NUMERIC && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_NUMERIC {
+			continue
+		}
+
 		v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 
 		if (*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow != 0 {
@@ -61577,7 +61584,7 @@ __121:
 	if !((*Expr)(unsafe.Pointer(pExpr)).FiTable != n1) {
 		goto __122
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7652,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7641,
 		libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1))
 __122:
 	;
@@ -61599,11 +61606,10 @@ __49:
 	return target
 
 __50:
-	if !(!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) &&
-		(*Expr)(unsafe.Pointer(pExpr)).FpLeft != 0 &&
-		int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_FUNCTION) {
+	if !!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) {
 		goto __123
 	}
+
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	if !(inReg != target) {
 		goto __125
@@ -61674,13 +61680,19 @@ __129:
 	;
 __127:
 	;
-	addrINR = Xsqlite3VdbeAddOp1(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable)
+	addrINR = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable, 0, target)
 
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = U8(0)
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = okConstFactor
+	if !(inReg != target) {
+		goto __130
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, inReg, target)
+	inReg = target
+__130:
+	;
 	Xsqlite3VdbeJumpHere(tls, v, addrINR)
-	Xsqlite3VdbeChangeP3(tls, v, addrINR, inReg)
 	goto __5
 
 __56:
@@ -61693,15 +61705,15 @@ __56:
 	nExpr = (*ExprList)(unsafe.Pointer(pEList)).FnExpr
 	endLabel = Xsqlite3VdbeMakeLabel(tls, pParse)
 	if !(libc.AssignUintptr(&pX, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) != uintptr(0)) {
-		goto __130
+		goto __131
 	}
 	pDel = Xsqlite3ExprDup(tls, db1, pX, 0)
 	if !((*Sqlite3)(unsafe.Pointer(db1)).FmallocFailed != 0) {
-		goto __131
+		goto __132
 	}
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	goto __5
-__131:
+__132:
 	;
 	exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+40))
 
@@ -61711,22 +61723,22 @@ __131:
 	pTest = bp + 120
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = 0
-__130:
+__131:
 	;
 	i1 = 0
-__132:
+__133:
 	if !(i1 < nExpr-1) {
-		goto __134
+		goto __135
 	}
 	if !(pX != 0) {
-		goto __135
+		goto __136
 	}
 
 	(*Expr)(unsafe.Pointer(bp + 120)).FpRight = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
-	goto __136
-__135:
-	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+	goto __137
 __136:
+	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+__137:
 	;
 	nextCase = Xsqlite3VdbeMakeLabel(tls, pParse)
 
@@ -61735,21 +61747,21 @@ __136:
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(aListelem+uintptr(i1+1)*32)).FpExpr, target)
 	Xsqlite3VdbeGoto(tls, v, endLabel)
 	Xsqlite3VdbeResolveLabel(tls, v, nextCase)
-	goto __133
-__133:
-	i1 = i1 + 2
-	goto __132
 	goto __134
 __134:
+	i1 = i1 + 2
+	goto __133
+	goto __135
+__135:
 	;
 	if !(nExpr&1 != 0) {
-		goto __137
+		goto __138
 	}
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(pEList+8+uintptr(nExpr-1)*32)).FpExpr, target)
-	goto __138
-__137:
-	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+	goto __139
 __138:
+	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+__139:
 	;
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	setDoNotMergeFlagOnCopy(tls, v)
@@ -61759,27 +61771,27 @@ __138:
 __57:
 	;
 	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).FpTriggerTab) != 0) && !(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0)) {
-		goto __139
+		goto __140
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
 		ts+8082, 0)
 	return 0
-__139:
-	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
-		goto __140
-	}
-	Xsqlite3MayAbort(tls, pParse)
 __140:
 	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
 		goto __141
 	}
+	Xsqlite3MayAbort(tls, pParse)
+__141:
+	;
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+		goto __142
+	}
 	Xsqlite3VdbeAddOp4(tls,
 		v, OP_Halt, SQLITE_OK, OE_Ignore, 0, *(*uintptr)(unsafe.Pointer(pExpr + 8)), 0)
 
-	goto __142
-__141:
+	goto __143
+__142:
 	Xsqlite3HaltConstraint(tls, pParse,
 		func() int32 {
 			if (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab != 0 {
@@ -61788,7 +61800,7 @@ __141:
 			return SQLITE_ERROR
 		}(),
 		int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr), *(*uintptr)(unsafe.Pointer(pExpr + 8)), int8(0), uint8(0))
-__142:
+__143:
 	;
 	goto __5
 
@@ -64456,7 +64468,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 		return SQLITE_NOMEM
 	}
 	if Xsqlite3_strnicmp(tls, zSql, ts+10922, 7) != 0 {
-		return Xsqlite3CorruptError(tls, 113494)
+		return Xsqlite3CorruptError(tls, 113516)
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 {
 		if bTemp != 0 {
@@ -64473,7 +64485,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 	}
 	if rc == SQLITE_OK &&
 		((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
-		rc = Xsqlite3CorruptError(tls, 113505)
+		rc = Xsqlite3CorruptError(tls, 113527)
 	}
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
@@ -65394,7 +65406,7 @@ __1:
 		goto __2
 	}
 
-	rc = Xsqlite3CorruptError(tls, 114441)
+	rc = Xsqlite3CorruptError(tls, 114463)
 	goto drop_column_done
 __2:
 	;
@@ -69757,6 +69769,12 @@ __10:
 
 	pExpr = Xsqlite3PExpr(tls, pParse, TK_UPLUS, pExpr, uintptr(0))
 __11:
+	;
+	if !(pExpr != 0 && int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_RAISE) {
+		goto __12
+	}
+	(*Expr)(unsafe.Pointer(pExpr)).FaffExpr = (*Column)(unsafe.Pointer(pCol)).Faffinity
+__12:
 	;
 	Xsqlite3ColumnSetExpr(tls, pParse, pTab, pCol, pExpr)
 	pExpr = uintptr(0)
@@ -70922,7 +70940,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 {
 		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3286, 4) == 0 {
 			return 0
 		}
-		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7133, 10) == 0 {
+		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7122, 10) == 0 {
 			return 0
 		}
 		return 1
@@ -72168,7 +72186,7 @@ __81:
 		goto __101
 	}
 	Xsqlite3ErrorMsg(tls, pParse, ts+14140, 0)
-	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121835)
+	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121859)
 	goto exit_create_index
 __101:
 	;
@@ -74213,7 +74231,7 @@ __20:
 	goto __16
 __15:
 	wcf = U16(WHERE_ONEPASS_DESIRED | WHERE_DUPLICATES_OK)
-	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_VarSelect != 0) {
+	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_Subquery != 0) {
 		goto __23
 	}
 	bComplex = 1
@@ -80681,7 +80699,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca
 	if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) {
 		goto __1
 	}
-	return Xsqlite3MisuseError(tls, 131895)
+	return Xsqlite3MisuseError(tls, 131931)
 __1:
 	;
 	if !(zSql == uintptr(0)) {
@@ -82080,7 +82098,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh
 		} else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) {
 			zType = ts + 17513
 		} else {
-			zType = ts + 7528
+			zType = ts + 7517
 		}
 		Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17515,
 			libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin,
@@ -82241,6 +82259,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p
 	var zErr2 uintptr
 	var k3 int32
 	var pCheck uintptr
+	var jmp7 int32
 	var jmp6 int32
 	var iCol1 int32
 	var uniqOk int32
@@ -83559,7 +83578,7 @@ __215:
 		goto __217
 	}
 	pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7528, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7517, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
 	goto __216
 __216:
 	j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext
@@ -83575,7 +83594,7 @@ __218:
 	if !(i6 < int32(uint64(unsafe.Sizeof(aPragmaName))/uint64(unsafe.Sizeof(PragmaName{})))) {
 		goto __220
 	}
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7528, libc.VaList(bp+272, aPragmaName[i6].FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7517, libc.VaList(bp+272, aPragmaName[i6].FzName))
 	goto __219
 __219:
 	i6++
@@ -84380,80 +84399,94 @@ __344:
 	jmp4 = integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, jmp21)
 
+	if !((*Table)(unsafe.Pointer(pTab9)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) {
+		goto __345
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_IdxRowid, *(*int32)(unsafe.Pointer(bp + 616))+j4, 3)
+	jmp7 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 3, 0, r1+int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)-1)
+
+	Xsqlite3VdbeLoadString(tls, v, 3,
+		ts+17929)
+	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17965)
+	Xsqlite3VdbeGoto(tls, v, jmp5-1)
+	Xsqlite3VdbeJumpHere(tls, v, jmp7)
+__345:
+	;
 	label6 = 0
 	kk = 0
-__345:
+__346:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __347
-	}
-	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __348
 	}
-	goto __346
-__348:
-	;
-	if !(label6 == 0) {
+	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __349
 	}
-	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+	goto __347
 __349:
+	;
+	if !(label6 == 0) {
+		goto __350
+	}
+	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+__350:
 	;
 	Xsqlite3VdbeAddOp3(tls, v, OP_Column, *(*int32)(unsafe.Pointer(bp + 616))+j4, kk, 3)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Ne, 3, label6, r1+kk)
-	goto __346
-__346:
-	kk++
-	goto __345
 	goto __347
 __347:
+	kk++
+	goto __346
+	goto __348
+__348:
 	;
 	if !(label6 != 0) {
-		goto __350
+		goto __351
 	}
 	jmp6 = Xsqlite3VdbeAddOp0(tls, v, OP_Goto)
 	Xsqlite3VdbeResolveLabel(tls, v, label6)
 	Xsqlite3VdbeLoadString(tls, v, 3, ts+17903)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
-	Xsqlite3VdbeLoadString(tls, v, 4, ts+17929)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17976)
 	Xsqlite3VdbeGoto(tls, v, jmp5-1)
 	Xsqlite3VdbeJumpHere(tls, v, jmp6)
-__350:
+__351:
 	;
 	if !(int32((*Index)(unsafe.Pointer(pIdx5)).FonError) != OE_None) {
-		goto __351
+		goto __352
 	}
 	uniqOk = Xsqlite3VdbeMakeLabel(tls, pParse)
 	kk = 0
-__352:
+__353:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __354
+		goto __355
 	}
 	iCol1 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2)))
 
 	if !(iCol1 >= 0 && uint32(int32(*(*uint8)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*24 + 8))&0xf>>0)) != 0) {
-		goto __355
+		goto __356
 	}
-	goto __353
-__355:
+	goto __354
+__356:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_IsNull, r1+kk, uniqOk)
 
-	goto __353
-__353:
-	kk++
-	goto __352
 	goto __354
 __354:
+	kk++
+	goto __353
+	goto __355
+__355:
 	;
 	jmp61 = Xsqlite3VdbeAddOp1(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 616))+j4)
 	Xsqlite3VdbeGoto(tls, v, uniqOk)
 	Xsqlite3VdbeJumpHere(tls, v, jmp61)
 	Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, *(*int32)(unsafe.Pointer(bp + 616))+j4, uniqOk, r1,
 		int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol))
-	Xsqlite3VdbeLoadString(tls, v, 3, ts+17956)
+	Xsqlite3VdbeLoadString(tls, v, 3, ts+18003)
 	Xsqlite3VdbeGoto(tls, v, jmp5)
 	Xsqlite3VdbeResolveLabel(tls, v, uniqOk)
-__351:
+__352:
 	;
 	Xsqlite3VdbeJumpHere(tls, v, jmp4)
 	Xsqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 632)))
@@ -84470,20 +84503,20 @@ __340:
 	Xsqlite3VdbeAddOp2(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 612)), loopTop)
 	Xsqlite3VdbeJumpHere(tls, v, loopTop-1)
 	if !!(isQuick != 0) {
-		goto __356
+		goto __357
 	}
-	Xsqlite3VdbeLoadString(tls, v, 2, ts+17983)
+	Xsqlite3VdbeLoadString(tls, v, 2, ts+18030)
 	j4 = 0
 	pIdx5 = (*Table)(unsafe.Pointer(pTab9)).FpIndex
-__357:
+__358:
 	if !(pIdx5 != 0) {
-		goto __359
-	}
-	if !(pPk1 == pIdx5) {
 		goto __360
 	}
-	goto __358
-__360:
+	if !(pPk1 == pIdx5) {
+		goto __361
+	}
+	goto __359
+__361:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_Count, *(*int32)(unsafe.Pointer(bp + 616))+j4, 3)
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 8+j4, 0, 3)
@@ -84492,21 +84525,21 @@ __360:
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 2, 3)
 	integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
-	goto __358
-__358:
-	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
-	j4++
-	goto __357
 	goto __359
 __359:
+	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
+	j4++
+	goto __358
+	goto __360
+__360:
 	;
 	if !(pPk1 != 0) {
-		goto __361
+		goto __362
 	}
 	Xsqlite3ReleaseTempRange(tls, pParse, r2, int32((*Index)(unsafe.Pointer(pPk1)).FnKeyCol))
-__361:
+__362:
 	;
-__356:
+__357:
 	;
 	goto __291
 __291:
@@ -84524,14 +84557,14 @@ __266:
 	;
 	aOp2 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(endCode))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&endCode)), iLn5)
 	if !(aOp2 != 0) {
-		goto __362
+		goto __363
 	}
 	(*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = 1 - *(*int32)(unsafe.Pointer(bp + 608))
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1)
-	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 18012
+	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 18059
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 5*24)).Fp4type = int8(-1)
 	*(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT)
-__362:
+__363:
 	;
 	Xsqlite3VdbeChangeP3(tls, v, 0, Xsqlite3VdbeCurrentAddr(tls, v)-2)
 
@@ -84539,27 +84572,27 @@ __362:
 
 __45:
 	if !!(zRight != 0) {
-		goto __363
+		goto __364
 	}
 	if !(Xsqlite3ReadSchema(tls, pParse) != 0) {
-		goto __365
-	}
-	goto pragma_out
-__365:
-	;
-	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
-	goto __364
-__363:
-	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
 		goto __366
 	}
+	goto pragma_out
+__366:
+	;
+	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
+	goto __365
+__364:
+	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
+		goto __367
+	}
 	pEnc = uintptr(unsafe.Pointer(&encnames1))
-__367:
+__368:
 	if !((*EncName)(unsafe.Pointer(pEnc)).FzName != 0) {
-		goto __369
+		goto __370
 	}
 	if !(0 == Xsqlite3StrICmp(tls, zRight, (*EncName)(unsafe.Pointer(pEnc)).FzName)) {
-		goto __370
+		goto __371
 	}
 	if (*EncName)(unsafe.Pointer(pEnc)).Fenc != 0 {
 		enc = (*EncName)(unsafe.Pointer(pEnc)).Fenc
@@ -84568,25 +84601,25 @@ __367:
 	}
 	(*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema)).Fenc = enc
 	Xsqlite3SetTextEncoding(tls, db, enc)
-	goto __369
-__370:
-	;
-	goto __368
-__368:
-	pEnc += 16
-	goto __367
-	goto __369
-__369:
-	;
-	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
-		goto __371
-	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18015, libc.VaList(bp+456, zRight))
+	goto __370
 __371:
 	;
-__366:
+	goto __369
+__369:
+	pEnc += 16
+	goto __368
+	goto __370
+__370:
 	;
-__364:
+	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
+		goto __372
+	}
+	Xsqlite3ErrorMsg(tls, pParse, ts+18062, libc.VaList(bp+456, zRight))
+__372:
+	;
+__367:
+	;
+__365:
 	;
 	goto __15
 
@@ -84594,15 +84627,15 @@ __46:
 	iCookie = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiArg)
 	Xsqlite3VdbeUsesBtree(tls, v, iDb)
 	if !(zRight != 0 && int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_ReadOnly == 0) {
-		goto __372
+		goto __373
 	}
 
 	aOp3 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(setCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&setCookie)), 0)
 	if !(0 != 0) {
-		goto __374
+		goto __375
 	}
 	goto __15
-__374:
+__375:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp3)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp1 = iDb
@@ -84610,41 +84643,41 @@ __374:
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp3 = Xsqlite3Atoi(tls, zRight)
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp5 = U16(1)
 	if !(iCookie == BTREE_SCHEMA_VERSION && (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0)) {
-		goto __375
+		goto __376
 	}
 
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fopcode = U8(OP_Noop)
-__375:
+__376:
 	;
-	goto __373
-__372:
+	goto __374
+__373:
 	;
 	aOp4 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(readCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&readCookie)), 0)
 	if !(0 != 0) {
-		goto __376
+		goto __377
 	}
 	goto __15
-__376:
+__377:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp4)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp3 = iCookie
 	Xsqlite3VdbeReusable(tls, v)
-__373:
+__374:
 	;
 	goto __15
 
 __47:
 	i10 = 0
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 1
-__377:
+__378:
 	if !(libc.AssignUintptr(&zOpt, Xsqlite3_compileoption_get(tls, libc.PostIncInt32(&i10, 1))) != uintptr(0)) {
-		goto __378
+		goto __379
 	}
 	Xsqlite3VdbeLoadString(tls, v, 1, zOpt)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1)
-	goto __377
-__378:
+	goto __378
+__379:
 	;
 	Xsqlite3VdbeReusable(tls, v)
 
@@ -84659,31 +84692,31 @@ __48:
 	}()
 	eMode2 = SQLITE_CHECKPOINT_PASSIVE
 	if !(zRight != 0) {
-		goto __379
-	}
-	if !(Xsqlite3StrICmp(tls, zRight, ts+17345) == 0) {
 		goto __380
 	}
+	if !(Xsqlite3StrICmp(tls, zRight, ts+17345) == 0) {
+		goto __381
+	}
 	eMode2 = SQLITE_CHECKPOINT_FULL
-	goto __381
-__380:
-	if !(Xsqlite3StrICmp(tls, zRight, ts+18040) == 0) {
-		goto __382
+	goto __382
+__381:
+	if !(Xsqlite3StrICmp(tls, zRight, ts+18087) == 0) {
+		goto __383
 	}
 	eMode2 = SQLITE_CHECKPOINT_RESTART
-	goto __383
-__382:
+	goto __384
+__383:
 	if !(Xsqlite3StrICmp(tls, zRight, ts+17498) == 0) {
-		goto __384
+		goto __385
 	}
 	eMode2 = SQLITE_CHECKPOINT_TRUNCATE
+__385:
+	;
 __384:
 	;
-__383:
+__382:
 	;
-__381:
-	;
-__379:
+__380:
 	;
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 3
 	Xsqlite3VdbeAddOp3(tls, v, OP_Checkpoint, iBt, eMode2, 1)
@@ -84693,10 +84726,10 @@ __379:
 
 __49:
 	if !(zRight != 0) {
-		goto __385
+		goto __386
 	}
 	Xsqlite3_wal_autocheckpoint(tls, db, Xsqlite3Atoi(tls, zRight))
-__385:
+__386:
 	;
 	returnSingleInt(tls, v,
 		func() int64 {
@@ -84716,19 +84749,19 @@ __50:
 
 __51:
 	if !(zRight != 0) {
-		goto __386
+		goto __387
 	}
 	opMask = U32(Xsqlite3Atoi(tls, zRight))
 	if !(opMask&U32(0x02) == U32(0)) {
-		goto __388
+		goto __389
 	}
 	goto __15
-__388:
+__389:
 	;
-	goto __387
-__386:
-	opMask = U32(0xfffe)
+	goto __388
 __387:
+	opMask = U32(0xfffe)
+__388:
 	;
 	iTabCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1)
 	iDbLast = func() int32 {
@@ -84737,86 +84770,86 @@ __387:
 		}
 		return (*Sqlite3)(unsafe.Pointer(db)).FnDb - 1
 	}()
-__389:
+__390:
 	if !(iDb <= iDbLast) {
-		goto __391
-	}
-	if !(iDb == 1) {
 		goto __392
 	}
-	goto __390
-__392:
+	if !(iDb == 1) {
+		goto __393
+	}
+	goto __391
+__393:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
 	pSchema = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema
 	k4 = (*Hash)(unsafe.Pointer(pSchema + 8)).Ffirst
-__393:
+__394:
 	if !(k4 != 0) {
-		goto __395
+		goto __396
 	}
 	pTab10 = (*HashElem)(unsafe.Pointer(k4)).Fdata
 
 	if !((*Table)(unsafe.Pointer(pTab10)).FtabFlags&U32(TF_StatsUsed) == U32(0)) {
-		goto __396
+		goto __397
 	}
-	goto __394
-__396:
+	goto __395
+__397:
 	;
 	szThreshold = LogEst(int32((*Table)(unsafe.Pointer(pTab10)).FnRowLogEst) + 46)
 	pIdx6 = (*Table)(unsafe.Pointer(pTab10)).FpIndex
-__397:
+__398:
 	if !(pIdx6 != 0) {
-		goto __399
-	}
-	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
 		goto __400
 	}
+	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
+		goto __401
+	}
 	szThreshold = int16(0)
-	goto __399
-__400:
+	goto __400
+__401:
 	;
-	goto __398
-__398:
-	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
-	goto __397
 	goto __399
 __399:
+	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
+	goto __398
+	goto __400
+__400:
 	;
 	if !(szThreshold != 0) {
-		goto __401
+		goto __402
 	}
 	Xsqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab10, OP_OpenRead)
 	Xsqlite3VdbeAddOp3(tls, v, OP_IfSmaller, iTabCur,
 		int32(U32(Xsqlite3VdbeCurrentAddr(tls, v)+2)+opMask&U32(1)), int32(szThreshold))
 
-__401:
+__402:
 	;
-	zSubSql = Xsqlite3MPrintf(tls, db, ts+18048,
+	zSubSql = Xsqlite3MPrintf(tls, db, ts+18095,
 		libc.VaList(bp+464, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab10)).FzName))
 	if !(opMask&U32(0x01) != 0) {
-		goto __402
+		goto __403
 	}
 	r11 = Xsqlite3GetTempReg(tls, pParse)
 	Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, r11, 0, zSubSql, -6)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, r11, 1)
-	goto __403
-__402:
-	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+	goto __404
 __403:
+	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+__404:
 	;
-	goto __394
-__394:
-	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
-	goto __393
 	goto __395
 __395:
+	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
+	goto __394
+	goto __396
+__396:
 	;
-	goto __390
-__390:
-	iDb++
-	goto __389
 	goto __391
 __391:
+	iDb++
+	goto __390
+	goto __392
+__392:
 	;
 	Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
 	goto __15
@@ -84824,36 +84857,36 @@ __391:
 __52:
 	;
 	if !(zRight != 0) {
-		goto __404
+		goto __405
 	}
 	Xsqlite3_busy_timeout(tls, db, Xsqlite3Atoi(tls, zRight))
-__404:
+__405:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout))
 	goto __15
 
 __53:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+640) == SQLITE_OK) {
-		goto __405
+		goto __406
 	}
 	Xsqlite3_soft_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 640)))
-__405:
+__406:
 	;
 	returnSingleInt(tls, v, Xsqlite3_soft_heap_limit64(tls, int64(-1)))
 	goto __15
 
 __54:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+648) == SQLITE_OK) {
-		goto __406
+		goto __407
 	}
 	iPrior = Xsqlite3_hard_heap_limit64(tls, int64(-1))
 	if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 648)) > int64(0) && (iPrior == int64(0) || iPrior > *(*Sqlite3_int64)(unsafe.Pointer(bp + 648)))) {
-		goto __407
+		goto __408
 	}
 	Xsqlite3_hard_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 648)))
-__407:
+__408:
 	;
-__406:
+__407:
 	;
 	returnSingleInt(tls, v, Xsqlite3_hard_heap_limit64(tls, int64(-1)))
 	goto __15
@@ -84862,10 +84895,10 @@ __55:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+656) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 656)) >= int64(0)) {
-		goto __408
+		goto __409
 	}
 	Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 656))&int64(0x7fffffff)))
-__408:
+__409:
 	;
 	returnSingleInt(tls, v, int64(Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, -1)))
 	goto __15
@@ -84874,10 +84907,10 @@ __56:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+664) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 664)) >= int64(0)) {
-		goto __409
+		goto __410
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 664)) & int64(0x7fffffff))
-__409:
+__410:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit))
 	goto __15
@@ -84885,10 +84918,10 @@ __409:
 __15:
 	;
 	if !(int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_NoColumns1 != 0 && zRight != 0) {
-		goto __410
+		goto __411
 	}
 
-__410:
+__411:
 	;
 pragma_out:
 	Xsqlite3DbFree(tls, db, zLeft)
@@ -84940,14 +84973,14 @@ var endCode = [7]VdbeOpList{
 	{Fopcode: U8(OP_Goto), Fp2: int8(3)},
 }
 var encnames1 = [9]EncName{
-	{FzName: ts + 18066, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18071, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18077, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18086, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18095, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18103, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18111},
-	{FzName: ts + 18118},
+	{FzName: ts + 18113, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18118, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18124, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18133, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18142, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18150, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18158},
+	{FzName: ts + 18165},
 	{},
 }
 var setCookie = [2]VdbeOpList{
@@ -84999,7 +85032,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	_ = argc
 	_ = argv
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), bp+64, int32(unsafe.Sizeof([200]uint8{})), 0)
-	Xsqlite3_str_appendall(tls, bp+32, ts+18124)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18171)
 	i = 0
 	j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName)
 __1:
@@ -85007,7 +85040,7 @@ __1:
 		goto __3
 	}
 	{
-		Xsqlite3_str_appendf(tls, bp+32, ts+18139, libc.VaList(bp, int32(cSep), pragCName[j]))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18186, libc.VaList(bp, int32(cSep), pragCName[j]))
 		cSep = uint8(',')
 
 	}
@@ -85020,16 +85053,16 @@ __2:
 __3:
 	;
 	if i == 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18146, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18193, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
 		i++
 	}
 	j = 0
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_Result1 != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18152)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18199)
 		j++
 	}
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(PragFlg_SchemaOpt|PragFlg_SchemaReq) != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18164)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18211)
 		j++
 	}
 	Xsqlite3_str_append(tls, bp+32, ts+4957, 1)
@@ -85212,13 +85245,13 @@ __2:
 __3:
 	;
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4)))
-	Xsqlite3_str_appendall(tls, bp+32, ts+18179)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18226)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18187, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18234, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
 	}
 	Xsqlite3_str_appendall(tls, bp+32, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18191, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18238, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
 	}
 	zSql = Xsqlite3StrAccumFinish(tls, bp+32)
 	if zSql == uintptr(0) {
@@ -85295,12 +85328,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 	} else if *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) != uintptr(0) {
 	} else if (*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask) != 0 {
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db,
-			ts+18195, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
+			ts+18242, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
 				azAlterType[(*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask)-U32(1)],
 				zExtra))
 		(*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR
 	} else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137196)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137249)
 	} else {
 		var z uintptr
 		var zObj uintptr
@@ -85309,19 +85342,19 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 		} else {
 			zObj = ts + 5008
 		}
-		z = Xsqlite3MPrintf(tls, db, ts+18223, libc.VaList(bp+32, zObj))
+		z = Xsqlite3MPrintf(tls, db, ts+18270, libc.VaList(bp+32, zObj))
 		if zExtra != 0 && *(*uint8)(unsafe.Pointer(zExtra)) != 0 {
-			z = Xsqlite3MPrintf(tls, db, ts+18254, libc.VaList(bp+40, z, zExtra))
+			z = Xsqlite3MPrintf(tls, db, ts+18301, libc.VaList(bp+40, z, zExtra))
 		}
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137203)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137256)
 	}
 }
 
 var azAlterType = [3]uintptr{
-	ts + 18262,
-	ts + 18269,
-	ts + 18281,
+	ts + 18309,
+	ts + 18316,
+	ts + 18328,
 }
 
 // Check to see if any sibling index (another index on the same table)
@@ -85413,7 +85446,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr
 		var pIndex uintptr
 		pIndex = Xsqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName)
 		if pIndex == uintptr(0) {
-			corruptSchema(tls, pData, argv, ts+18292)
+			corruptSchema(tls, pData, argv, ts+18339)
 		} else if Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2) ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage ||
@@ -85461,7 +85494,7 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl
 	}())
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 16 + 1*8))
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 3*8)) = ts + 7938
-	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18305
+	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18352
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 5*8)) = uintptr(0)
 	(*InitData)(unsafe.Pointer(bp + 64)).Fdb = db
 	(*InitData)(unsafe.Pointer(bp + 64)).FiDb = iDb
@@ -85590,7 +85623,7 @@ __18:
 	if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) {
 		goto __19
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+18377)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+18424)
 	rc = SQLITE_ERROR
 	goto initone_error_out
 __19:
@@ -85604,7 +85637,7 @@ __20:
 	(*InitData)(unsafe.Pointer(bp + 64)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt)
 
 	zSql = Xsqlite3MPrintf(tls, db,
-		ts+18401,
+		ts+18448,
 		libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zSchemaTabName))
 
 	xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth
@@ -85936,7 +85969,7 @@ __4:
 		goto __8
 	}
 	zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName
-	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18435, libc.VaList(bp, zDb))
+	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18482, libc.VaList(bp, zDb))
 
 	goto end_prepare
 __8:
@@ -85966,7 +85999,7 @@ __9:
 	if !(nBytes > mxLen) {
 		goto __12
 	}
-	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18465, 0)
+	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18512, 0)
 	rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG)
 	goto end_prepare
 __12:
@@ -86062,7 +86095,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 137995)
+		return Xsqlite3MisuseError(tls, 138048)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	Xsqlite3BtreeEnterAll(tls, db)
@@ -86161,7 +86194,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 138143)
+		return Xsqlite3MisuseError(tls, 138196)
 	}
 	if nBytes >= 0 {
 		var sz int32
@@ -86488,13 +86521,13 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC
 			zSp2++
 		}
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+18484, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
+			ts+18531, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
 		jointype = JT_INNER
 	}
 	return jointype
 }
 
-var zKeyText = *(*[34]uint8)(unsafe.Pointer(ts + 18514))
+var zKeyText = *(*[34]uint8)(unsafe.Pointer(ts + 18561))
 var aKeyword = [7]struct {
 	Fi     U8
 	FnChar U8
@@ -86669,7 +86702,7 @@ __1:
 			var pUsing uintptr = uintptr(0)
 			if uint32(int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+18548, libc.VaList(bp, 0))
+					ts+18595, libc.VaList(bp, 0))
 				return 1
 			}
 			for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ {
@@ -86714,7 +86747,7 @@ __1:
 					tableAndColumnIndex(tls, pSrc, 0, i, zName, bp+24, bp+28,
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) == 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+18598, libc.VaList(bp+8, zName))
+						ts+18645, libc.VaList(bp+8, zName))
 					return 1
 				}
 				pE1 = Xsqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 28)))
@@ -86725,7 +86758,7 @@ __1:
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) != 0 {
 						if int32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 60 + 4))&0x400>>10) == 0 ||
 							Xsqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 72)), zName) < 0 {
-							Xsqlite3ErrorMsg(tls, pParse, ts+18662,
+							Xsqlite3ErrorMsg(tls, pParse, ts+18709,
 								libc.VaList(bp+16, zName))
 							break
 						}
@@ -87353,16 +87386,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr {
 	var z uintptr
 	switch id {
 	case TK_ALL:
-		z = ts + 18699
+		z = ts + 18746
 		break
 	case TK_INTERSECT:
-		z = ts + 18709
+		z = ts + 18756
 		break
 	case TK_EXCEPT:
-		z = ts + 18719
+		z = ts + 18766
 		break
 	default:
-		z = ts + 18726
+		z = ts + 18773
 		break
 	}
 	return z
@@ -87372,7 +87405,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18732, libc.VaList(bp, zUsage))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18779, libc.VaList(bp, zUsage))
 }
 
 func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) {
@@ -87398,9 +87431,9 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n
 	var nRefKey int32 = 0
 	var aOutEx uintptr = (*Select)(unsafe.Pointer(p)).FpEList + 8
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18755, libc.VaList(bp, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18802, libc.VaList(bp, func() uintptr {
 		if (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 {
-			return ts + 18786
+			return ts + 18833
 		}
 		return ts + 1554
 	}()))
@@ -87744,7 +87777,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr)
 		} else {
 			var z uintptr = (*ExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32)).FzEName
 			if z == uintptr(0) {
-				z = Xsqlite3MPrintf(tls, db, ts+18801, libc.VaList(bp+16, i+1))
+				z = Xsqlite3MPrintf(tls, db, ts+18848, libc.VaList(bp+16, i+1))
 			} else {
 				z = Xsqlite3DbStrDup(tls, db, z)
 			}
@@ -87844,7 +87877,7 @@ __1:
 		if zName != 0 && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) {
 			zName = Xsqlite3DbStrDup(tls, db, zName)
 		} else {
-			zName = Xsqlite3MPrintf(tls, db, ts+18801, libc.VaList(bp, i+1))
+			zName = Xsqlite3MPrintf(tls, db, ts+18848, libc.VaList(bp, i+1))
 		}
 
 		*(*U32)(unsafe.Pointer(bp + 56)) = U32(0)
@@ -87860,7 +87893,7 @@ __1:
 					nName = j
 				}
 			}
-			zName = Xsqlite3MPrintf(tls, db, ts+18810, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
+			zName = Xsqlite3MPrintf(tls, db, ts+18857, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
 			Xsqlite3ProgressCheck(tls, pParse)
 			if *(*U32)(unsafe.Pointer(bp + 56)) > U32(3) {
 				Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56)
@@ -87943,8 +87976,6 @@ __1:
 		(*Column)(unsafe.Pointer(pCol)).Faffinity = Xsqlite3ExprAffinity(tls, p)
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) <= SQLITE_AFF_NONE {
 			(*Column)(unsafe.Pointer(pCol)).Faffinity = aff
-		} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
-			(*Column)(unsafe.Pointer(pCol)).Faffinity = uint8(SQLITE_AFF_FLEXNUM)
 		}
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_TEXT && (*Select)(unsafe.Pointer(pSelect)).FpNext != 0 {
 			var m int32 = 0
@@ -87959,12 +87990,15 @@ __1:
 			} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && m&0x02 != 0 {
 				(*Column)(unsafe.Pointer(pCol)).Faffinity = uint8(SQLITE_AFF_BLOB)
 			}
+			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
+				(*Column)(unsafe.Pointer(pCol)).Faffinity = uint8(SQLITE_AFF_FLEXNUM)
+			}
 		}
 		zType = columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0))
 		if zType == uintptr(0) || int32((*Column)(unsafe.Pointer(pCol)).Faffinity) != int32(Xsqlite3AffinityType(tls, zType, uintptr(0))) {
 			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_NUMERIC ||
 				int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_FLEXNUM {
-				zType = ts + 18818
+				zType = ts + 18865
 			} else {
 				zType = uintptr(0)
 				for j = 1; j < SQLITE_N_STDTYPE; j++ {
@@ -88180,7 +88214,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest
 	if !((*Select)(unsafe.Pointer(p)).FpWin != 0) {
 		goto __1
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18822, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18869, 0)
 	return
 __1:
 	;
@@ -88271,7 +88305,7 @@ __12:
 	if !((*Select)(unsafe.Pointer(pFirstRec)).FselFlags&U32(SF_Aggregate) != 0) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18871, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18918, 0)
 	goto end_of_recursive_query
 __15:
 	;
@@ -88291,7 +88325,7 @@ __14:
 	;
 	pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18913, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18960, 0)
 	rc = Xsqlite3Select(tls, pParse, pSetup, bp)
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = p
 	if !(rc != 0) {
@@ -88328,7 +88362,7 @@ __20:
 	Xsqlite3VdbeResolveLabel(tls, v, addrCont)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18919, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18966, 0)
 	Xsqlite3Select(tls, pParse, p, bp)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup
@@ -88362,11 +88396,11 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 		p = (*Select)(unsafe.Pointer(p)).FpPrior
 		nRow = nRow + bShowAll
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18934, libc.VaList(bp, nRow, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18981, libc.VaList(bp, nRow, func() uintptr {
 		if nRow == 1 {
 			return ts + 1554
 		}
-		return ts + 18957
+		return ts + 19004
 	}()))
 	for p != 0 {
 		selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1)
@@ -88467,8 +88501,8 @@ __6:
 	if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) {
 		goto __8
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18959, 0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18974, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19006, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19021, 0)
 __8:
 	;
 	switch int32((*Select)(unsafe.Pointer(p)).Fop) {
@@ -88515,7 +88549,7 @@ __16:
 	;
 __15:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18699, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18746, 0)
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+16)
 
@@ -88582,7 +88616,7 @@ __23:
 	pLimit = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 64)).FeDest = op
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18993, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19040, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+64)
 
@@ -88644,7 +88678,7 @@ __26:
 	pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 104)).FiSDParm = tab2
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18993, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19040, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+104)
 
@@ -88797,10 +88831,10 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr)
 	defer tls.Free(8)
 
 	if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Values) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19014, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+19061, 0)
 	} else {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+19060,
+			ts+19107,
 			libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 	}
 }
@@ -89054,8 +89088,8 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	(*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0)
 
 	(*Select)(unsafe.Pointer(pPrior)).FpOrderBy = Xsqlite3ExprListDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7234)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7234)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7223)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7223)
 
 	computeLimitRegisters(tls, pParse, p, labelEnd)
 	if (*Select)(unsafe.Pointer(p)).FiLimit != 0 && op == TK_ALL {
@@ -89082,13 +89116,13 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	Xsqlite3SelectDestInit(tls, bp+8, SRT_Coroutine, regAddrA)
 	Xsqlite3SelectDestInit(tls, bp+48, SRT_Coroutine, regAddrB)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19142, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19189, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	addrSelectA = Xsqlite3VdbeCurrentAddr(tls, v) + 1
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA)
 
 	(*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19153, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19200, 0)
 	Xsqlite3Select(tls, pParse, pPrior, bp+8)
 	Xsqlite3VdbeEndCoroutine(tls, v, regAddrA)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
@@ -89100,7 +89134,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset
 	(*Select)(unsafe.Pointer(p)).FiLimit = regLimitB
 	(*Select)(unsafe.Pointer(p)).FiOffset = 0
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19158, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19205, 0)
 	Xsqlite3Select(tls, pParse, p, bp+48)
 	(*Select)(unsafe.Pointer(p)).FiLimit = savedLimit
 	(*Select)(unsafe.Pointer(p)).FiOffset = savedOffset
@@ -89288,7 +89322,8 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr {
 				Xsqlite3VectorErrorMsg(tls, (*SubstContext)(unsafe.Pointer(pSubst)).FpParse, pCopy)
 			} else {
 				var db uintptr = (*Parse)(unsafe.Pointer((*SubstContext)(unsafe.Pointer(pSubst)).FpParse)).Fdb
-				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 && int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN {
+				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 &&
+					(int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN || (*Expr)(unsafe.Pointer(pCopy)).FiTable != (*SubstContext)(unsafe.Pointer(pSubst)).FiNewTable) {
 					libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(Expr{})))
 					(*Expr)(unsafe.Pointer(bp)).Fop = U8(TK_IF_NULL_ROW)
 					(*Expr)(unsafe.Pointer(bp)).FpLeft = pCopy
@@ -90187,7 +90222,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	for pIdx = (*Table)(unsafe.Pointer(pTab)).FpIndex; pIdx != 0 && Xsqlite3StrICmp(tls, (*Index)(unsafe.Pointer(pIdx)).FzName, zIndexedBy) != 0; pIdx = (*Index)(unsafe.Pointer(pIdx)).FpNext {
 	}
 	if !(pIdx != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19164, libc.VaList(bp, zIndexedBy, 0))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19211, libc.VaList(bp, zIndexedBy, 0))
 		(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 		return SQLITE_ERROR
 	}
@@ -90270,7 +90305,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 {
 	defer tls.Free(8)
 
 	if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19182, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19229, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
 		return 1
 	}
 	return 0
@@ -90399,7 +90434,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		*(*U32)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= U32(SF_CopyCte)
 
 		if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19205, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
+			Xsqlite3ErrorMsg(tls, pParse, ts+19252, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
 			return 2
 		}
 		libc.SetBitFieldPtr16Uint32(pFrom+60+4, uint32(1), 8, 0x100)
@@ -90422,7 +90457,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 					libc.SetBitFieldPtr16Uint32(pItem+60+4, uint32(1), 6, 0x40)
 					if (*Select)(unsafe.Pointer(pRecTerm)).FselFlags&U32(SF_Recursive) != 0 {
 						Xsqlite3ErrorMsg(tls, pParse,
-							ts+19225, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
+							ts+19272, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
 						return 2
 					}
 					*(*U32)(unsafe.Pointer(pRecTerm + 4)) |= U32(SF_Recursive)
@@ -90438,7 +90473,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 			pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior
 		}
 
-		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19268
+		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19315
 		pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith
 		(*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 48))
 		if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
@@ -90464,7 +90499,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		pEList = (*Select)(unsafe.Pointer(pLeft)).FpEList
 		if (*Cte)(unsafe.Pointer(pCte)).FpCols != 0 {
 			if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr != (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19291,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19338,
 					libc.VaList(bp+24, (*Cte)(unsafe.Pointer(pCte)).FzName, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr))
 				(*Parse)(unsafe.Pointer(pParse)).FpWith = pSavedWith
 				return 2
@@ -90475,9 +90510,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		Xsqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8)
 		if bMayRecursive != 0 {
 			if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19329
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19376
 			} else {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19363
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19410
 			}
 			Xsqlite3WalkSelect(tls, pWalker, pSel)
 		}
@@ -90524,7 +90559,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	if (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 {
 		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3DbStrDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias)
 	} else {
-		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19401, libc.VaList(bp, pFrom))
+		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19448, libc.VaList(bp, pFrom))
 	}
 	for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 {
 		pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior
@@ -90636,7 +90671,7 @@ __1:
 				return WRC_Abort
 			}
 			if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19405,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19452,
 					libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 				(*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0)
 				return WRC_Abort
@@ -90655,7 +90690,7 @@ __1:
 				if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW {
 					if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) &&
 						(*Table)(unsafe.Pointer(pTab)).FpSchema != (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19444,
+						Xsqlite3ErrorMsg(tls, pParse, ts+19491,
 							libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName))
 					}
 					(*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, *(*uintptr)(unsafe.Pointer(pTab + 64)), 0)
@@ -90779,7 +90814,7 @@ __3:
 							if pNew != 0 {
 								var pX uintptr = pNew + 8 + uintptr((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1)*32
 
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19475, libc.VaList(bp+24, zUName))
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19522, libc.VaList(bp+24, zUName))
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(ENAME_TAB), 0, 0x3)
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(1), 7, 0x80)
 							}
@@ -90844,7 +90879,7 @@ __3:
 								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(pNestedFrom+8+uintptr(j)*32)).FzEName)
 
 							} else {
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19480,
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19527,
 									libc.VaList(bp+32, zSchemaName, zTabName, zName))
 
 							}
@@ -90875,9 +90910,9 @@ __3:
 				;
 				if !(tableSeen != 0) {
 					if zTName != 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19489, libc.VaList(bp+72, zTName))
+						Xsqlite3ErrorMsg(tls, pParse, ts+19536, libc.VaList(bp+72, zTName))
 					} else {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19507, 0)
+						Xsqlite3ErrorMsg(tls, pParse, ts+19554, 0)
 					}
 				}
 			}
@@ -90887,7 +90922,7 @@ __3:
 	}
 	if (*Select)(unsafe.Pointer(p)).FpEList != 0 {
 		if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19527, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+19574, 0)
 			return WRC_Abort
 		}
 		if elistFlags&U32(EP_HasFunc|EP_Subquery) != U32(0) {
@@ -91025,7 +91060,7 @@ func optimizeAggregateUseOfIndexedExpr(tls *libc.TLS, pParse uintptr, pSelect ui
 	(*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn = (*AggInfo)(unsafe.Pointer(pAggInfo)).FnAccumulator
 	if int32((*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn) > 0 {
 		if (*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn == 0 {
-			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(0)
+			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpGroupBy)).FnExpr)
 		} else {
 			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(int32((*AggInfo_col)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaCol+uintptr((*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn-1)*24)).FiSorterColumn) + 1)
 		}
@@ -91109,13 +91144,13 @@ __1:
 
 			if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != 1 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+19558, 0)
+					ts+19605, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1
 			} else {
 				var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral,
 					(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -8)
-				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19609, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
+				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19656, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
 			}
 		}
 
@@ -91304,11 +91339,11 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt
 
 	if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 {
 		var bCover int32 = libc.Bool32(pIdx != uintptr(0) && ((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0) || !(int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY)))
-		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19642,
+		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19689,
 			libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName,
 				func() uintptr {
 					if bCover != 0 {
-						return ts + 19654
+						return ts + 19701
 					}
 					return ts + 1554
 				}(),
@@ -91636,7 +91671,7 @@ __5:
 		goto __7
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+19677,
+		ts+19724,
 		libc.VaList(bp, func() uintptr {
 			if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 {
 				return (*SrcItem)(unsafe.Pointer(p0)).FzAlias
@@ -91697,7 +91732,7 @@ __14:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19731,
+	Xsqlite3ErrorMsg(tls, pParse, ts+19778,
 		libc.VaList(bp+8, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr))
 	goto select_end
 __15:
@@ -91839,7 +91874,7 @@ __33:
 
 	(*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19771, libc.VaList(bp+32, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19818, libc.VaList(bp+32, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	libc.SetBitFieldPtr16Uint32(pItem1+60+4, uint32(1), 5, 0x20)
@@ -91898,7 +91933,7 @@ __43:
 	;
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19786, libc.VaList(bp+40, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19833, libc.VaList(bp+40, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	if !(onceAddr != 0) {
@@ -92369,9 +92404,9 @@ __101:
 	explainTempTable(tls, pParse,
 		func() uintptr {
 			if (*DistinctCtx)(unsafe.Pointer(bp+136)).FisTnct != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct) == U32(0) {
-				return ts + 19802
+				return ts + 19849
 			}
-			return ts + 19811
+			return ts + 19858
 		}())
 
 	groupBySort = 1
@@ -92722,7 +92757,7 @@ __65:
 	if !(int32((*DistinctCtx)(unsafe.Pointer(bp+136)).FeTnctType) == WHERE_DISTINCT_UNORDERED) {
 		goto __146
 	}
-	explainTempTable(tls, pParse, ts+19802)
+	explainTempTable(tls, pParse, ts+19849)
 __146:
 	;
 	if !((*SortCtx)(unsafe.Pointer(bp+48)).FpOrderBy != 0) {
@@ -92827,7 +92862,7 @@ __5:
 	}
 	Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg)
 	(*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+19820, 0)
+		ts+19867, 0)
 	(*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 	return 1
 __11:
@@ -93060,7 +93095,7 @@ func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2
 	if !((*Token)(unsafe.Pointer(pName2)).Fn > uint32(0)) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19885, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19932, 0)
 	goto trigger_cleanup
 __3:
 	;
@@ -93104,7 +93139,7 @@ __7:
 	goto trigger_cleanup
 __8:
 	;
-	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+19931, *(*uintptr)(unsafe.Pointer(bp + 32)))
+	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+19978, *(*uintptr)(unsafe.Pointer(bp + 32)))
 	if !(Xsqlite3FixSrcList(tls, bp+40, pTableName) != 0) {
 		goto __9
 	}
@@ -93122,7 +93157,7 @@ __10:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB) {
 		goto __11
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19939, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19986, 0)
 	goto trigger_orphan_error
 __11:
 	;
@@ -93134,7 +93169,7 @@ __11:
 	goto trigger_cleanup
 __12:
 	;
-	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19931, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
+	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19978, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
 		goto __13
 	}
 	goto trigger_cleanup
@@ -93149,11 +93184,12 @@ __13:
 	if !!(noErr != 0) {
 		goto __16
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19980, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20027, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
 	goto __17
 __16:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
+
 __17:
 	;
 	goto trigger_cleanup
@@ -93164,19 +93200,19 @@ __14:
 	if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+6381, 7) == 0) {
 		goto __18
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20006, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20053, 0)
 	goto trigger_cleanup
 __18:
 	;
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW && tr_tm != TK_INSTEAD) {
 		goto __19
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20044,
+	Xsqlite3ErrorMsg(tls, pParse, ts+20091,
 		libc.VaList(bp+8, func() uintptr {
 			if tr_tm == TK_BEFORE {
-				return ts + 20081
+				return ts + 20128
 			}
-			return ts + 20088
+			return ts + 20135
 		}(), pTableName+8))
 	goto trigger_orphan_error
 __19:
@@ -93185,7 +93221,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20094, libc.VaList(bp+24, pTableName+8))
+		ts+20141, libc.VaList(bp+24, pTableName+8))
 	goto trigger_orphan_error
 __20:
 	;
@@ -93334,7 +93370,7 @@ __2:
 __3:
 	;
 	Xsqlite3TokenInit(tls, bp+56, (*Trigger)(unsafe.Pointer(pTrig)).FzName)
-	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+19931, bp+56)
+	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+19978, bp+56)
 	if !(Xsqlite3FixTriggerStep(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 ||
 		Xsqlite3FixExpr(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0) {
 		goto __4
@@ -93367,7 +93403,7 @@ __9:
 		goto __12
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20140,
+		ts+20187,
 		libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrig)).FzName, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget))
 	goto triggerfinish_cleanup
 __12:
@@ -93392,13 +93428,13 @@ __13:
 	z = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pAll)).Fz, uint64((*Token)(unsafe.Pointer(pAll)).Fn))
 
 	Xsqlite3NestedParse(tls, pParse,
-		ts+20188,
+		ts+20235,
 		libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName,
 			(*Trigger)(unsafe.Pointer(pTrig)).Ftable, z))
 	Xsqlite3DbFree(tls, db, z)
 	Xsqlite3ChangeCookie(tls, pParse, iDb)
 	Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb,
-		Xsqlite3MPrintf(tls, db, ts+20263, libc.VaList(bp+48, zName)), uint16(0))
+		Xsqlite3MPrintf(tls, db, ts+20310, libc.VaList(bp+48, zName)), uint16(0))
 __7:
 	;
 __6:
@@ -93654,7 +93690,7 @@ __5:
 	if !!(noErr != 0) {
 		goto __9
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20292, libc.VaList(bp, pName+8))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20339, libc.VaList(bp, pName+8))
 	goto __10
 __9:
 	Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb)
@@ -93707,7 +93743,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) {
 
 	if libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse)) != uintptr(0) {
 		Xsqlite3NestedParse(tls, pParse,
-			ts+20312,
+			ts+20359,
 			libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Trigger)(unsafe.Pointer(pTrigger)).FzName))
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 		Xsqlite3VdbeAddOp4(tls, v, OP_DropTrigger, iDb, 0, 0, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, 0)
@@ -93821,12 +93857,12 @@ __9:
 		goto __15
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20374,
+		ts+20421,
 		libc.VaList(bp, func() uintptr {
 			if op == TK_DELETE {
-				return ts + 20422
+				return ts + 20469
 			}
-			return ts + 20429
+			return ts + 20476
 		}()))
 __15:
 	;
@@ -93940,7 +93976,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 {
 	if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK {
 		return 0
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20436, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20483, 0)
 	return 1
 }
 
@@ -94006,7 +94042,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab
 	}
 	Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(bp)).FpEList)
 	pNew = sqlite3ExpandReturning(tls, pParse, (*Returning)(unsafe.Pointer(pReturning)).FpReturnEL, pTab)
-	if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) {
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 {
 		libc.Xmemset(tls, bp+240, 0, uint64(unsafe.Sizeof(NameContext{})))
 		if (*Returning)(unsafe.Pointer(pReturning)).FnRetCol == 0 {
 			(*Returning)(unsafe.Pointer(pReturning)).FnRetCol = (*ExprList)(unsafe.Pointer(pNew)).FnExpr
@@ -94170,7 +94206,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt
 	if v != 0 {
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 {
 			Xsqlite3VdbeChangeP4(tls, v, -1,
-				Xsqlite3MPrintf(tls, db, ts+20478, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
+				Xsqlite3MPrintf(tls, db, ts+20525, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
 		}
 
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FpWhen != 0 {
@@ -94763,7 +94799,7 @@ __25:
 	}
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20492,
+		ts+20539,
 		libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*24)).FzCnName))
 	goto update_cleanup
 __27:
@@ -94795,7 +94831,7 @@ __21:
 	iRowidExpr = i
 	goto __30
 __29:
-	Xsqlite3ErrorMsg(tls, pParse, ts+20528, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20575, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
 	(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 	goto update_cleanup
 __30:
@@ -95121,7 +95157,12 @@ __74:
 	goto __77
 __76:
 	flags = WHERE_ONEPASS_DESIRED
-	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) && !(pTrigger != 0) && !(hasFK != 0) && !(chngKey != 0) && !(*(*int32)(unsafe.Pointer(bp + 104)) != 0)) {
+	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) &&
+		!(pTrigger != 0) &&
+		!(hasFK != 0) &&
+		!(chngKey != 0) &&
+		!(*(*int32)(unsafe.Pointer(bp + 104)) != 0) &&
+		(*NameContext)(unsafe.Pointer(bp+40)).FncFlags&NC_Subquery == 0) {
 		goto __78
 	}
 	flags = flags | WHERE_ONEPASS_MULTIROW
@@ -95675,7 +95716,7 @@ __168:
 	if !(regRowCount != 0) {
 		goto __169
 	}
-	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20547)
+	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20594)
 __169:
 	;
 update_cleanup:
@@ -95981,10 +96022,10 @@ __1:
 			if nClause == 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) {
 				*(*uint8)(unsafe.Pointer(bp + 216)) = uint8(0)
 			} else {
-				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]uint8{})), bp+216, ts+20560, libc.VaList(bp, nClause+1))
+				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]uint8{})), bp+216, ts+20607, libc.VaList(bp, nClause+1))
 			}
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+20564, libc.VaList(bp+8, bp+216))
+				ts+20611, libc.VaList(bp+8, bp+216))
 			return SQLITE_ERROR
 		}
 
@@ -96107,7 +96148,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 {
 		var zSubSql uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
 
 		if zSubSql != 0 &&
-			(libc.Xstrncmp(tls, zSubSql, ts+20637, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20641, uint64(3)) == 0) {
+			(libc.Xstrncmp(tls, zSubSql, ts+20684, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20688, uint64(3)) == 0) {
 			rc = execSql(tls, db, pzErrMsg, zSubSql)
 			if rc != SQLITE_OK {
 				break
@@ -96255,14 +96296,14 @@ func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p
 	if !!(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) {
 		goto __1
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20645)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20692)
 	return SQLITE_ERROR
 __1:
 	;
 	if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) {
 		goto __2
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20685)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20732)
 	return SQLITE_ERROR
 __2:
 	;
@@ -96273,7 +96314,7 @@ __2:
 	if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) {
 		goto __5
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20728)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20775)
 	return SQLITE_ERROR
 __5:
 	;
@@ -96301,7 +96342,7 @@ __4:
 	isMemDb = Xsqlite3PagerIsMemdb(tls, Xsqlite3BtreePager(tls, pMain))
 
 	nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb
-	rc = execSqlF(tls, db, pzErrMsg, ts+20746, libc.VaList(bp, zOut))
+	rc = execSqlF(tls, db, pzErrMsg, ts+20793, libc.VaList(bp, zOut))
 	(*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags
 	if !(rc != SQLITE_OK) {
 		goto __6
@@ -96321,7 +96362,7 @@ __6:
 		goto __8
 	}
 	rc = SQLITE_ERROR
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20769)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20816)
 	goto end_of_vacuum
 __8:
 	;
@@ -96381,7 +96422,7 @@ __12:
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb)
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20796,
+		ts+20843,
 		libc.VaList(bp+8, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __13
@@ -96390,7 +96431,7 @@ __12:
 __13:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20904,
+		ts+20951,
 		libc.VaList(bp+16, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __14
@@ -96401,7 +96442,7 @@ __14:
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
 
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20958,
+		ts+21005,
 		libc.VaList(bp+24, zDbMain))
 
 	*(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))
@@ -96412,7 +96453,7 @@ __14:
 __15:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+21109,
+		ts+21156,
 		libc.VaList(bp+32, zDbMain))
 	if !(rc != 0) {
 		goto __16
@@ -96841,11 +96882,11 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		if pEnd != 0 {
 			(*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32((int64((*Token)(unsafe.Pointer(pEnd)).Fz)-int64((*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz))/1)) + (*Token)(unsafe.Pointer(pEnd)).Fn
 		}
-		zStmt = Xsqlite3MPrintf(tls, db, ts+21239, libc.VaList(bp, pParse+272))
+		zStmt = Xsqlite3MPrintf(tls, db, ts+21286, libc.VaList(bp, pParse+272))
 
 		iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema)
 		Xsqlite3NestedParse(tls, pParse,
-			ts+21263,
+			ts+21310,
 			libc.VaList(bp+8, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
@@ -96855,7 +96896,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 
 		Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
-		zWhere = Xsqlite3MPrintf(tls, db, ts+21362, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
+		zWhere = Xsqlite3MPrintf(tls, db, ts+21409, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
 		Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0))
 		Xsqlite3DbFree(tls, db, zStmt)
 
@@ -96916,7 +96957,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	for pCtx = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx; pCtx != 0; pCtx = (*VtabCtx)(unsafe.Pointer(pCtx)).FpPrior {
 		if (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db,
-				ts+21381, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
+				ts+21428, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 			return SQLITE_LOCKED
 		}
 	}
@@ -96944,9 +96985,11 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FbDeclared = 0
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32
+	(*Table)(unsafe.Pointer(pTab)).FnTabRef++
 	rc = (*struct {
 		f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32
 	})(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+64)
+	Xsqlite3DeleteTable(tls, db, pTab)
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior
 	if rc == SQLITE_NOMEM {
 		Xsqlite3OomFault(tls, db)
@@ -96954,7 +96997,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 
 	if SQLITE_OK != rc {
 		if *(*uintptr)(unsafe.Pointer(bp + 64)) == uintptr(0) {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21423, libc.VaList(bp+8, zModuleName))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21470, libc.VaList(bp+8, zModuleName))
 		} else {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+3663, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64))))
 			Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
@@ -96966,7 +97009,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 		(*Module)(unsafe.Pointer(pMod)).FnRefModule++
 		(*VTable)(unsafe.Pointer(pVTable)).FnRef = 1
 		if (*VtabCtx)(unsafe.Pointer(bp+32)).FbDeclared == 0 {
-			var zFormat uintptr = ts + 21453
+			var zFormat uintptr = ts + 21500
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName))
 			Xsqlite3VtabUnlock(tls, pVTable)
 			rc = SQLITE_ERROR
@@ -97040,7 +97083,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32
 
 	if !(pMod != 0) {
 		var zModule uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pTab + 64 + 8))))
-		Xsqlite3ErrorMsg(tls, pParse, ts+21499, libc.VaList(bp, zModule))
+		Xsqlite3ErrorMsg(tls, pParse, ts+21546, libc.VaList(bp, zModule))
 		rc = SQLITE_ERROR
 	} else {
 		*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
@@ -97098,7 +97141,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr,
 	pMod = Xsqlite3HashFind(tls, db+576, zMod)
 
 	if pMod == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21499, libc.VaList(bp, zMod))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21546, libc.VaList(bp, zMod))
 		rc = SQLITE_ERROR
 	} else {
 		rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr)
@@ -97132,7 +97175,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3
 	if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
 		Xsqlite3Error(tls, db, SQLITE_MISUSE)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
-		return Xsqlite3MisuseError(tls, 151030)
+		return Xsqlite3MisuseError(tls, 151102)
 	}
 	pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab
 
@@ -97585,7 +97628,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	if !(p != 0) {
-		rc = Xsqlite3MisuseError(tls, 151521)
+		rc = Xsqlite3MisuseError(tls, 151593)
 	} else {
 		ap = va
 		switch op {
@@ -97612,7 +97655,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 			fallthrough
 		default:
 			{
-				rc = Xsqlite3MisuseError(tls, 151539)
+				rc = Xsqlite3MisuseError(tls, 151611)
 				break
 
 			}
@@ -97843,7 +97886,7 @@ type InLoop = struct {
 func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr {
 	i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2)))
 	if i == -2 {
-		return ts + 21518
+		return ts + 21565
 	}
 	if i == -1 {
 		return ts + 16267
@@ -97855,11 +97898,11 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	var i int32
 
 	if bAnd != 0 {
-		Xsqlite3_str_append(tls, pStr, ts+21525, 5)
+		Xsqlite3_str_append(tls, pStr, ts+21572, 5)
 	}
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21531, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21578, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97874,7 +97917,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	Xsqlite3_str_append(tls, pStr, zOp, 1)
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21531, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21578, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97900,27 +97943,27 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) {
 	if int32(nEq) == 0 && (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT|WHERE_TOP_LIMIT) == U32(0) {
 		return
 	}
-	Xsqlite3_str_append(tls, pStr, ts+21533, 2)
+	Xsqlite3_str_append(tls, pStr, ts+21580, 2)
 	for i = 0; i < int32(nEq); i++ {
 		var z uintptr = explainIndexColumnName(tls, pIndex, i)
 		if i != 0 {
-			Xsqlite3_str_append(tls, pStr, ts+21525, 5)
+			Xsqlite3_str_append(tls, pStr, ts+21572, 5)
 		}
 		Xsqlite3_str_appendf(tls, pStr, func() uintptr {
 			if i >= int32(nSkip) {
-				return ts + 21536
+				return ts + 21583
 			}
-			return ts + 21541
+			return ts + 21588
 		}(), libc.VaList(bp, z))
 	}
 
 	j = i
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21549)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21596)
 		i = 1
 	}
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_TOP_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21551)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21598)
 	}
 	Xsqlite3_str_append(tls, pStr, ts+4957, 1)
 }
@@ -97963,11 +98006,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 
 		Xsqlite3StrAccumInit(tls, bp+64, db, bp+96, int32(unsafe.Sizeof([100]uint8{})), SQLITE_MAX_LENGTH)
 		(*StrAccum)(unsafe.Pointer(bp + 64)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-		Xsqlite3_str_appendf(tls, bp+64, ts+21553, libc.VaList(bp, func() uintptr {
+		Xsqlite3_str_appendf(tls, bp+64, ts+21600, libc.VaList(bp, func() uintptr {
 			if isSearch != 0 {
-				return ts + 21559
+				return ts + 21606
 			}
-			return ts + 21566
+			return ts + 21613
 		}(), pItem))
 		if flags&U32(WHERE_IPK|WHERE_VIRTUALTABLE) == U32(0) {
 			var zFmt uintptr = uintptr(0)
@@ -97980,40 +98023,40 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 					zFmt = ts + 10976
 				}
 			} else if flags&U32(WHERE_PARTIALIDX) != 0 {
-				zFmt = ts + 21571
+				zFmt = ts + 21618
 			} else if flags&U32(WHERE_AUTO_INDEX) != 0 {
-				zFmt = ts + 21604
+				zFmt = ts + 21651
 			} else if flags&U32(WHERE_IDX_ONLY) != 0 {
-				zFmt = ts + 21629
+				zFmt = ts + 21676
 			} else {
-				zFmt = ts + 21647
+				zFmt = ts + 21694
 			}
 			if zFmt != 0 {
-				Xsqlite3_str_append(tls, bp+64, ts+21656, 7)
+				Xsqlite3_str_append(tls, bp+64, ts+21703, 7)
 				Xsqlite3_str_appendf(tls, bp+64, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName))
 				explainIndexRange(tls, bp+64, pLoop)
 			}
 		} else if flags&U32(WHERE_IPK) != U32(0) && flags&U32(WHERE_CONSTRAINT) != U32(0) {
 			var cRangeOp uint8
 			var zRowid uintptr = ts + 16267
-			Xsqlite3_str_appendf(tls, bp+64, ts+21664, libc.VaList(bp+24, zRowid))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21711, libc.VaList(bp+24, zRowid))
 			if flags&U32(WHERE_COLUMN_EQ|WHERE_COLUMN_IN) != 0 {
 				cRangeOp = uint8('=')
 			} else if flags&U32(WHERE_BOTH_LIMIT) == U32(WHERE_BOTH_LIMIT) {
-				Xsqlite3_str_appendf(tls, bp+64, ts+21695, libc.VaList(bp+32, zRowid))
+				Xsqlite3_str_appendf(tls, bp+64, ts+21742, libc.VaList(bp+32, zRowid))
 				cRangeOp = uint8('<')
 			} else if flags&U32(WHERE_BTM_LIMIT) != 0 {
 				cRangeOp = uint8('>')
 			} else {
 				cRangeOp = uint8('<')
 			}
-			Xsqlite3_str_appendf(tls, bp+64, ts+21705, libc.VaList(bp+40, int32(cRangeOp)))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21752, libc.VaList(bp+40, int32(cRangeOp)))
 		} else if flags&U32(WHERE_VIRTUALTABLE) != U32(0) {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21710,
+			Xsqlite3_str_appendf(tls, bp+64, ts+21757,
 				libc.VaList(bp+48, *(*int32)(unsafe.Pointer(pLoop + 24)), *(*uintptr)(unsafe.Pointer(pLoop + 24 + 16))))
 		}
 		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&JT_LEFT != 0 {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21737, 0)
+			Xsqlite3_str_appendf(tls, bp+64, ts+21784, 0)
 		}
 		zMsg = Xsqlite3StrAccumFinish(tls, bp+64)
 
@@ -98045,22 +98088,22 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp
 
 	Xsqlite3StrAccumInit(tls, bp+24, db, bp+56, int32(unsafe.Sizeof([100]uint8{})), SQLITE_MAX_LENGTH)
 	(*StrAccum)(unsafe.Pointer(bp + 24)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-	Xsqlite3_str_appendf(tls, bp+24, ts+21748, libc.VaList(bp, pItem))
+	Xsqlite3_str_appendf(tls, bp+24, ts+21795, libc.VaList(bp, pItem))
 	pLoop = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_IPK) != 0 {
 		var pTab uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FpTab
 		if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21536, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21583, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
 		} else {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21769, 0)
+			Xsqlite3_str_appendf(tls, bp+24, ts+21816, 0)
 		}
 	} else {
 		for i = int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip); i < int32(*(*U16)(unsafe.Pointer(pLoop + 24))); i++ {
 			var z uintptr = explainIndexColumnName(tls, *(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)), i)
 			if i > int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip) {
-				Xsqlite3_str_append(tls, bp+24, ts+21525, 5)
+				Xsqlite3_str_append(tls, bp+24, ts+21572, 5)
 			}
-			Xsqlite3_str_appendf(tls, bp+24, ts+21536, libc.VaList(bp+16, z))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21583, libc.VaList(bp+16, z))
 		}
 	}
 	Xsqlite3_str_append(tls, bp+24, ts+4957, 1)
@@ -99657,7 +99700,7 @@ __134:
 	;
 __126:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21777, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21824, 0)
 	ii = 0
 __135:
 	if !(ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm) {
@@ -99685,7 +99728,7 @@ __139:
 	pOrExpr = pAndExpr
 __140:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21792, libc.VaList(bp, ii+1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21839, libc.VaList(bp, ii+1))
 
 	pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0),
 		uint16(WHERE_OR_SUBCLAUSE), iCovCur)
@@ -100203,7 +100246,7 @@ func Xsqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
 	var mAll Bitmask = uint64(0)
 	var k int32
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21801, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21848, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
 
 	for k = 0; k < iLevel; k++ {
 		var iIdxCur int32
@@ -100564,7 +100607,7 @@ var aOp = [4]Op2{
 	{FzOp: ts + 16116, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)},
 	{FzOp: ts + 15447, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)},
 	{FzOp: ts + 14967, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)},
-	{FzOp: ts + 21815, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
+	{FzOp: ts + 21862, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
 }
 
 func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) {
@@ -101054,12 +101097,12 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			extraRight = x - uint64(1)
 
 			if prereqAll>>1 >= x {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21822, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21869, 0)
 				return
 			}
 		} else if prereqAll>>1 >= x {
 			if (*SrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*SrcItem)(unsafe.Pointer(pSrc+8)).Ffg.Fjointype)&JT_LTORJ != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21822, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21869, 0)
 				return
 			}
 			*(*U32)(unsafe.Pointer(pExpr + 4)) &= libc.Uint32FromInt32(libc.CplInt32(EP_InnerON))
@@ -101138,7 +101181,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_OuterON) != U32(0)) &&
 			0 == Xsqlite3ExprCanBeNull(tls, pLeft) {
 			(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
-			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6769
+			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 7699
 			*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0)
@@ -101232,7 +101275,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 		}
 		zCollSeqName = func() uintptr {
 			if *(*int32)(unsafe.Pointer(bp + 20)) != 0 {
-				return ts + 21863
+				return ts + 21910
 			}
 			return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))
 		}()
@@ -101608,7 +101651,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 			k++
 		}
 		if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21870,
+			Xsqlite3ErrorMsg(tls, pParse, ts+21917,
 				libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j))
 			return
 		}
@@ -101624,7 +101667,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 		pRhs = Xsqlite3PExpr(tls, pParse, TK_UPLUS,
 			Xsqlite3ExprDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*ExprList_item)(unsafe.Pointer(pArgs+8+uintptr(j)*32)).FpExpr, 0), uintptr(0))
 		pTerm = Xsqlite3PExpr(tls, pParse, TK_EQ, pColRef, pRhs)
-		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ) != 0 {
+		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ|JT_RIGHT) != 0 {
 			joinType = U32(EP_OuterON)
 		} else {
 			joinType = U32(EP_InnerON)
@@ -102342,7 +102385,7 @@ __4:
 		goto __6
 	}
 	Xsqlite3_log(tls, SQLITE_WARNING|int32(1)<<8,
-		ts+21906, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
+		ts+21953, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
 			(*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*24)).FzCnName))
 	sentWarning = U8(1)
 __6:
@@ -102413,7 +102456,7 @@ __13:
 __14:
 	;
 	*(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)) = pIdx
-	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21932
+	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21979
 	(*Index)(unsafe.Pointer(pIdx)).FpTable = pTable
 	n = 0
 	idxCols = uint64(0)
@@ -102587,6 +102630,10 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 	var pLoop uintptr = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	var iCur int32
+	var saved_pIdxEpr uintptr
+
+	saved_pIdxEpr = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = uintptr(0)
 
 	addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once)
 	for __ccgo := true; __ccgo; __ccgo = iLevel < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel) {
@@ -102630,9 +102677,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 			var r1 int32 = Xsqlite3GetTempRange(tls, pParse, n)
 			var jj int32
 			for jj = 0; jj < n; jj++ {
-				var iCol int32 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(jj)*2)))
-
-				Xsqlite3ExprCodeGetColumnOfTable(tls, v, (*Index)(unsafe.Pointer(pIdx)).FpTable, iCur, iCol, r1+jj)
+				Xsqlite3ExprCodeLoadIndexColumn(tls, pParse, pIdx, iCur, jj, r1+jj)
 			}
 			Xsqlite3VdbeAddOp4Int(tls, v, OP_FilterAdd, (*WhereLevel)(unsafe.Pointer(pLevel)).FregFilter, 0, r1, n)
 			Xsqlite3ReleaseTempRange(tls, pParse, r1, n)
@@ -102666,6 +102711,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 		}
 	}
 	Xsqlite3VdbeJumpHere(tls, v, addrOnce)
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = saved_pIdxEpr
 }
 
 func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr {
@@ -102924,11 +102970,16 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro
 
 	_ = pParse
 
+	if !((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) && int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol)
+	} else {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnColumn)
+	}
 	nField = func() int32 {
-		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < (*Index)(unsafe.Pointer(pIdx)).FnSample {
+		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < nField {
 			return int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField)
 		}
-		return (*Index)(unsafe.Pointer(pIdx)).FnSample
+		return nField
 	}()
 	iCol = 0
 	iSample = (*Index)(unsafe.Pointer(pIdx)).FnSample * nField
@@ -104509,7 +104560,7 @@ __4:
 				j >= (*WhereClause)(unsafe.Pointer(pWC)).FnTerm ||
 				*(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) ||
 				int32((*sqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21943, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+				Xsqlite3ErrorMsg(tls, pParse, ts+21990, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 				return SQLITE_ERROR
 			}
@@ -104567,7 +104618,7 @@ __6:
 	(*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm = U16(mxTerm + 1)
 	for i = 0; i <= mxTerm; i++ {
 		if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21943, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+			Xsqlite3ErrorMsg(tls, pParse, ts+21990, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 			return SQLITE_ERROR
 		}
@@ -104965,7 +105016,7 @@ __1:
 		mPrior = mPrior | (*WhereLoop)(unsafe.Pointer(pNew)).FmaskSelf
 		if rc != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 			if rc == SQLITE_DONE {
-				Xsqlite3_log(tls, SQLITE_WARNING, ts+21969, 0)
+				Xsqlite3_log(tls, SQLITE_WARNING, ts+22016, 0)
 				rc = SQLITE_OK
 			} else {
 				goto __3
@@ -105572,7 +105623,7 @@ __3:
 	}
 
 	if nFrom == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22004, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+22051, 0)
 		Xsqlite3DbFreeNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pSpace)
 		return SQLITE_ERROR
 	}
@@ -105607,6 +105658,10 @@ __3:
 			if int32((*WherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*ExprList)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr {
 				(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_ORDERED)
 			}
+			if (*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 &&
+				int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr {
+				(*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = I8((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr)
+			}
 		} else {
 			(*WhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*WherePath)(unsafe.Pointer(pFrom)).FrevLoop
 			if int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 {
@@ -105901,6 +105956,9 @@ func whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur in
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCur = iIdxCur
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCol = i
 		(*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow = U8(bMaybeNullRow)
+		if Xsqlite3IndexAffinityStr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pIdx) != 0 {
+			(*IndexedExpr)(unsafe.Pointer(p)).Faff = *(*uint8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(i)))
+		}
 		(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = p
 		if (*IndexedExpr)(unsafe.Pointer(p)).FpIENext == uintptr(0) {
 			Xsqlite3ParserAddCleanup(tls, pParse, *(*uintptr)(unsafe.Pointer(&struct {
@@ -106053,7 +106111,7 @@ __1:
 	if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22022, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+22069, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
 	return uintptr(0)
 __2:
 	;
@@ -106117,7 +106175,7 @@ __6:
 	(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE)
 __7:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22050, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22097, 0)
 	goto __5
 __4:
 	ii = 0
@@ -106999,7 +107057,7 @@ __1:
 
 error_out:
 	Xsqlite3_result_error(tls,
-		pCtx, ts+22068, -1)
+		pCtx, ts+22115, -1)
 }
 
 func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
@@ -107132,7 +107190,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 			(*NtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 			if (*NtileCtx)(unsafe.Pointer(p)).FnParam <= int64(0) {
 				Xsqlite3_result_error(tls,
-					pCtx, ts+22124, -1)
+					pCtx, ts+22171, -1)
 			}
 		}
 		(*NtileCtx)(unsafe.Pointer(p)).FnTotal++
@@ -107222,17 +107280,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
 	}
 }
 
-var row_numberName = *(*[11]uint8)(unsafe.Pointer(ts + 22169))
-var dense_rankName = *(*[11]uint8)(unsafe.Pointer(ts + 22180))
-var rankName = *(*[5]uint8)(unsafe.Pointer(ts + 22191))
-var percent_rankName = *(*[13]uint8)(unsafe.Pointer(ts + 22196))
-var cume_distName = *(*[10]uint8)(unsafe.Pointer(ts + 22209))
-var ntileName = *(*[6]uint8)(unsafe.Pointer(ts + 22219))
-var last_valueName = *(*[11]uint8)(unsafe.Pointer(ts + 22225))
-var nth_valueName = *(*[10]uint8)(unsafe.Pointer(ts + 22236))
-var first_valueName = *(*[12]uint8)(unsafe.Pointer(ts + 22246))
-var leadName = *(*[5]uint8)(unsafe.Pointer(ts + 22258))
-var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22263))
+var row_numberName = *(*[11]uint8)(unsafe.Pointer(ts + 22216))
+var dense_rankName = *(*[11]uint8)(unsafe.Pointer(ts + 22227))
+var rankName = *(*[5]uint8)(unsafe.Pointer(ts + 22238))
+var percent_rankName = *(*[13]uint8)(unsafe.Pointer(ts + 22243))
+var cume_distName = *(*[10]uint8)(unsafe.Pointer(ts + 22256))
+var ntileName = *(*[6]uint8)(unsafe.Pointer(ts + 22266))
+var last_valueName = *(*[11]uint8)(unsafe.Pointer(ts + 22272))
+var nth_valueName = *(*[10]uint8)(unsafe.Pointer(ts + 22283))
+var first_valueName = *(*[12]uint8)(unsafe.Pointer(ts + 22293))
+var leadName = *(*[5]uint8)(unsafe.Pointer(ts + 22305))
+var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22310))
 
 func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) {
 	_ = p
@@ -107278,7 +107336,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin
 		}
 	}
 	if p == uintptr(0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22267, libc.VaList(bp, zName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+22314, libc.VaList(bp, zName))
 	}
 	return p
 }
@@ -107322,12 +107380,12 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin
 		((*Window)(unsafe.Pointer(pWin)).FpStart != 0 || (*Window)(unsafe.Pointer(pWin)).FpEnd != 0) &&
 		((*Window)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*ExprList)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != 1) {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+22286, 0)
+			ts+22333, 0)
 	} else if (*FuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
 		if (*Window)(unsafe.Pointer(pWin)).FpFilter != 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22357, 0)
+				ts+22404, 0)
 		} else {
 			*(*[8]WindowUpdate)(unsafe.Pointer(bp)) = [8]WindowUpdate{
 				{FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT},
@@ -107556,7 +107614,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr
 
 	if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) {
 		Xsqlite3ErrorMsg(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse,
-			ts+22420, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
+			ts+22467, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
 	}
 	return WRC_Continue
 }
@@ -107672,7 +107730,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 {
 
 		if *(*uintptr)(unsafe.Pointer(bp + 48)) == uintptr(0) {
 			*(*uintptr)(unsafe.Pointer(bp + 48)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0),
-				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7530))
+				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7519))
 		}
 
 		pSub = Xsqlite3SelectNew(tls,
@@ -107787,7 +107845,7 @@ __1:
 		eStart == TK_FOLLOWING && (eEnd == TK_PRECEDING || eEnd == TK_CURRENT)) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22446, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22493, 0)
 	goto windowAllocErr
 __2:
 	;
@@ -107852,15 +107910,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint
 			var zErr uintptr = uintptr(0)
 
 			if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 {
-				zErr = ts + 22478
+				zErr = ts + 22525
 			} else if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0 {
-				zErr = ts + 22495
+				zErr = ts + 22542
 			} else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 {
-				zErr = ts + 22511
+				zErr = ts + 22558
 			}
 			if zErr != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+22531, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
+					ts+22578, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
 			} else {
 				(*Window)(unsafe.Pointer(pWin)).FpPartition = Xsqlite3ExprListDup(tls, db, (*Window)(unsafe.Pointer(pExist)).FpPartition, 0)
 				if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 {
@@ -107881,7 +107939,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr
 		(*Window)(unsafe.Pointer(pWin)).FpOwner = p
 		if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Distinct) != 0 && int32((*Window)(unsafe.Pointer(pWin)).FeFrmType) != TK_FILTER {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22564, 0)
+				ts+22611, 0)
 		}
 	} else {
 		Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin)
@@ -108037,11 +108095,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) {
 }
 
 var azErr = [5]uintptr{
-	ts + 22611,
-	ts + 22664,
-	ts + 22068,
-	ts + 22715,
-	ts + 22767,
+	ts + 22658,
+	ts + 22711,
+	ts + 22115,
+	ts + 22762,
+	ts + 22814,
 }
 var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge}
 
@@ -109436,19 +109494,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) {
 			}
 			cnt++
 			if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*Select)(unsafe.Pointer(pLoop)).FpLimit != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+22817,
+				Xsqlite3ErrorMsg(tls, pParse, ts+22864,
 					libc.VaList(bp, func() uintptr {
 						if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) {
-							return ts + 22859
+							return ts + 22906
 						}
-						return ts + 22868
+						return ts + 22915
 					}(),
 						Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(pNext)).Fop))))
 				break
 			}
 		}
 		if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_MultiValue) == U32(0) && libc.AssignInt32(&mxSelect, *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 4*4))) > 0 && cnt > mxSelect {
-			Xsqlite3ErrorMsg(tls, pParse, ts+22874, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+22921, 0)
 		}
 	}
 
@@ -109516,7 +109574,7 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT
 	var p uintptr = Xsqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0))
 	if (hasCollate != 0 || sortOrder != -1) &&
 		int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22908,
+		Xsqlite3ErrorMsg(tls, pParse, ts+22955,
 			libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz))
 	}
 	Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1)
@@ -110613,7 +110671,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) {
 		yy_pop_parser_stack(tls, yypParser)
 	}
 
-	Xsqlite3ErrorMsg(tls, pParse, ts+22946, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22993, 0)
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
 }
@@ -111592,7 +111650,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(TF_WithoutRowid | TF_NoVisibleRowid)
 				} else {
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22968, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23015, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			break
@@ -111602,7 +111660,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(TF_Strict)
 				} else {
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22968, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23015, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			*(*U32)(unsafe.Pointer(yymsp + 8)) = *(*U32)(unsafe.Pointer(bp + 40))
@@ -112345,7 +112403,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 		case uint32(157):
 			{
 				Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8)), yymsp+libc.UintptrFromInt32(-4)*24+8)
-				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+22995)
+				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+23042)
 				if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) != 0 {
 					var pFromClause uintptr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8))
 					if (*SrcList)(unsafe.Pointer(pFromClause)).FnSrc > 1 {
@@ -112509,7 +112567,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*Token)(unsafe.Pointer(bp + 128)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 
 					if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+23004, libc.VaList(bp+32, bp+128))
+						Xsqlite3ErrorMsg(tls, pParse, ts+23051, libc.VaList(bp+32, bp+128))
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0)
 					} else {
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0))
@@ -112726,9 +112784,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					Xsqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
 					*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_STRING, func() uintptr {
 						if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8)) != 0 {
-							return ts + 6764
+							return ts + 7694
 						}
-						return ts + 6769
+						return ts + 7699
 					}())
 					if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) != 0 {
 						Xsqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
@@ -113012,19 +113070,19 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 			{
 				*(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23028, 0)
+					ts+23075, 0)
 			}
 			break
 		case uint32(271):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23123, 0)
+					ts+23170, 0)
 			}
 			break
 		case uint32(272):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23207, 0)
+					ts+23254, 0)
 			}
 			break
 		case uint32(273):
@@ -113403,9 +113461,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To
 
 	_ = yymajor
 	if *(*uint8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8)).Fz)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23004, libc.VaList(bp, bp+8))
+		Xsqlite3ErrorMsg(tls, pParse, ts+23051, libc.VaList(bp, bp+8))
 	} else {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23292, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+23339, 0)
 	}
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
@@ -114173,7 +114231,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 			} else {
 				(*Token)(unsafe.Pointer(bp + 2464)).Fz = zSql
 				(*Token)(unsafe.Pointer(bp + 2464)).Fn = uint32(n)
-				Xsqlite3ErrorMsg(tls, pParse, ts+23309, libc.VaList(bp, bp+2464))
+				Xsqlite3ErrorMsg(tls, pParse, ts+23356, libc.VaList(bp, bp+2464))
 				break
 			}
 		}
@@ -114196,7 +114254,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 		if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) {
 			(*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+3663, libc.VaList(bp+8, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc)))
 		}
-		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23334, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
+		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23381, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
 		nErr++
 	}
 	(*Parse)(unsafe.Pointer(pParse)).FzTail = zSql
@@ -114369,7 +114427,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'C':
 						{
-							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23345, 6) == 0 {
+							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23392, 6) == 0 {
 								token = U8(TkCREATE)
 							} else {
 								token = U8(TkOTHER)
@@ -114382,11 +114440,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'T':
 						{
-							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19931, 7) == 0 {
+							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19978, 7) == 0 {
 								token = U8(TkTRIGGER)
-							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23352, 4) == 0 {
+							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23399, 4) == 0 {
 								token = U8(TkTEMP)
-							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23357, 9) == 0 {
+							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23404, 9) == 0 {
 								token = U8(TkTEMP)
 							} else {
 								token = U8(TkOTHER)
@@ -114399,9 +114457,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'E':
 						{
-							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23367, 3) == 0 {
+							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23414, 3) == 0 {
 								token = U8(TkEND)
-							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23371, 7) == 0 {
+							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23418, 7) == 0 {
 								token = U8(TkEXPLAIN)
 							} else {
 								token = U8(TkOTHER)
@@ -114635,7 +114693,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 {
 	var rc int32 = SQLITE_OK
 
 	if Xsqlite3Config.FisInit != 0 {
-		return Xsqlite3MisuseError(tls, 174337)
+		return Xsqlite3MisuseError(tls, 174426)
 	}
 
 	ap = va
@@ -115210,7 +115268,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 		return SQLITE_OK
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 175111)
+		return Xsqlite3MisuseError(tls, 175200)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 {
@@ -115225,7 +115283,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 
 	if !(forceZombie != 0) && connectionIsBusy(tls, db) != 0 {
 		Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-			ts+23379, 0)
+			ts+23426, 0)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		return SQLITE_BUSY
 	}
@@ -115416,23 +115474,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) {
 // Return a static string that describes the kind of error specified in the
 // argument.
 func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
-	var zErr uintptr = ts + 23447
+	var zErr uintptr = ts + 23494
 	switch rc {
 	case SQLITE_ABORT | int32(2)<<8:
 		{
-			zErr = ts + 23461
+			zErr = ts + 23508
 			break
 
 		}
 	case SQLITE_ROW:
 		{
-			zErr = ts + 23483
+			zErr = ts + 23530
 			break
 
 		}
 	case SQLITE_DONE:
 		{
-			zErr = ts + 23505
+			zErr = ts + 23552
 			break
 
 		}
@@ -115450,35 +115508,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
 }
 
 var aMsg = [29]uintptr{
-	ts + 23528,
-	ts + 23541,
+	ts + 23575,
+	ts + 23588,
 	uintptr(0),
-	ts + 23557,
-	ts + 23582,
-	ts + 23596,
-	ts + 23615,
+	ts + 23604,
+	ts + 23629,
+	ts + 23643,
+	ts + 23662,
 	ts + 1490,
-	ts + 23640,
-	ts + 23677,
-	ts + 23689,
-	ts + 23704,
-	ts + 23737,
-	ts + 23755,
-	ts + 23780,
-	ts + 23809,
+	ts + 23687,
+	ts + 23724,
+	ts + 23736,
+	ts + 23751,
+	ts + 23784,
+	ts + 23802,
+	ts + 23827,
+	ts + 23856,
 	uintptr(0),
 	ts + 5838,
 	ts + 5334,
-	ts + 23826,
-	ts + 23844,
-	ts + 23862,
+	ts + 23873,
+	ts + 23891,
+	ts + 23909,
 	uintptr(0),
-	ts + 23896,
-	uintptr(0),
-	ts + 23917,
 	ts + 23943,
-	ts + 23966,
-	ts + 23987,
+	uintptr(0),
+	ts + 23964,
+	ts + 23990,
+	ts + 24013,
+	ts + 24034,
 }
 
 func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 {
@@ -115599,7 +115657,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 		libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) ||
 		(nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) ||
 		255 < Xsqlite3Strlen30(tls, zFunctionName) {
-		return Xsqlite3MisuseError(tls, 175758)
+		return Xsqlite3MisuseError(tls, 175847)
 	}
 
 	extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS)
@@ -115644,7 +115702,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 	if p != 0 && (*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK) == U32(enc) && int32((*FuncDef)(unsafe.Pointer(p)).FnArg) == nArg {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24003, 0)
+				ts+24050, 0)
 
 			return SQLITE_BUSY
 		} else {
@@ -115761,7 +115819,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs
 	_ = NotUsed
 	_ = NotUsed2
 	zErr = Xsqlite3_mprintf(tls,
-		ts+24066, libc.VaList(bp, zName))
+		ts+24113, libc.VaList(bp, zName))
 	Xsqlite3_result_error(tls, context, zErr, -1)
 	Xsqlite3_free(tls, zErr)
 }
@@ -115997,7 +116055,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
 	}
 	if iDb < 0 {
 		rc = SQLITE_ERROR
-		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24117, libc.VaList(bp, zDb))
+		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24164, libc.VaList(bp, zDb))
 	} else {
 		(*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0
 		rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt)
@@ -116090,7 +116148,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr {
 		return Xsqlite3ErrStr(tls, SQLITE_NOMEM)
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176503))
+		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176592))
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -116160,7 +116218,7 @@ var misuse = [34]U16{
 // passed to this function, we assume a malloc() failed during sqlite3_open().
 func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176582)
+		return Xsqlite3MisuseError(tls, 176671)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -116170,7 +116228,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 
 func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176591)
+		return Xsqlite3MisuseError(tls, 176680)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -116202,14 +116260,14 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint
 		enc2 = SQLITE_UTF16LE
 	}
 	if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE {
-		return Xsqlite3MisuseError(tls, 176639)
+		return Xsqlite3MisuseError(tls, 176728)
 	}
 
 	pColl = Xsqlite3FindCollSeq(tls, db, U8(enc2), zName, 0)
 	if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24138, 0)
+				ts+24185, 0)
 			return SQLITE_BUSY
 		}
 		Xsqlite3ExpirePreparedStatements(tls, db, 0)
@@ -116339,7 +116397,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u
 
 	if !((flags&uint32(SQLITE_OPEN_URI) != 0 ||
 		Xsqlite3Config.FbOpenUri != 0) &&
-		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24206, uint64(5)) == 0) {
+		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24253, uint64(5)) == 0) {
 		goto __1
 	}
 	iOut = 0
@@ -116384,10 +116442,10 @@ __8:
 	goto __8
 __9:
 	;
-	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24212, zUri+7, uint64(9)) != 0)) {
+	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24259, zUri+7, uint64(9)) != 0)) {
 		goto __10
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24222,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24269,
 		libc.VaList(bp, iIn-7, zUri+7))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
@@ -116492,7 +116550,7 @@ __27:
 	zVal = zOpt + uintptr(nOpt+1)
 	nVal = Xsqlite3Strlen30(tls, zVal)
 
-	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24250, zOpt, uint64(3)) == 0) {
+	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24297, zOpt, uint64(3)) == 0) {
 		goto __29
 	}
 	zVfs = zVal
@@ -116503,17 +116561,17 @@ __29:
 	mask = 0
 	limit = 0
 
-	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24254, zOpt, uint64(5)) == 0) {
+	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24301, zOpt, uint64(5)) == 0) {
 		goto __31
 	}
 
 	mask = SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE
 	aMode = uintptr(unsafe.Pointer(&aCacheMode))
 	limit = mask
-	zModeType = ts + 24254
+	zModeType = ts + 24301
 __31:
 	;
-	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24260, zOpt, uint64(4)) == 0) {
+	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24307, zOpt, uint64(4)) == 0) {
 		goto __32
 	}
 
@@ -116551,7 +116609,7 @@ __36:
 	if !(mode == 0) {
 		goto __38
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24265, libc.VaList(bp+16, zModeType, zVal))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24312, libc.VaList(bp+16, zModeType, zVal))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
 __38:
@@ -116559,7 +116617,7 @@ __38:
 	if !(mode&libc.CplInt32(SQLITE_OPEN_MEMORY) > limit) {
 		goto __39
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24285,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24332,
 		libc.VaList(bp+32, zModeType, zVal))
 	rc = SQLITE_PERM
 	goto parse_uri_out
@@ -116599,7 +116657,7 @@ __2:
 	if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) {
 		goto __42
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24309, libc.VaList(bp+48, zVfs))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24356, libc.VaList(bp+48, zVfs))
 	rc = SQLITE_ERROR
 __42:
 	;
@@ -116623,14 +116681,14 @@ type OpenMode = struct {
 }
 
 var aCacheMode = [3]OpenMode{
-	{Fz: ts + 24325, Fmode: SQLITE_OPEN_SHAREDCACHE},
-	{Fz: ts + 24332, Fmode: SQLITE_OPEN_PRIVATECACHE},
+	{Fz: ts + 24372, Fmode: SQLITE_OPEN_SHAREDCACHE},
+	{Fz: ts + 24379, Fmode: SQLITE_OPEN_PRIVATECACHE},
 	{},
 }
 var aOpenMode = [5]OpenMode{
-	{Fz: ts + 24340, Fmode: SQLITE_OPEN_READONLY},
-	{Fz: ts + 24343, Fmode: SQLITE_OPEN_READWRITE},
-	{Fz: ts + 24346, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
+	{Fz: ts + 24387, Fmode: SQLITE_OPEN_READONLY},
+	{Fz: ts + 24390, Fmode: SQLITE_OPEN_READWRITE},
+	{Fz: ts + 24393, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
 	{Fz: ts + 17362, Fmode: SQLITE_OPEN_MEMORY},
 	{},
 }
@@ -116777,10 +116835,10 @@ __12:
 	createCollation(tls, db, uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{binCollFunc})), uintptr(0))
-	createCollation(tls, db, ts+21863, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+21910, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{nocaseCollatingFunc})), uintptr(0))
-	createCollation(tls, db, ts+24350, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+24397, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{rtrimCollFunc})), uintptr(0))
 	if !((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) {
@@ -116794,7 +116852,7 @@ __15:
 	if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) {
 		goto __16
 	}
-	rc = Xsqlite3MisuseError(tls, 177308)
+	rc = Xsqlite3MisuseError(tls, 177397)
 	goto __17
 __16:
 	rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24)
@@ -116847,7 +116905,7 @@ __22:
 
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 6441
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).Fsafety_level = U8(SQLITE_DEFAULT_SYNCHRONOUS + 1)
-	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23352
+	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23399
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF)
 
 	(*Sqlite3)(unsafe.Pointer(db)).FeOpenState = U8(SQLITE_STATE_OPEN)
@@ -116952,7 +117010,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 {
 		return rc
 	}
 	if zFilename == uintptr(0) {
-		zFilename = ts + 24356
+		zFilename = ts + 24403
 	}
 	pVal = Xsqlite3ValueNew(tls, uintptr(0))
 	Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0))
@@ -117055,21 +117113,21 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr)
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	Xsqlite3_log(tls, iErr, ts+24359,
+	Xsqlite3_log(tls, iErr, ts+24406,
 		libc.VaList(bp, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls)))
 	return iErr
 }
 
 func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24384)
+	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24431)
 }
 
 func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24404)
+	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24451)
 }
 
 func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24411)
+	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24458)
 }
 
 // This is a convenience routine that makes sure that all thread-specific
@@ -117227,7 +117285,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24)))
-	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24428, libc.VaList(bp, zTableName,
+	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24475, libc.VaList(bp, zTableName,
 		zColumnName))
 	rc = SQLITE_ERROR
 __20:
@@ -117883,7 +117941,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 {
 
 	azCompileOpt = Xsqlite3CompileOptions(tls, bp)
 
-	if Xsqlite3_strnicmp(tls, zOptName, ts+24456, 7) == 0 {
+	if Xsqlite3_strnicmp(tls, zOptName, ts+24503, 7) == 0 {
 		zOptName += uintptr(7)
 	}
 	n = Xsqlite3Strlen30(tls, zOptName)
@@ -118001,7 +118059,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin
 
 	Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr {
 		if rc != 0 {
-			return ts + 24464
+			return ts + 24511
 		}
 		return uintptr(0)
 	}(), 0)
@@ -118179,7 +118237,7 @@ type JsonParse1 = struct {
 type JsonParse = JsonParse1
 
 var jsonType = [8]uintptr{
-	ts + 6181, ts + 6764, ts + 6769, ts + 6191, ts + 6186, ts + 8005, ts + 24487, ts + 24493,
+	ts + 6181, ts + 7694, ts + 7699, ts + 6191, ts + 6186, ts + 8005, ts + 24534, ts + 24540,
 }
 
 func jsonZero(tls *libc.TLS, p uintptr) {
@@ -118332,7 +118390,7 @@ __10:
 	*(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('0')
 	*(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('0')
 	*(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('0' + int32(c)>>4)
-	c = *(*uint8)(unsafe.Pointer(ts + 24500 + uintptr(int32(c)&0xf)))
+	c = *(*uint8)(unsafe.Pointer(ts + 24547 + uintptr(int32(c)&0xf)))
 __8:
 	;
 __6:
@@ -118387,7 +118445,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) {
 	default:
 		{
 			if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 {
-				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24517, -1)
+				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24564, -1)
 				(*JsonString)(unsafe.Pointer(p)).FbErr = U8(2)
 				jsonReset(tls, p)
 			}
@@ -118451,13 +118509,13 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr
 		}
 	case JSON_TRUE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6764, uint32(4))
+			jsonAppendRaw(tls, pOut, ts+7694, uint32(4))
 			break
 
 		}
 	case JSON_FALSE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6769, uint32(5))
+			jsonAppendRaw(tls, pOut, ts+7699, uint32(5))
 			break
 
 		}
@@ -119007,12 +119065,12 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 't' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6764, uint64(4)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7694, uint64(4)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+U32(4))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_TRUE), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 'f' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6769, uint64(5)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7699, uint64(5)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+U32(5))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_FALSE), uint32(0), uintptr(0))
 		return int32(i + U32(5))
@@ -119113,7 +119171,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32
 			if (*JsonParse)(unsafe.Pointer(pParse)).Foom != 0 {
 				Xsqlite3_result_error_nomem(tls, pCtx)
 			} else {
-				Xsqlite3_result_error(tls, pCtx, ts+24546, -1)
+				Xsqlite3_result_error(tls, pCtx, ts+24593, -1)
 			}
 		}
 		jsonParseReset(tls, pParse)
@@ -119419,7 +119477,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt
 	}
 	if int32(*(*uint8)(unsafe.Pointer(zPath))) == '.' {
 		jsonParseAddNode(tls, pParse, uint32(JSON_OBJECT), uint32(0), uintptr(0))
-	} else if libc.Xstrncmp(tls, zPath, ts+24561, uint64(3)) == 0 {
+	} else if libc.Xstrncmp(tls, zPath, ts+24608, uint64(3)) == 0 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0))
 	} else {
 		return uintptr(0)
@@ -119434,7 +119492,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	return Xsqlite3_mprintf(tls, ts+24565, libc.VaList(bp, zErr))
+	return Xsqlite3_mprintf(tls, ts+24612, libc.VaList(bp, zErr))
 }
 
 func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr {
@@ -119488,7 +119546,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24591,
+	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24638,
 		libc.VaList(bp, zFuncName))
 	Xsqlite3_result_error(tls, pCtx, zMsg, -1)
 	Xsqlite3_free(tls, zMsg)
@@ -119593,11 +119651,11 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 			if int32(*(*uint8)(unsafe.Pointer(zPath))) != '$' {
 				jsonInit(tls, bp, ctx)
 				if int32(Xsqlite3CtypeMap[*(*uint8)(unsafe.Pointer(zPath))])&0x04 != 0 {
-					jsonAppendRaw(tls, bp, ts+24634, uint32(2))
+					jsonAppendRaw(tls, bp, ts+24681, uint32(2))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendRaw(tls, bp, ts+4998, uint32(2))
 				} else {
-					jsonAppendRaw(tls, bp, ts+24637, uint32(1+libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zPath))) != '[')))
+					jsonAppendRaw(tls, bp, ts+24684, uint32(1+libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zPath))) != '[')))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendChar(tls, bp, uint8(0))
 				}
@@ -119754,14 +119812,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 
 	if argc&1 != 0 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+24640, -1)
+			ts+24687, -1)
 		return
 	}
 	jsonInit(tls, bp, ctx)
 	jsonAppendChar(tls, bp, uint8('{'))
 	for i = 0; i < argc; i = i + 2 {
 		if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != SQLITE_TEXT {
-			Xsqlite3_result_error(tls, ctx, ts+24691, -1)
+			Xsqlite3_result_error(tls, ctx, ts+24738, -1)
 			jsonReset(tls, bp)
 			return
 		}
@@ -119931,9 +119989,9 @@ __1:
 	}
 	jsonWrongNumArgs(tls, ctx, func() uintptr {
 		if bIsSet != 0 {
-			return ts + 24725
+			return ts + 24772
 		}
-		return ts + 24729
+		return ts + 24776
 	}())
 	return
 __2:
@@ -120066,7 +120124,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24736, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24783, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -120163,7 +120221,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24739, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24786, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -120207,7 +120265,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u
 	_ = argc
 	_ = pAux
 	rc = Xsqlite3_declare_vtab(tls, db,
-		ts+24742)
+		ts+24789)
 	if rc == SQLITE_OK {
 		pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{}))))
 		if pNew == uintptr(0) {
@@ -120338,7 +120396,7 @@ func jsonAppendObjectPathElement(tls *libc.TLS, pStr uintptr, pNode uintptr) {
 			nn = nn - 2
 		}
 	}
-	jsonPrintf(tls, nn+2, pStr, ts+24825, libc.VaList(bp, nn, z))
+	jsonPrintf(tls, nn+2, pStr, ts+24872, libc.VaList(bp, nn, z))
 }
 
 func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
@@ -120357,7 +120415,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
 	pNode = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(i)*16
 	pUp = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(iUp)*16
 	if int32((*JsonNode)(unsafe.Pointer(pUp)).FeType) == JSON_ARRAY {
-		jsonPrintf(tls, 30, pStr, ts+24831, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
+		jsonPrintf(tls, 30, pStr, ts+24878, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
 	} else {
 		if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_LABEL == 0 {
 			pNode -= 16
@@ -120453,7 +120511,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 					jsonAppendChar(tls, bp+8, uint8('$'))
 				}
 				if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY {
-					jsonPrintf(tls, 30, bp+8, ts+24831, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
+					jsonPrintf(tls, 30, bp+8, ts+24878, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
 				} else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT {
 					jsonAppendObjectPathElement(tls, bp+8, pThis)
 				}
@@ -120477,7 +120535,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 		{
 			var zRoot uintptr = (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot
 			if zRoot == uintptr(0) {
-				zRoot = ts + 24836
+				zRoot = ts + 24883
 			}
 			Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0))
 			break
@@ -120599,7 +120657,7 @@ func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, ar
 		var rc int32 = SQLITE_NOMEM
 		if int32((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.Foom) == 0 {
 			Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg)
-			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24546, 0)
+			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24593, 0)
 			if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 {
 				rc = SQLITE_ERROR
 			}
@@ -120694,25 +120752,25 @@ func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) {
 }
 
 var aJsonFunc = [19]FuncDef{
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24838},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24843},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24854},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24854},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24872},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 24885},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 24888},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24892},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24904},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24916},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24927},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24938},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24950},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 24963},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24972},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24972},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24982},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24993},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25010}}
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24885},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24890},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24901},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24901},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24919},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 24932},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 24935},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24939},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24951},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24963},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24974},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24985},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24997},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 25010},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25019},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25019},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25029},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25040},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25057}}
 
 // Register the JSON table-valued functions
 func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 {
@@ -120731,8 +120789,8 @@ var aMod = [2]struct {
 	FzName   uintptr
 	FpModule uintptr
 }{
-	{FzName: ts + 25028, FpModule: 0},
-	{FzName: ts + 25038, FpModule: 0},
+	{FzName: ts + 25075, FpModule: 0},
+	{FzName: ts + 25085, FpModule: 0},
 }
 
 type Rtree1 = struct {
@@ -120992,11 +121050,11 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo
 		}
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) {
-		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25048, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25095, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		if zTab == uintptr(0) {
 			return SQLITE_NOMEM
 		}
-		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25056, iNode, 0,
+		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25103, iNode, 0,
 			pRtree+112)
 		Xsqlite3_free(tls, zTab)
 	}
@@ -121207,7 +121265,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32
 	var zCreate uintptr = Xsqlite3_mprintf(tls,
-		ts+25061,
+		ts+25108,
 		libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
@@ -121905,7 +121963,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 {
 	var pSrc uintptr
 	var pInfo uintptr
 
-	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25143)
+	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25190)
 	if pSrc == uintptr(0) {
 		return SQLITE_ERROR
 	}
@@ -123246,7 +123304,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+25157, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+	zSql = Xsqlite3_mprintf(tls, ts+25204, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 	if zSql != 0 {
 		rc = Xsqlite3_prepare_v2(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -1, bp+56, uintptr(0))
 	} else {
@@ -123258,12 +123316,12 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 		if iCol == 0 {
 			var zCol uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 0)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25177, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
+				ts+25224, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
 		} else {
 			var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol)
 			var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol+1)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25209, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
+				ts+25256, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
 		}
 	}
 
@@ -123489,7 +123547,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32 = SQLITE_NOMEM
 	var zSql uintptr = Xsqlite3_mprintf(tls,
-		ts+25246, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
+		ts+25293, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
 	if zSql != 0 {
 		nodeBlobReset(tls, pRtree)
 		rc = Xsqlite3_exec(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0))
@@ -123512,7 +123570,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 {
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	var zFmt uintptr = ts + 25391
+	var zFmt uintptr = ts + 25438
 	var zSql uintptr
 
 	var rc int32
@@ -123560,7 +123618,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName1 = [3]uintptr{
-	ts + 25447, ts + 5060, ts + 16267,
+	ts + 25494, ts + 5060, ts + 16267,
 }
 
 var rtreeModule = Sqlite3_module{
@@ -123603,19 +123661,19 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		var p uintptr = Xsqlite3_str_new(tls, db)
 		var ii int32
 		Xsqlite3_str_appendf(tls, p,
-			ts+25452,
+			ts+25499,
 			libc.VaList(bp, zDb, zPrefix))
 		for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
-			Xsqlite3_str_appendf(tls, p, ts+25514, libc.VaList(bp+16, ii))
+			Xsqlite3_str_appendf(tls, p, ts+25561, libc.VaList(bp+16, ii))
 		}
 		Xsqlite3_str_appendf(tls, p,
-			ts+25519,
+			ts+25566,
 			libc.VaList(bp+24, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25583,
+			ts+25630,
 			libc.VaList(bp+40, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25653,
+			ts+25700,
 			libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))
 		zCreate = Xsqlite3_str_finish(tls, p)
 		if !(zCreate != 0) {
@@ -123644,7 +123702,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		if i != 3 || int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) == 0 {
 			zFormat = azSql[i]
 		} else {
-			zFormat = ts + 25702
+			zFormat = ts + 25749
 		}
 		zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix))
 		if zSql != 0 {
@@ -123656,7 +123714,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FnAux != 0 {
 		(*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls,
-			ts+25810,
+			ts+25857,
 			libc.VaList(bp+96, zDb, zPrefix))
 		if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -123664,18 +123722,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 			var p uintptr = Xsqlite3_str_new(tls, db)
 			var ii int32
 			var zSql uintptr
-			Xsqlite3_str_appendf(tls, p, ts+25855, libc.VaList(bp+112, zDb, zPrefix))
+			Xsqlite3_str_appendf(tls, p, ts+25902, libc.VaList(bp+112, zDb, zPrefix))
 			for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
 				if ii != 0 {
 					Xsqlite3_str_append(tls, p, ts+12767, 1)
 				}
 				if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) {
-					Xsqlite3_str_appendf(tls, p, ts+25882, libc.VaList(bp+128, ii, ii+2, ii))
+					Xsqlite3_str_appendf(tls, p, ts+25929, libc.VaList(bp+128, ii, ii+2, ii))
 				} else {
-					Xsqlite3_str_appendf(tls, p, ts+25904, libc.VaList(bp+152, ii, ii+2))
+					Xsqlite3_str_appendf(tls, p, ts+25951, libc.VaList(bp+152, ii, ii+2))
 				}
 			}
-			Xsqlite3_str_appendf(tls, p, ts+25912, 0)
+			Xsqlite3_str_appendf(tls, p, ts+25959, 0)
 			zSql = Xsqlite3_str_finish(tls, p)
 			if zSql == uintptr(0) {
 				rc = SQLITE_NOMEM
@@ -123690,14 +123748,14 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 }
 
 var azSql = [8]uintptr{
-	ts + 25928,
-	ts + 25981,
-	ts + 26026,
-	ts + 26078,
-	ts + 26132,
-	ts + 26177,
-	ts + 26235,
-	ts + 26290,
+	ts + 25975,
+	ts + 26028,
+	ts + 26073,
+	ts + 26125,
+	ts + 26179,
+	ts + 26224,
+	ts + 26282,
+	ts + 26337,
 }
 
 func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 {
@@ -123726,7 +123784,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 	var zSql uintptr
 	if isCreate != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = 0
-		zSql = Xsqlite3_mprintf(tls, ts+26337, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
+		zSql = Xsqlite3_mprintf(tls, ts+26384, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
 		rc = getIntFromStmt(tls, db, zSql, bp+48)
 		if rc == SQLITE_OK {
 			(*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp + 48)) - 64
@@ -123738,7 +123796,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		}
 	} else {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+26357,
+			ts+26404,
 			libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		rc = getIntFromStmt(tls, db, zSql, pRtree+32)
 		if rc != SQLITE_OK {
@@ -123746,7 +123804,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		} else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < 512-64 {
 			rc = SQLITE_CORRUPT | int32(1)<<8
 
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26414,
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26461,
 				libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		}
 	}
@@ -123788,10 +123846,10 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr
 	ii = 4
 	*(*[5]uintptr)(unsafe.Pointer(bp + 96)) = [5]uintptr{
 		uintptr(0),
-		ts + 26449,
-		ts + 26492,
-		ts + 26527,
-		ts + 26563,
+		ts + 26496,
+		ts + 26539,
+		ts + 26574,
+		ts + 26610,
 	}
 
 	if !(argc < 6 || argc > RTREE_MAX_AUX_COLUMN+3) {
@@ -123822,7 +123880,7 @@ __2:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+26600,
+	Xsqlite3_str_appendf(tls, pSql, ts+26647,
 		libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8))))
 	ii = 4
 __3:
@@ -123834,7 +123892,7 @@ __3:
 		goto __6
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+26624, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
+	Xsqlite3_str_appendf(tls, pSql, ts+26671, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
 	goto __7
 __6:
 	if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) {
@@ -123857,7 +123915,7 @@ __4:
 	goto __5
 __5:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26630, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26677, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __10
@@ -123953,7 +124011,7 @@ __25:
 	return rc
 }
 
-var azFormat = [2]uintptr{ts + 26633, ts + 26644}
+var azFormat = [2]uintptr{ts + 26680, ts + 26691}
 
 func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	bp := tls.Alloc(1072)
@@ -123993,11 +124051,11 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 		if ii > 0 {
 			Xsqlite3_str_append(tls, pOut, ts+10920, 1)
 		}
-		Xsqlite3_str_appendf(tls, pOut, ts+26654, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
+		Xsqlite3_str_appendf(tls, pOut, ts+26701, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
 		for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+56)).FnDim2); jj++ {
-			Xsqlite3_str_appendf(tls, pOut, ts+26660, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
+			Xsqlite3_str_appendf(tls, pOut, ts+26707, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
 		}
-		Xsqlite3_str_append(tls, pOut, ts+26664, 1)
+		Xsqlite3_str_append(tls, pOut, ts+26711, 1)
 	}
 	errCode = Xsqlite3_str_errcode(tls, pOut)
 	Xsqlite3_result_text(tls, ctx, Xsqlite3_str_finish(tls, pOut), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
@@ -124008,7 +124066,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	_ = nArg
 	if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB ||
 		Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 {
-		Xsqlite3_result_error(tls, ctx, ts+26666, -1)
+		Xsqlite3_result_error(tls, ctx, ts+26713, -1)
 	} else {
 		var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 		if zBlob != 0 {
@@ -124086,7 +124144,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr
 		if z == uintptr(0) {
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM
 		} else {
-			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26699,
+			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26746,
 				libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr {
 					if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 {
 						return ts + 4062
@@ -124110,7 +124168,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) {
 		(*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = rtreeCheckPrepare(tls, pCheck,
-			ts+26706,
+			ts+26753,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab))
 	}
 
@@ -124129,7 +124187,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 		}
 		rtreeCheckReset(tls, pCheck, (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode)
 		if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) {
-			rtreeCheckAppendMsg(tls, pCheck, ts+26751, libc.VaList(bp+16, iNode))
+			rtreeCheckAppendMsg(tls, pCheck, ts+26798, libc.VaList(bp+16, iNode))
 		}
 	}
 
@@ -124143,8 +124201,8 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	var rc int32
 	var pStmt uintptr
 	*(*[2]uintptr)(unsafe.Pointer(bp + 80)) = [2]uintptr{
-		ts + 26783,
-		ts + 26837,
+		ts + 26830,
+		ts + 26884,
 	}
 
 	if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) {
@@ -124159,23 +124217,23 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	Xsqlite3_bind_int64(tls, pStmt, 1, iKey)
 	rc = Xsqlite3_step(tls, pStmt)
 	if rc == SQLITE_DONE {
-		rtreeCheckAppendMsg(tls, pCheck, ts+26885,
+		rtreeCheckAppendMsg(tls, pCheck, ts+26932,
 			libc.VaList(bp+16, iKey, iVal, func() uintptr {
 				if bLeaf != 0 {
-					return ts + 26930
+					return ts + 26977
 				}
-				return ts + 26938
+				return ts + 26985
 			}()))
 	} else if rc == SQLITE_ROW {
 		var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0)
 		if ii != iVal {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+26947,
+				ts+26994,
 				libc.VaList(bp+40, iKey, ii, func() uintptr {
 					if bLeaf != 0 {
-						return ts + 26930
+						return ts + 26977
 					}
-					return ts + 26938
+					return ts + 26985
 				}(), iKey, iVal))
 		}
 	}
@@ -124199,7 +124257,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 			return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48)) > *(*RtreeValue)(unsafe.Pointer(bp + 52)))
 		}() != 0 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27005, libc.VaList(bp, i, iCell, iNode))
+				ts+27052, libc.VaList(bp, i, iCell, iNode))
 		}
 
 		if pParent != 0 {
@@ -124219,7 +124277,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 					return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52)) > *(*RtreeValue)(unsafe.Pointer(bp + 60)))
 				}() != 0 {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27053, libc.VaList(bp+24, i, iCell, iNode))
+					ts+27100, libc.VaList(bp+24, i, iCell, iNode))
 			}
 		}
 	}
@@ -124236,14 +124294,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 	if aNode != 0 {
 		if *(*int32)(unsafe.Pointer(bp + 48)) < 4 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27120, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
+				ts+27167, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
 		} else {
 			var nCell int32
 			var i int32
 			if aParent == uintptr(0) {
 				iDepth = readInt16(tls, aNode)
 				if iDepth > RTREE_MAX_DEPTH {
-					rtreeCheckAppendMsg(tls, pCheck, ts+27154, libc.VaList(bp+16, iDepth))
+					rtreeCheckAppendMsg(tls, pCheck, ts+27201, libc.VaList(bp+16, iDepth))
 					Xsqlite3_free(tls, aNode)
 					return
 				}
@@ -124251,7 +124309,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 			nCell = readInt16(tls, aNode+2)
 			if 4+nCell*(8+(*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim*2*4) > *(*int32)(unsafe.Pointer(bp + 48)) {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27184,
+					ts+27231,
 					libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48))))
 			} else {
 				for i = 0; i < nCell; i++ {
@@ -124280,14 +124338,14 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) {
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK {
 		var pCount uintptr
-		pCount = rtreeCheckPrepare(tls, pCheck, ts+27239,
+		pCount = rtreeCheckPrepare(tls, pCheck, ts+27286,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl))
 		if pCount != 0 {
 			if Xsqlite3_step(tls, pCount) == SQLITE_ROW {
 				var nActual I64 = Xsqlite3_column_int64(tls, pCount, 0)
 				if nActual != nExpect {
 					rtreeCheckAppendMsg(tls, pCheck,
-						ts+27270, libc.VaList(bp+24, zTbl, nExpect, nActual))
+						ts+27317, libc.VaList(bp+24, zTbl, nExpect, nActual))
 				}
 			}
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount)
@@ -124314,7 +124372,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	}
 
 	if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
-		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27337, libc.VaList(bp, zDb, zTab))
+		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27384, libc.VaList(bp, zDb, zTab))
 		if pStmt != 0 {
 			nAux = Xsqlite3_column_count(tls, pStmt) - 2
 			Xsqlite3_finalize(tls, pStmt)
@@ -124323,12 +124381,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		}
 	}
 
-	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25157, libc.VaList(bp+16, zDb, zTab))
+	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25204, libc.VaList(bp+16, zDb, zTab))
 	if pStmt != 0 {
 		var rc int32
 		(*RtreeCheck)(unsafe.Pointer(bp + 32)).FnDim = (Xsqlite3_column_count(tls, pStmt) - 1 - nAux) / 2
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).FnDim < 1 {
-			rtreeCheckAppendMsg(tls, bp+32, ts+27365, 0)
+			rtreeCheckAppendMsg(tls, bp+32, ts+27412, 0)
 		} else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).FbInt = libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)
 		}
@@ -124342,8 +124400,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			rtreeCheckNode(tls, bp+32, 0, uintptr(0), int64(1))
 		}
-		rtreeCheckCount(tls, bp+32, ts+27396, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
-		rtreeCheckCount(tls, bp+32, ts+27403, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27443, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27450, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
 	}
 
 	Xsqlite3_finalize(tls, (*RtreeCheck)(unsafe.Pointer(bp+32)).FpGetNode)
@@ -124351,7 +124409,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 + 40 + 1*8)))
 
 	if bEnd != 0 {
-		var rc int32 = Xsqlite3_exec(tls, db, ts+27411, uintptr(0), uintptr(0), uintptr(0))
+		var rc int32 = Xsqlite3_exec(tls, db, ts+27458, uintptr(0), uintptr(0), uintptr(0))
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).Frc = rc
 		}
@@ -124366,7 +124424,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 
 	if nArg != 1 && nArg != 2 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+27415, -1)
+			ts+27462, -1)
 	} else {
 		var rc int32
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
@@ -124384,7 +124442,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 				if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
 					return *(*uintptr)(unsafe.Pointer(bp))
 				}
-				return ts + 18012
+				return ts + 18059
 			}(), -1, libc.UintptrFromInt32(-1))
 		} else {
 			Xsqlite3_result_error_code(tls, ctx, rc)
@@ -124755,11 +124813,11 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var db uintptr = Xsqlite3_context_db_handle(tls, context)
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
-		Xsqlite3_str_append(tls, x, ts+27466, 1)
+		Xsqlite3_str_append(tls, x, ts+27513, 1)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27468, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27515, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27479, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27526, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -124779,19 +124837,19 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
 		var cSep uint8 = uint8('\'')
-		Xsqlite3_str_appendf(tls, x, ts+27490, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27537, 0)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27508, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27555, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 			cSep = uint8(' ')
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27516, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27563, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		for i = 1; i < argc; i++ {
 			var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 			if z != 0 && *(*uint8)(unsafe.Pointer(z)) != 0 {
-				Xsqlite3_str_appendf(tls, x, ts+27524, libc.VaList(bp+40, z))
+				Xsqlite3_str_appendf(tls, x, ts+27571, libc.VaList(bp+40, z))
 			}
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27528, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27575, 0)
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -125711,7 +125769,7 @@ __1:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+27541, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+27588, 0)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1)
 	ii = 3
@@ -125720,7 +125778,7 @@ __2:
 		goto __4
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+27563, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
+	Xsqlite3_str_appendf(tls, pSql, ts+27610, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
 	goto __3
 __3:
 	ii++
@@ -125728,7 +125786,7 @@ __3:
 	goto __4
 __4:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26630, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26677, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __5
@@ -125965,7 +126023,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 	}
 	if iFuncTerm >= 0 {
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum
-		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27567
+		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27614
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).FargvIndex = 1
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).Fomit = uint8(0)
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 300.0
@@ -125973,7 +126031,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 		return SQLITE_OK
 	}
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4
-	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27573
+	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27620
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000)
 	return SQLITE_OK
@@ -126085,7 +126143,7 @@ __1:
 	if !(*(*int32)(unsafe.Pointer(bp + 48)) == SQLITE_ERROR) {
 		goto __4
 	}
-	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27582, 0)
+	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27629, 0)
 __4:
 	;
 	goto geopoly_update_end
@@ -126217,14 +126275,14 @@ geopoly_update_end:
 func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 {
 	_ = pVtab
 	_ = nArg
-	if Xsqlite3_stricmp(tls, zName, ts+27622) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27669) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyOverlapFunc}))
 		*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
 		return SQLITE_INDEX_CONSTRAINT_FUNCTION
 	}
-	if Xsqlite3_stricmp(tls, zName, ts+27638) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27685) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyWithinFunc}))
@@ -126289,7 +126347,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 {
 			uintptr(0), aAgg[i].FxStep, aAgg[i].FxFinal)
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27653, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27700, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
 	}
 	return rc
 }
@@ -126301,25 +126359,25 @@ var aFunc = [12]struct {
 	F__ccgo_pad1 [6]byte
 	FzName       uintptr
 }{
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27661},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27674},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27687},
-	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27700},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27638},
-	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27712},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27622},
-	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27735},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27749},
-	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27762},
-	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27776},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27792},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27708},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27721},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27734},
+	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27747},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27685},
+	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27759},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27669},
+	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27782},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27796},
+	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27809},
+	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27823},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27839},
 }
 var aAgg = [1]struct {
 	FxStep  uintptr
 	FxFinal uintptr
 	FzName  uintptr
 }{
-	{FxStep: 0, FxFinal: 0, FzName: ts + 27804},
+	{FxStep: 0, FxFinal: 0, FzName: ts + 27851},
 }
 
 // Register the r-tree module with database handle db. This creates the
@@ -126329,26 +126387,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 {
 	var utf8 int32 = SQLITE_UTF8
 	var rc int32
 
-	rc = Xsqlite3_create_function(tls, db, ts+27823, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	rc = Xsqlite3_create_function(tls, db, ts+27870, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr)
 	}{rtreenode})), uintptr(0), uintptr(0))
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27833, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27880, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreedepth})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27844, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27891, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreecheck})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_REAL32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27567, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27614, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_INT32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27855, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27902, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		rc = sqlite3_geopoly_init(tls, db)
@@ -126402,7 +126460,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
 			Xsqlite3_result_error_nomem(tls, ctx)
 			rtreeMatchArgFree(tls, pBlob)
 		} else {
-			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25143, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
+			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25190, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
 		}
 	}
 }
@@ -126729,7 +126787,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 
 	nOut = rbuDeltaOutputSize(tls, aDelta, nDelta)
 	if nOut < 0 {
-		Xsqlite3_result_error(tls, context, ts+27865, -1)
+		Xsqlite3_result_error(tls, context, ts+27912, -1)
 		return
 	}
 
@@ -126740,7 +126798,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 		nOut2 = rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut)
 		if nOut2 != nOut {
 			Xsqlite3_free(tls, aOut)
-			Xsqlite3_result_error(tls, context, ts+27865, -1)
+			Xsqlite3_result_error(tls, context, ts+27912, -1)
 		} else {
 			Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		}
@@ -126841,7 +126899,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuObjIterClearStatements(tls, pIter)
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) {
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+27886, uintptr(0), uintptr(0), p+64)
+				ts+27933, uintptr(0), uintptr(0), p+64)
 		}
 
 		if rc == SQLITE_OK {
@@ -126905,7 +126963,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) {
 				Xsqlite3_result_text(tls, pCtx, zIn, -1, uintptr(0))
 			}
 		} else {
-			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25056, zIn, uint64(4)) == 0 {
+			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25103, zIn, uint64(4)) == 0 {
 				var i int32
 				for i = 4; int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) >= '0' && int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) <= '9'; i++ {
 				}
@@ -126926,16 +126984,16 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 
 	rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28057, libc.VaList(bp, func() uintptr {
+			ts+28104, libc.VaList(bp, func() uintptr {
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					return ts + 28207
+					return ts + 28254
 				}
 				return ts + 1554
 			}())))
 
 	if rc == SQLITE_OK {
 		rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64,
-			ts+28248)
+			ts+28295)
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1
@@ -127051,7 +127109,7 @@ func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28373, libc.VaList(bp, zTab)))
+			ts+28420, libc.VaList(bp, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) != SQLITE_ROW) {
 		goto __1
 	}
@@ -127069,7 +127127,7 @@ __2:
 	*(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), 1)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+1*8, p+64,
-		Xsqlite3_mprintf(tls, ts+28492, libc.VaList(bp+8, zTab)))
+		Xsqlite3_mprintf(tls, ts+28539, libc.VaList(bp+8, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) {
 		goto __3
 	}
@@ -127087,7 +127145,7 @@ __4:
 	}
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+2*8, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28513, libc.VaList(bp+16, zIdx)))
+			ts+28560, libc.VaList(bp+16, zIdx)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __7
 	}
@@ -127110,7 +127168,7 @@ __6:
 __5:
 	;
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+3*8, p+64,
-		Xsqlite3_mprintf(tls, ts+28564, libc.VaList(bp+24, zTab)))
+		Xsqlite3_mprintf(tls, ts+28611, libc.VaList(bp+24, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __10
 	}
@@ -127156,7 +127214,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		libc.Xmemcpy(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+16, p+64,
-			Xsqlite3_mprintf(tls, ts+28585, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28632, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0
@@ -127171,7 +127229,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 			libc.Xmemset(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0x01, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		}
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp+8, zIdx)))
+			Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp+8, zIdx)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
 			var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 1)
 			if iCid >= 0 {
@@ -127211,7 +127269,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+56, pIter+108)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19489, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19536, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
 			return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc
@@ -127221,18 +127279,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		}
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+64, p+64,
-			Xsqlite3_mprintf(tls, ts+28642, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
+			Xsqlite3_mprintf(tls, ts+28689, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 			rbuAllocateIterArrays(tls, p, pIter, nCol)
 		}
 		for i = 0; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && i < nCol; i++ {
 			var zName uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), i)
-			if Xsqlite3_strnicmp(tls, ts+28661, zName, 4) != 0 {
+			if Xsqlite3_strnicmp(tls, ts+28708, zName, 4) != 0 {
 				var zCopy uintptr = rbuStrndup(tls, zName, p+56)
 				*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol
 				*(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(libc.PostIncInt32(&(*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol, 1))*8)) = zCopy
-			} else if 0 == Xsqlite3_stricmp(tls, ts+28666, zName) {
+			} else if 0 == Xsqlite3_stricmp(tls, ts+28713, zName) {
 				bRbuRowid = 1
 			}
 		}
@@ -127244,18 +127302,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			bRbuRowid != libc.Bool32((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls,
-				ts+28676, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
+				ts+28723, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 					func() uintptr {
 						if bRbuRowid != 0 {
-							return ts + 28705
+							return ts + 28752
 						}
-						return ts + 28718
+						return ts + 28765
 					}()))
 		}
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-				Xsqlite3_mprintf(tls, ts+28727, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				Xsqlite3_mprintf(tls, ts+28774, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		}
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64))) {
 			var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 1)
@@ -127269,7 +127327,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			}
 			if i == (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28749,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28796,
 					libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName))
 			} else {
 				var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 5)
@@ -127316,7 +127374,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var i int32
 	for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 		var z uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-		zList = rbuMPrintf(tls, p, ts+28776, libc.VaList(bp, zList, zSep, z))
+		zList = rbuMPrintf(tls, p, ts+28823, libc.VaList(bp, zList, zSep, z))
 		zSep = ts + 14614
 	}
 	return zList
@@ -127334,7 +127392,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr,
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if int32(*(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zRet = rbuMPrintf(tls, p, ts+28785, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
+				zRet = rbuMPrintf(tls, p, ts+28832, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
 				zSep = zSeparator
 				break
 			}
@@ -127356,25 +127414,25 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32,
 	if bRowid != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+28798, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				ts+28845, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 			var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-			zRet = rbuMPrintf(tls, p, ts+28830, libc.VaList(bp+16, iMax))
+			zRet = rbuMPrintf(tls, p, ts+28877, libc.VaList(bp+16, iMax))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 	} else {
-		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+28853)
-		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28859, ts+28866, ts+4957)
+		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+28900)
+		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28906, ts+28913, ts+4957)
 		var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+1554)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 				Xsqlite3_mprintf(tls,
-					ts+28874,
+					ts+28921,
 					libc.VaList(bp+24, zSelect, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 				var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-				zRet = rbuMPrintf(tls, p, ts+28916, libc.VaList(bp+56, zList, zVal))
+				zRet = rbuMPrintf(tls, p, ts+28963, libc.VaList(bp+56, zList, zVal))
 			}
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 		}
@@ -127416,7 +127474,7 @@ func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	*(*uintptr)(unsafe.Pointer(bp + 176)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-		Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+		Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 __1:
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176)))) {
 		goto __2
@@ -127451,7 +127509,7 @@ __10:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 	goto __7
 __6:
-	zCol = ts + 28936
+	zCol = ts + 28983
 __7:
 	;
 	goto __5
@@ -127459,11 +127517,11 @@ __4:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 __5:
 	;
-	zLhs = rbuMPrintf(tls, p, ts+28944,
+	zLhs = rbuMPrintf(tls, p, ts+28991,
 		libc.VaList(bp+8, zLhs, zSep, zCol, zCollate))
-	zOrder = rbuMPrintf(tls, p, ts+28965,
+	zOrder = rbuMPrintf(tls, p, ts+29012,
 		libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate))
-	zSelect = rbuMPrintf(tls, p, ts+29001,
+	zSelect = rbuMPrintf(tls, p, ts+29048,
 		libc.VaList(bp+80, zSelect, zSep, iCol, zCol))
 	zSep = ts + 14614
 	iCol++
@@ -127483,7 +127541,7 @@ __11:
 	*(*uintptr)(unsafe.Pointer(bp + 184)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+184, p+64,
-		Xsqlite3_mprintf(tls, ts+29028,
+		Xsqlite3_mprintf(tls, ts+29075,
 			libc.VaList(bp+112, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 184)))) {
 		goto __13
@@ -127510,7 +127568,7 @@ __19:
 	;
 __18:
 	;
-	zVector = rbuMPrintf(tls, p, ts+29076, libc.VaList(bp+136, zVector, zSep, zQuoted))
+	zVector = rbuMPrintf(tls, p, ts+29123, libc.VaList(bp+136, zVector, zSep, zQuoted))
 	zSep = ts + 14614
 	goto __15
 __15:
@@ -127522,7 +127580,7 @@ __16:
 	if !!(bFailed != 0) {
 		goto __20
 	}
-	zRet = rbuMPrintf(tls, p, ts+29083, libc.VaList(bp+160, zLhs, zVector))
+	zRet = rbuMPrintf(tls, p, ts+29130, libc.VaList(bp+160, zLhs, zVector))
 __20:
 	;
 __13:
@@ -127555,7 +127613,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 	if rc == SQLITE_OK {
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200, p+64,
-			Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+			Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 	}
 
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200))) {
@@ -127567,7 +127625,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 		if iCid == -2 {
 			var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 0)
-			zRet = Xsqlite3_mprintf(tls, ts+29095, libc.VaList(bp+8, zRet, zCom,
+			zRet = Xsqlite3_mprintf(tls, ts+29142, libc.VaList(bp+8, zRet, zCom,
 				(*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FnSpan, (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FzSpan, zCollate))
 			zType = ts + 1554
 		} else {
@@ -127579,37 +127637,37 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 					zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 				} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					zCol = ts + 28936
+					zCol = ts + 28983
 				} else {
-					zCol = ts + 28666
+					zCol = ts + 28713
 				}
 				zType = ts + 1119
 			} else {
 				zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 				zType = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8))
 			}
-			zRet = Xsqlite3_mprintf(tls, ts+29117, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
+			zRet = Xsqlite3_mprintf(tls, ts+29164, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 5) != 0 {
 			var zOrder uintptr = func() uintptr {
 				if bDesc != 0 {
-					return ts + 28853
+					return ts + 28900
 				}
 				return ts + 1554
 			}()
-			zImpPK = Xsqlite3_mprintf(tls, ts+29137,
+			zImpPK = Xsqlite3_mprintf(tls, ts+29184,
 				libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder))
 		}
-		zImpCols = Xsqlite3_mprintf(tls, ts+29158,
+		zImpCols = Xsqlite3_mprintf(tls, ts+29205,
 			libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate))
 		zWhere = Xsqlite3_mprintf(tls,
-			ts+29191, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
+			ts+29238, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
 		if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) {
 			rc = SQLITE_NOMEM
 		}
 		zCom = ts + 14614
-		zAnd = ts + 21525
+		zAnd = ts + 21572
 		nBind++
 	}
 
@@ -127648,9 +127706,9 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = Xsqlite3_mprintf(tls, ts+29215, libc.VaList(bp, zList, zS, zObj, zCol))
+				zList = Xsqlite3_mprintf(tls, ts+29262, libc.VaList(bp, zList, zS, zObj, zCol))
 			} else {
-				zList = Xsqlite3_mprintf(tls, ts+29227, libc.VaList(bp+32, zList, zS))
+				zList = Xsqlite3_mprintf(tls, ts+29274, libc.VaList(bp+32, zList, zS))
 			}
 			zS = ts + 14614
 			if zList == uintptr(0) {
@@ -127660,7 +127718,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-			zList = rbuMPrintf(tls, p, ts+29236, libc.VaList(bp+48, zList, zObj))
+			zList = rbuMPrintf(tls, p, ts+29283, libc.VaList(bp+48, zList, zObj))
 		}
 	}
 	return zList
@@ -127672,18 +127730,18 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	var zList uintptr = uintptr(0)
 	if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-		zList = rbuMPrintf(tls, p, ts+29251, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
+		zList = rbuMPrintf(tls, p, ts+29298, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
 	} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
 		var zSep uintptr = ts + 1554
 		var i int32
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
-				zList = rbuMPrintf(tls, p, ts+29265, libc.VaList(bp+8, zList, zSep, i, i+1))
-				zSep = ts + 21525
+				zList = rbuMPrintf(tls, p, ts+29312, libc.VaList(bp+8, zList, zSep, i, i+1))
+				zSep = ts + 21572
 			}
 		}
 		zList = rbuMPrintf(tls, p,
-			ts+29277, libc.VaList(bp+40, zList))
+			ts+29324, libc.VaList(bp+40, zList))
 
 	} else {
 		var zSep uintptr = ts + 1554
@@ -127691,8 +127749,8 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = rbuMPrintf(tls, p, ts+29327, libc.VaList(bp+48, zList, zSep, zCol, i+1))
-				zSep = ts + 21525
+				zList = rbuMPrintf(tls, p, ts+29374, libc.VaList(bp+48, zList, zSep, zCol, i+1))
+				zSep = ts + 21572
 			}
 		}
 	}
@@ -127701,7 +127759,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 func rbuBadControlError(tls *libc.TLS, p uintptr) {
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29340, 0)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29387, 0)
 }
 
 func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr {
@@ -127719,15 +127777,15 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr
 			for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 				var c uint8 = *(*uint8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4)))))
 				if int32(c) == 'x' {
-					zList = rbuMPrintf(tls, p, ts+29327,
+					zList = rbuMPrintf(tls, p, ts+29374,
 						libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14614
 				} else if int32(c) == 'd' {
-					zList = rbuMPrintf(tls, p, ts+29366,
+					zList = rbuMPrintf(tls, p, ts+29413,
 						libc.VaList(bp+32, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14614
 				} else if int32(c) == 'f' {
-					zList = rbuMPrintf(tls, p, ts+29396,
+					zList = rbuMPrintf(tls, p, ts+29443,
 						libc.VaList(bp+72, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14614
 				}
@@ -127764,19 +127822,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var z uintptr = uintptr(0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		var zSep uintptr = ts + 29433
+		var zSep uintptr = ts + 29480
 		*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 		*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56, p+64,
-			Xsqlite3_mprintf(tls, ts+28585, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28632, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) {
 			var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 3)
 			if zOrig != 0 && libc.Xstrcmp(tls, zOrig, ts+16155) == 0 {
 				var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 1)
 				if zIdx != 0 {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-						Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp+8, zIdx)))
+						Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp+8, zIdx)))
 				}
 				break
 			}
@@ -127788,15 +127846,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 				var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 2)
 				var zDesc uintptr
 				if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 3) != 0 {
-					zDesc = ts + 28853
+					zDesc = ts + 28900
 				} else {
 					zDesc = ts + 1554
 				}
-				z = rbuMPrintf(tls, p, ts+29446, libc.VaList(bp+16, z, zSep, zCol, zDesc))
+				z = rbuMPrintf(tls, p, ts+29493, libc.VaList(bp+16, z, zSep, zCol, zDesc))
 				zSep = ts + 14614
 			}
 		}
-		z = rbuMPrintf(tls, p, ts+29457, libc.VaList(bp+48, z))
+		z = rbuMPrintf(tls, p, ts+29504, libc.VaList(bp+48, z))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
 	return z
@@ -127816,7 +127874,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		var zPk uintptr = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168, p+64,
-			ts+29461)
+			ts+29508)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168)), 1, tnum)
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168))) {
@@ -127825,7 +127883,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		}
 		if zIdx != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-				Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp, zIdx)))
+				Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp, zIdx)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168)))
 
@@ -127835,23 +127893,23 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 				var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 1)
 				var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 3)
 				var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 4)
-				zCols = rbuMPrintf(tls, p, ts+29511, libc.VaList(bp+8, zCols, zComma,
+				zCols = rbuMPrintf(tls, p, ts+29558, libc.VaList(bp+8, zCols, zComma,
 					iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate))
-				zPk = rbuMPrintf(tls, p, ts+29533, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
+				zPk = rbuMPrintf(tls, p, ts+29580, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
 					if bDesc != 0 {
-						return ts + 28853
+						return ts + 28900
 					}
 					return ts + 1554
 				}()))
 				zComma = ts + 14614
 			}
 		}
-		zCols = rbuMPrintf(tls, p, ts+29543, libc.VaList(bp+80, zCols))
+		zCols = rbuMPrintf(tls, p, ts+29590, libc.VaList(bp+80, zCols))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176)))
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 1, tnum))
 		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+29558,
+			ts+29605,
 			libc.VaList(bp+120, zCols, zPk))
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 0, 0))
 	}
@@ -127877,13 +127935,13 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192, uintptr(0), uintptr(0), uintptr(0))
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 {
-				zPk = ts + 29620
+				zPk = ts + 29667
 			}
-			zSql = rbuMPrintf(tls, p, ts+29633,
+			zSql = rbuMPrintf(tls, p, ts+29680,
 				libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192)),
 					func() uintptr {
 						if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 {
-							return ts + 29660
+							return ts + 29707
 						}
 						return ts + 1554
 					}()))
@@ -127893,16 +127951,16 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
 			var zPk uintptr = rbuWithoutRowidPK(tls, p, pIter)
 			if zPk != 0 {
-				zSql = rbuMPrintf(tls, p, ts+29670, libc.VaList(bp+88, zSql, zPk))
+				zSql = rbuMPrintf(tls, p, ts+29717, libc.VaList(bp+88, zSql, zPk))
 			}
 		}
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 1, tnum))
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29677,
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29724,
 			libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql,
 				func() uintptr {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
-						return ts + 29709
+						return ts + 29756
 					}
 					return ts + 1554
 				}()))
@@ -127919,7 +127977,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis
 	if zBind != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls,
-				ts+29724,
+				ts+29771,
 				libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind)))
 	}
 }
@@ -127956,7 +128014,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(bp + 8)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64,
-			ts+29781)
+			ts+29828)
 	}
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		var rc2 int32
@@ -128061,7 +128119,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 		var zLimit uintptr = uintptr(0)
 
 		if nOffset != 0 {
-			zLimit = Xsqlite3_mprintf(tls, ts+29847, libc.VaList(bp, nOffset))
+			zLimit = Xsqlite3_mprintf(tls, ts+29894, libc.VaList(bp, nOffset))
 			if !(zLimit != 0) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
 			}
@@ -128084,7 +128142,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 0, 1))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 1, tnum))
 			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+29867,
+				ts+29914,
 				libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600)), *(*uintptr)(unsafe.Pointer(bp + 608))))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 0, 0))
 
@@ -128092,13 +128150,13 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64,
-					Xsqlite3_mprintf(tls, ts+29932, libc.VaList(bp+128, zTbl, zBind)))
+					Xsqlite3_mprintf(tls, ts+29979, libc.VaList(bp+128, zTbl, zBind)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64,
-					Xsqlite3_mprintf(tls, ts+29968, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
+					Xsqlite3_mprintf(tls, ts+30015, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
 			}
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -128114,7 +128172,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					}
 
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30002,
+						ts+30049,
 						libc.VaList(bp+160, zCollist,
 							(*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
@@ -128122,9 +128180,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								if zStart != 0 {
 									return func() uintptr {
 										if zPart != 0 {
-											return ts + 30063
+											return ts + 30110
 										}
-										return ts + 30067
+										return ts + 30114
 									}()
 								}
 								return ts + 1554
@@ -128133,20 +128191,20 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					Xsqlite3_free(tls, zStart)
 				} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30073,
+						ts+30120,
 						libc.VaList(bp+216, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart, zCollist, zLimit))
 				} else {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30134,
+						ts+30181,
 						libc.VaList(bp+264, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart,
 							zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
 							func() uintptr {
 								if zPart != 0 {
-									return ts + 30063
+									return ts + 30110
 								}
-								return ts + 30067
+								return ts + 30114
 							}(),
 							zCollist, zLimit))
 				}
@@ -128183,16 +128241,16 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB {
 					return ts + 1554
 				}
-				return ts + 30293
+				return ts + 30340
 			}()
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30302,
+						ts+30349,
 						libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr {
 							if bRbuRowid != 0 {
-								return ts + 30338
+								return ts + 30385
 							}
 							return ts + 1554
 						}(), zBindings)))
@@ -128201,32 +128259,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30348, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
+						ts+30395, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 				var zRbuRowid uintptr = ts + 1554
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-					zRbuRowid = ts + 30376
+					zRbuRowid = ts + 30423
 				}
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-					ts+30388, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
+					ts+30435, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
 						if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
-							return ts + 30464
+							return ts + 30511
 						}
 						return ts + 1554
 					}(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-					ts+30481,
+					ts+30528,
 					libc.VaList(bp+440, zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zNewlist))
 
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-						ts+30780,
+						ts+30827,
 						libc.VaList(bp+512, zWrite, zTbl, zNewlist))
 				}
 
@@ -128239,9 +128297,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				var zOrder uintptr = uintptr(0)
 				if bRbuRowid != 0 {
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-						zRbuRowid = ts + 30879
+						zRbuRowid = ts + 30926
 					} else {
-						zRbuRowid = ts + 30889
+						zRbuRowid = ts + 30936
 					}
 				}
 
@@ -128254,7 +128312,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 						}
 					}
 					if bRbuRowid != 0 {
-						zOrder = rbuMPrintf(tls, p, ts+28936, 0)
+						zOrder = rbuMPrintf(tls, p, ts+28983, 0)
 					} else {
 						zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+1554)
 					}
@@ -128263,11 +128321,11 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz,
 						Xsqlite3_mprintf(tls,
-							ts+30900,
+							ts+30947,
 							libc.VaList(bp+536, zCollist,
 								func() uintptr {
 									if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-										return ts + 30948
+										return ts + 30995
 									}
 									return ts + 1554
 								}(),
@@ -128280,7 +128338,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								}(),
 								func() uintptr {
 									if zOrder != 0 {
-										return ts + 22859
+										return ts + 22906
 									}
 									return ts + 1554
 								}(), zOrder,
@@ -128348,9 +128406,9 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp
 			var zPrefix uintptr = ts + 1554
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB {
-				zPrefix = ts + 30293
+				zPrefix = ts + 30340
 			}
-			zUpdate = Xsqlite3_mprintf(tls, ts+30954,
+			zUpdate = Xsqlite3_mprintf(tls, ts+31001,
 				libc.VaList(bp, zPrefix, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere))
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate)
@@ -128409,7 +128467,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr {
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 16)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8, p+64,
-		Xsqlite3_mprintf(tls, ts+30984, libc.VaList(bp, p+48)))
+		Xsqlite3_mprintf(tls, ts+31031, libc.VaList(bp, p+48)))
 	for *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 		switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0) {
 		case RBU_STATE_STAGE:
@@ -128482,18 +128540,18 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441, SQLITE_FCNTL_RBUCNT, p)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) {
 			var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441)
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31014, libc.VaList(bp, zFile, zFile))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31061, libc.VaList(bp, zFile, zFile))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 {
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31042, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31089, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
 		libc.Xmemcpy(tls, p+48, ts+3286, uint64(4))
 	} else {
 		libc.Xmemcpy(tls, p+48, ts+6441, uint64(4))
 	}
 
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31060, libc.VaList(bp+24, p+48))
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31107, libc.VaList(bp+24, p+48))
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		var bOpen int32 = 0
@@ -128533,11 +128591,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				return
 			}
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31126, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31173, 0)
 		} else {
 			var zTarget uintptr
 			var zExtra uintptr = uintptr(0)
-			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24206, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
+			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24253, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
 				zExtra = (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5
 				for *(*uint8)(unsafe.Pointer(zExtra)) != 0 {
 					if int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zExtra, 1)))) == '?' {
@@ -128549,13 +128607,13 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				}
 			}
 
-			zTarget = Xsqlite3_mprintf(tls, ts+31158,
+			zTarget = Xsqlite3_mprintf(tls, ts+31205,
 				libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441),
 					func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1554
 						}
-						return ts + 31190
+						return ts + 31237
 					}(), func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1554
@@ -128574,21 +128632,21 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31192, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31239, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTmpInsertFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31207, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31254, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuFossilDeltaFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+31224, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31271, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTargetNameFunc})), uintptr(0), uintptr(0))
 	}
@@ -128596,7 +128654,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, SQLITE_FCNTL_RBU, p)
 	}
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31240, 0)
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31287, 0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, SQLITE_FCNTL_RBU, p)
@@ -128604,7 +128662,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31268, 0)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31315, 0)
 	}
 }
 
@@ -128633,14 +128691,14 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
 	if pState == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = 0
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31240, uintptr(0), uintptr(0), uintptr(0))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31287, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var rc2 int32
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CAPTURE
-		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31286, uintptr(0), uintptr(0), uintptr(0))
+		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31333, uintptr(0), uintptr(0), uintptr(0))
 		if rc2 != SQLITE_NOTICE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 		}
@@ -128766,7 +128824,7 @@ func rbuLockDatabase(tls *libc.TLS, db uintptr) int32 {
 
 func rbuExclusiveCheckpoint(tls *libc.TLS, db uintptr) int32 {
 	var zUri uintptr = Xsqlite3_db_filename(tls, db, uintptr(0))
-	return Xsqlite3_uri_boolean(tls, zUri, ts+31321, 0)
+	return Xsqlite3_uri_boolean(tls, zUri, ts+31368, 0)
 }
 
 func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
@@ -128781,8 +128839,8 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441)
 	}
-	zOal = Xsqlite3_mprintf(tls, ts+31346, libc.VaList(bp, zMove))
-	zWal = Xsqlite3_mprintf(tls, ts+31353, libc.VaList(bp+8, zMove))
+	zOal = Xsqlite3_mprintf(tls, ts+31393, libc.VaList(bp, zMove))
+	zWal = Xsqlite3_mprintf(tls, ts+31400, libc.VaList(bp+8, zMove))
 
 	if zWal == uintptr(0) || zOal == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
@@ -128899,7 +128957,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) {
 			(*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 &&
 			Xsqlite3_column_type(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect, i) == SQLITE_NULL {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_MISMATCH
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23844, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23891, 0)
 			return
 		}
 
@@ -128992,7 +129050,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 		var iCookie int32 = 1000000
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8, p+64,
-			ts+31360)
+			ts+31407)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 				iCookie = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0)
@@ -129000,7 +129058,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8)))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31382, libc.VaList(bp, iCookie+1))
+			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31429, libc.VaList(bp, iCookie+1))
 		}
 	}
 }
@@ -129021,7 +129079,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) {
 
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+31409,
+				ts+31456,
 				libc.VaList(bp, p+48,
 					RBU_STATE_STAGE, eStage,
 					RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl,
@@ -129051,9 +129109,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+31567, libc.VaList(bp, zPragma)))
+			Xsqlite3_mprintf(tls, ts+31614, libc.VaList(bp, zPragma)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31582,
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31629,
 				libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 0)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -129067,10 +129125,10 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 
-	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31602, uintptr(0), uintptr(0), p+64)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31649, uintptr(0), uintptr(0), p+64)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+31627)
+			ts+31674)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -129084,12 +129142,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+31735)
+			ts+31782)
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64,
-			ts+31800)
+			ts+31847)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -129101,7 +129159,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
 	}
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31844, uintptr(0), uintptr(0), p+64)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31891, uintptr(0), uintptr(0), p+64)
 	}
 
 	rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp)))
@@ -129129,7 +129187,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 {
 						if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 							rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-								ts+31869, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
+								ts+31916, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 						}
 					} else {
 						rbuObjIterPrepareAll(tls, p, pIter, 0)
@@ -129251,7 +129309,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) {
 
 		if rc == SQLITE_OK && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) {
 			rc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31897, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31944, 0)
 		}
 
 		if rc == SQLITE_OK {
@@ -129267,7 +129325,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	var zOal uintptr = rbuMPrintf(tls, p, ts+31346, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
+	var zOal uintptr = rbuMPrintf(tls, p, ts+31393, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
 	if zOal != 0 {
 		*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, SQLITE_FCNTL_VFS_POINTER, bp+8)
@@ -129284,7 +129342,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) {
 	defer tls.Free(76)
 
 	Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8)
-	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]uint8{})), bp+12, ts+31922, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
+	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]uint8{})), bp+12, ts+31969, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12, uintptr(0))
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12)
@@ -129318,7 +129376,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) {
 
 	rc = prepareFreeAndCollectError(tls, db, bp+8, bp+16,
 		Xsqlite3_mprintf(tls,
-			ts+31933, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
+			ts+31980, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
 	if rc != SQLITE_OK {
 		Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 16)), -1)
 	} else {
@@ -129348,13 +129406,13 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+32005, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+32052, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuIndexCntFunc})), uintptr(0), uintptr(0))
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32019)
+				ts+32066)
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
@@ -129365,7 +129423,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && bExists != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32076)
+				ts+32123)
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
@@ -129439,7 +129497,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd != 0 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32150, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32197, 0)
 			} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_MOVE {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CKPT
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FnStep = 0
@@ -129457,12 +129515,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 			}()
 			if (*Rbu_file)(unsafe.Pointer(pFd)).FiCookie != (*RbuState)(unsafe.Pointer(pState)).FiCookie {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32182,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32229,
 					libc.VaList(bp+8, func() uintptr {
 						if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-							return ts + 32214
+							return ts + 32261
 						}
-						return ts + 32221
+						return ts + 32268
 					}()))
 			}
 		}
@@ -129486,14 +129544,14 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32228, uintptr(0), uintptr(0), p+64)
+						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32275, uintptr(0), uintptr(0), p+64)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 						var frc int32 = Xsqlite3_file_control(tls, db, ts+6441, SQLITE_FCNTL_ZIPVFS, uintptr(0))
 						if frc == SQLITE_OK {
 							(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls,
-								db, ts+32244, uintptr(0), uintptr(0), p+64)
+								db, ts+32291, uintptr(0), uintptr(0), p+64)
 						}
 					}
 
@@ -129547,7 +129605,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr
 	}
 	if zState != 0 {
 		var n int32 = int32(libc.Xstrlen(tls, zState))
-		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32268, zState+uintptr(n-7), uint64(7)) {
+		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32315, zState+uintptr(n-7), uint64(7)) {
 			return rbuMisuseError(tls)
 		}
 	}
@@ -129574,7 +129632,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) {
 		var i uint32
 		var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg)
 		for i = uint32(0); Size_t(i) < nErrmsg-uint64(8); i++ {
-			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30293, uint64(8)) == 0 {
+			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30340, uint64(8)) == 0 {
 				var nDel int32 = 8
 				for int32(*(*uint8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= '0' && int32(*(*uint8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= '9' {
 					nDel++
@@ -129610,7 +129668,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 {
 		rbuObjIterFinalize(tls, p+80)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 {
-			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32276, uintptr(0), uintptr(0), uintptr(0))
+			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32323, uintptr(0), uintptr(0), uintptr(0))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE && rc2 != SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 			}
@@ -129729,12 +129787,12 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 				zBegin = ts + 14503
 			} else {
-				zBegin = ts + 32228
+				zBegin = ts + 32275
 			}
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32228, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32275, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -130080,7 +130138,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 			})(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16)
 			if rc == SQLITE_OK {
 				rc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32303, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32350, 0)
 			} else if rc == SQLITE_NOTFOUND {
 				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p
 				(*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu
@@ -130105,7 +130163,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 	if rc == SQLITE_OK && op == SQLITE_FCNTL_VFSNAME {
 		var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs
 		var zIn uintptr = *(*uintptr)(unsafe.Pointer(pArg))
-		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32326, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
+		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32373, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
 		*(*uintptr)(unsafe.Pointer(pArg)) = zOut
 		if zOut == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -130265,7 +130323,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags
 	}
 
 	if oflags&SQLITE_OPEN_MAIN_DB != 0 &&
-		Xsqlite3_uri_boolean(tls, zName, ts+32337, 0) != 0 {
+		Xsqlite3_uri_boolean(tls, zName, ts+32384, 0) != 0 {
 		oflags = SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE
 		zOpen = uintptr(0)
 	}
@@ -131094,7 +131152,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 		rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0))
 		if rc == SQLITE_OK {
 			zPragma = Xsqlite3_mprintf(tls,
-				ts+32348, 0)
+				ts+32395, 0)
 		} else if rc == SQLITE_ERROR {
 			zPragma = Xsqlite3_mprintf(tls, ts+1554, 0)
 		} else {
@@ -131107,7 +131165,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 			return rc
 		}
 	} else {
-		zPragma = Xsqlite3_mprintf(tls, ts+32469, libc.VaList(bp, zDb, zThis))
+		zPragma = Xsqlite3_mprintf(tls, ts+32516, libc.VaList(bp, zDb, zThis))
 	}
 	if !(zPragma != 0) {
 		*(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0)
@@ -131787,9 +131845,9 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr,
 
 	for i = 0; i < nCol; i++ {
 		if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
-			zRet = Xsqlite3_mprintf(tls, ts+32498,
+			zRet = Xsqlite3_mprintf(tls, ts+32545,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 21525
+			zSep = ts + 21572
 			if zRet == uintptr(0) {
 				break
 			}
@@ -131812,9 +131870,9 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 		if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 {
 			bHave = 1
 			zRet = Xsqlite3_mprintf(tls,
-				ts+32532,
+				ts+32579,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 32573
+			zSep = ts + 32620
 			if zRet == uintptr(0) {
 				break
 			}
@@ -131822,7 +131880,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 	}
 
 	if bHave == 0 {
-		zRet = Xsqlite3_mprintf(tls, ts+7530, 0)
+		zRet = Xsqlite3_mprintf(tls, ts+7519, 0)
 	}
 
 	return zRet
@@ -131833,7 +131891,7 @@ func sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, zTbl uintpt
 	defer tls.Free(40)
 
 	var zRet uintptr = Xsqlite3_mprintf(tls,
-		ts+32578,
+		ts+32625,
 		libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr))
 	return zRet
 }
@@ -131876,7 +131934,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro
 		rc = SQLITE_NOMEM
 	} else {
 		var zStmt uintptr = Xsqlite3_mprintf(tls,
-			ts+32656,
+			ts+32703,
 			libc.VaList(bp, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2))
 		if zStmt == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -132003,7 +132061,7 @@ __6:
 	if !(pzErrMsg != 0) {
 		goto __16
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32709, 0)
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32756, 0)
 __16:
 	;
 	rc = SQLITE_SCHEMA
@@ -132479,7 +132537,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 
 	if 0 == Xsqlite3_stricmp(tls, ts+11348, zTab) {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+32736, libc.VaList(bp, zDb))
+			ts+32783, libc.VaList(bp, zDb))
 		if zSql == uintptr(0) {
 			*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_NOMEM
 		}
@@ -132488,18 +132546,18 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 		var zSep uintptr = ts + 1554
 		*(*SessionBuffer)(unsafe.Pointer(bp + 8)) = SessionBuffer{}
 
-		sessionAppendStr(tls, bp+8, ts+32846, bp+24)
+		sessionAppendStr(tls, bp+8, ts+32893, bp+24)
 		sessionAppendIdent(tls, bp+8, zDb, bp+24)
 		sessionAppendStr(tls, bp+8, ts+1567, bp+24)
 		sessionAppendIdent(tls, bp+8, zTab, bp+24)
-		sessionAppendStr(tls, bp+8, ts+32861, bp+24)
+		sessionAppendStr(tls, bp+8, ts+32908, bp+24)
 		for i = 0; i < nCol; i++ {
 			if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
 				sessionAppendStr(tls, bp+8, zSep, bp+24)
 				sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+24)
-				sessionAppendStr(tls, bp+8, ts+32869, bp+24)
+				sessionAppendStr(tls, bp+8, ts+32916, bp+24)
 				sessionAppendInteger(tls, bp+8, i+1, bp+24)
-				zSep = ts + 21525
+				zSep = ts + 21572
 			}
 		}
 		zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8)).FaBuf
@@ -132608,7 +132666,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 {
 		return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc
 	}
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32875, uintptr(0), uintptr(0), uintptr(0))
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32922, uintptr(0), uintptr(0), uintptr(0))
 	if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
@@ -132700,7 +132758,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	}
 
 	Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24)).FaBuf)
-	Xsqlite3_exec(tls, db, ts+32895, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+32942, uintptr(0), uintptr(0), uintptr(0))
 	Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db))
 	return *(*int32)(unsafe.Pointer(bp + 40))
 }
@@ -132963,7 +133021,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 		rc = sessionInputBuffer(tls, pIn, 9)
 		if rc == SQLITE_OK {
 			if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData {
-				rc = Xsqlite3CorruptError(tls, 219078)
+				rc = Xsqlite3CorruptError(tls, 219169)
 			} else {
 				eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1)))))
 
@@ -132986,7 +133044,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 				rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
 				if rc == SQLITE_OK {
 					if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext {
-						rc = Xsqlite3CorruptError(tls, 219098)
+						rc = Xsqlite3CorruptError(tls, 219189)
 					} else {
 						var enc U8 = func() uint8 {
 							if eType == SQLITE_TEXT {
@@ -133028,7 +133086,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in
 		nRead = nRead + sessionVarintGet(tls, (*SessionInput)(unsafe.Pointer(pIn)).FaData+uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext+nRead), bp)
 
 		if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > 65536 {
-			rc = Xsqlite3CorruptError(tls, 219152)
+			rc = Xsqlite3CorruptError(tls, 219243)
 		} else {
 			rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100)
 			nRead = nRead + *(*int32)(unsafe.Pointer(bp))
@@ -133089,7 +133147,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 {
 			(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
 			sessionBufferGrow(tls, p+72, int64(nByte), bp+4)
 		} else {
-			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219240)
+			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219331)
 		}
 	}
 
@@ -133163,13 +133221,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 	}
 
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219326))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219417))
 	}
 
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op)
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))))
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219332))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219423))
 	}
 
 	if paRec != 0 {
@@ -133231,7 +133289,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 				if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8))
 					if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) {
-						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219376))
+						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219467))
 					}
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0)
 				}
@@ -133604,7 +133662,7 @@ __27:
 	goto __6
 
 __11:
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219741)
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219832)
 	goto finished_invert
 __6:
 	;
@@ -133783,34 +133841,34 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32,
 				(*SessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24
 				libc.Xmemcpy(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(unsafe.Sizeof(U32(0))))
 
-				sessionAppendStr(tls, bp, ts+32913, bp+16)
+				sessionAppendStr(tls, bp, ts+32960, bp+16)
 				sessionAppendIdent(tls, bp, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+16)
-				sessionAppendStr(tls, bp, ts+32926, bp+16)
+				sessionAppendStr(tls, bp, ts+32973, bp+16)
 
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-						sessionAppendStr(tls, bp, ts+32932, bp+16)
+						sessionAppendStr(tls, bp, ts+32979, bp+16)
 						sessionAppendInteger(tls, bp, ii*2+1, bp+16)
 						zSep = ts + 14614
 					}
 				}
 
 				zSep = ts + 1554
-				sessionAppendStr(tls, bp, ts+32861, bp+16)
+				sessionAppendStr(tls, bp, ts+32908, bp+16)
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						if bStat1 != 0 && ii == 1 {
 							sessionAppendStr(tls, bp,
-								ts+32937, bp+16)
+								ts+32984, bp+16)
 						} else {
 							sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-							sessionAppendStr(tls, bp, ts+32869, bp+16)
+							sessionAppendStr(tls, bp, ts+32916, bp+16)
 							sessionAppendInteger(tls, bp, ii*2+2, bp+16)
 						}
-						zSep = ts + 21525
+						zSep = ts + 21572
 					}
 				}
 
@@ -133862,34 +133920,34 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 	var nPk int32 = 0
 
-	sessionAppendStr(tls, bp, ts+33012, bp+16)
+	sessionAppendStr(tls, bp, ts+33059, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+32861, bp+16)
+	sessionAppendStr(tls, bp, ts+32908, bp+16)
 
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 			nPk++
 			sessionAppendStr(tls, bp, zSep, bp+16)
 			sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-			sessionAppendStr(tls, bp, ts+32932, bp+16)
+			sessionAppendStr(tls, bp, ts+32979, bp+16)
 			sessionAppendInteger(tls, bp, i+1, bp+16)
-			zSep = ts + 21525
+			zSep = ts + 21572
 		}
 	}
 
 	if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol {
-		sessionAppendStr(tls, bp, ts+33030, bp+16)
+		sessionAppendStr(tls, bp, ts+33077, bp+16)
 		sessionAppendInteger(tls, bp, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol+1, bp+16)
-		sessionAppendStr(tls, bp, ts+32573, bp+16)
+		sessionAppendStr(tls, bp, ts+32620, bp+16)
 
 		zSep = ts + 1554
 		for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 			if !(int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i)))) != 0) {
 				sessionAppendStr(tls, bp, zSep, bp+16)
 				sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-				sessionAppendStr(tls, bp, ts+32869, bp+16)
+				sessionAppendStr(tls, bp, ts+32916, bp+16)
 				sessionAppendInteger(tls, bp, i+1, bp+16)
-				zSep = ts + 33038
+				zSep = ts + 33085
 			}
 		}
 		sessionAppendStr(tls, bp, ts+4957, bp+16)
@@ -133916,9 +133974,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	var i int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 
-	sessionAppendStr(tls, bp, ts+33043, bp+16)
+	sessionAppendStr(tls, bp, ts+33090, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+21531, bp+16)
+	sessionAppendStr(tls, bp, ts+21578, bp+16)
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if i != 0 {
 			sessionAppendStr(tls, bp, ts+14614, bp+16)
@@ -133926,9 +133984,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 		sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
 	}
 
-	sessionAppendStr(tls, bp, ts+33061, bp+16)
+	sessionAppendStr(tls, bp, ts+33108, bp+16)
 	for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
-		sessionAppendStr(tls, bp, ts+33072, bp+16)
+		sessionAppendStr(tls, bp, ts+33119, bp+16)
 	}
 	sessionAppendStr(tls, bp, ts+4957, bp+16)
 
@@ -133947,11 +134005,11 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 {
 	var rc int32 = sessionSelectRow(tls, db, ts+11348, p)
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+16,
-			ts+33076)
+			ts+33123)
 	}
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+8,
-			ts+33189)
+			ts+33236)
 	}
 	return rc
 }
@@ -133979,7 +134037,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab
 				f func(*libc.TLS, uintptr, int32, uintptr) int32
 			})(unsafe.Pointer(&struct{ uintptr }{xValue})).f(tls, pIter, i, bp)
 			if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
-				rc = Xsqlite3CorruptError(tls, 220219)
+				rc = Xsqlite3CorruptError(tls, 220310)
 			} else {
 				rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp)))
 			}
@@ -134232,7 +134290,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 		if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
 			rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 		} else if *(*int32)(unsafe.Pointer(bp)) != 0 {
-			rc = Xsqlite3_exec(tls, db, ts+33333, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33380, uintptr(0), uintptr(0), uintptr(0))
 			if rc == SQLITE_OK {
 				rc = sessionBindRow(tls, pIter,
 					*(*uintptr)(unsafe.Pointer(&struct {
@@ -134248,7 +134306,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 				rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 			}
 			if rc == SQLITE_OK {
-				rc = Xsqlite3_exec(tls, db, ts+33354, uintptr(0), uintptr(0), uintptr(0))
+				rc = Xsqlite3_exec(tls, db, ts+33401, uintptr(0), uintptr(0), uintptr(0))
 			}
 		}
 	}
@@ -134321,10 +134379,10 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 	(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FbInvertConstraints = libc.BoolInt32(!!(flags&SQLITE_CHANGESETAPPLY_INVERT != 0))
 	Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db))
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
-		rc = Xsqlite3_exec(tls, db, ts+33373, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33420, uintptr(0), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_exec(tls, db, ts+33399, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33446, uintptr(0), uintptr(0), uintptr(0))
 	}
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3changeset_next(tls, pIter) {
 		Xsqlite3changeset_op(tls, pIter, bp+176, bp+184, bp+188, uintptr(0))
@@ -134383,16 +134441,16 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 				if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol == 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33429, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+33476, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol < *(*int32)(unsafe.Pointer(bp + 184)) {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33473,
+						ts+33520,
 						libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 200)), (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol, *(*int32)(unsafe.Pointer(bp + 184))))
 				} else if *(*int32)(unsafe.Pointer(bp + 184)) < nMinCol || libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 192)), uint64(*(*int32)(unsafe.Pointer(bp + 184)))) != 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33544, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+33591, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else {
 					(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FnCol = *(*int32)(unsafe.Pointer(bp + 184))
 					if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), ts+11348) {
@@ -134446,14 +134504,14 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 			}
 		}
 	}
-	Xsqlite3_exec(tls, db, ts+33604, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+33651, uintptr(0), uintptr(0), uintptr(0))
 
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, db, ts+33634, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33681, uintptr(0), uintptr(0), uintptr(0))
 		} else {
-			Xsqlite3_exec(tls, db, ts+33658, uintptr(0), uintptr(0), uintptr(0))
-			Xsqlite3_exec(tls, db, ts+33634, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33705, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33681, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -135701,7 +135759,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) {
 		fts5yy_pop_parser_stack(tls, fts5yypParser)
 	}
 
-	sqlite3Fts5ParseError(tls, pParse, ts+33686, 0)
+	sqlite3Fts5ParseError(tls, pParse, ts+33733, 0)
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -135989,7 +136047,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32
 
 	_ = fts5yymajor
 	sqlite3Fts5ParseError(tls,
-		pParse, ts+33714, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
+		pParse, ts+33761, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -136176,7 +136234,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int
 		if n < 0 {
 			n = int32(libc.Xstrlen(tls, z))
 		}
-		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33745, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
+		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33792, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
 		if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) {
 			*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 		}
@@ -136244,7 +136302,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp
 	var iCol int32
 
 	if nVal != 3 {
-		var zErr uintptr = ts + 33752
+		var zErr uintptr = ts + 33799
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -136426,7 +136484,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
 	var nCol int32
 
 	if nVal != 5 {
-		var zErr uintptr = ts + 33802
+		var zErr uintptr = ts + 33849
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -136750,13 +136808,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(96)
 
 	*(*[3]Builtin)(unsafe.Pointer(bp)) = [3]Builtin{
-		{FzFunc: ts + 33850, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33897, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5SnippetFunction}))},
-		{FzFunc: ts + 33858, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33905, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5HighlightFunction}))},
-		{FzFunc: ts + 33868, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33915, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5Bm25Function}))},
 	}
@@ -137307,7 +137365,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 	var nCmd int32 = int32(libc.Xstrlen(tls, zCmd))
-	if Xsqlite3_strnicmp(tls, ts+33873, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+33920, zCmd, nCmd) == 0 {
 		var nByte int32 = int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))
 		var p uintptr
 		var bFirst int32 = 1
@@ -137334,14 +137392,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 				break
 			}
 			if int32(*(*uint8)(unsafe.Pointer(p))) < '0' || int32(*(*uint8)(unsafe.Pointer(p))) > '9' {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33880, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33927, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
 
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES {
 				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-					ts+33911, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
+					ts+33958, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -137352,7 +137410,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 			}
 
 			if nPre <= 0 || nPre >= 1000 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33944, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33991, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -137365,7 +137423,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+33981, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34028, zCmd, nCmd) == 0 {
 		var p uintptr = zArg
 		var nArg Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zArg) + uint64(1))
 		var azArg uintptr = sqlite3Fts5MallocZero(tls, bp+40, int64(uint64(unsafe.Sizeof(uintptr(0)))*uint64(nArg)))
@@ -137374,7 +137432,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 		if azArg != 0 && pSpace != 0 {
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33990, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34037, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				for nArg = int64(0); p != 0 && *(*uint8)(unsafe.Pointer(p)) != 0; nArg++ {
@@ -137393,7 +137451,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 					}
 				}
 				if p == uintptr(0) {
-					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34023, 0)
+					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34070, 0)
 					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				} else {
 					*(*int32)(unsafe.Pointer(bp + 40)) = sqlite3Fts5GetTokenizer(tls, pGlobal,
@@ -137408,14 +137466,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34057, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34104, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34065, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34112, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			if *(*uint8)(unsafe.Pointer(zArg)) != 0 {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_EXTERNAL
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34097, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34144, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
 			} else {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE
 			}
@@ -137423,9 +137481,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34103, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34150, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34117, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34164, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40, zArg, -1)
@@ -137433,9 +137491,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34155, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34202, zCmd, nCmd) == 0 {
 		if int32(*(*uint8)(unsafe.Pointer(zArg))) != '0' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '1' || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34166, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34213, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zArg))) == '1')
@@ -137447,17 +137505,17 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		*(*[4]Fts5Enum)(unsafe.Pointer(bp + 48)) = [4]Fts5Enum{
 			{FzName: ts + 8026, FeVal: FTS5_DETAIL_NONE},
 			{FzName: ts + 17345},
-			{FzName: ts + 34201, FeVal: FTS5_DETAIL_COLUMNS},
+			{FzName: ts + 34248, FeVal: FTS5_DETAIL_COLUMNS},
 			{},
 		}
 
 		if libc.AssignPtrInt32(bp+40, fts5ConfigSetEnum(tls, bp+48, zArg, pConfig+92)) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34209, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34256, 0)
 		}
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34240, libc.VaList(bp+24, nCmd, zCmd))
+	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34287, libc.VaList(bp+24, nCmd, zCmd))
 	return SQLITE_ERROR
 }
 
@@ -137504,15 +137562,15 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr,
 	defer tls.Free(16)
 
 	var rc int32 = SQLITE_OK
-	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22191) ||
+	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22238) ||
 		0 == Xsqlite3_stricmp(tls, zCol, ts+16267) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34268, libc.VaList(bp, zCol))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34315, libc.VaList(bp, zCol))
 		rc = SQLITE_ERROR
 	} else if zArg != 0 {
-		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34298) {
+		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34345) {
 			*(*U8)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*Fts5Config)(unsafe.Pointer(p)).FnCol))) = U8(1)
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34308, libc.VaList(bp+8, zArg))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34355, libc.VaList(bp+8, zArg))
 			rc = SQLITE_ERROR
 		}
 	}
@@ -137529,13 +137587,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_OK
 	*(*Fts5Buffer)(unsafe.Pointer(bp + 32)) = Fts5Buffer{}
 
-	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34339, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
+	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34386, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
 	if (*Fts5Config)(unsafe.Pointer(p)).FeContent != FTS5_CONTENT_NONE {
 		for i = 0; i < (*Fts5Config)(unsafe.Pointer(p)).FnCol; i++ {
 			if (*Fts5Config)(unsafe.Pointer(p)).FeContent == FTS5_CONTENT_EXTERNAL {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34344, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34391, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
 			} else {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34351, libc.VaList(bp+16, i))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34398, libc.VaList(bp+16, i))
 			}
 		}
 	}
@@ -137573,8 +137631,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 	(*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -1)
 	(*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize = 1
 	(*Fts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL
-	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22191) == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34359, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
+	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22238) == 0 {
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34406, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
 		*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 	}
 
@@ -137606,7 +137664,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 
 		if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK {
 			if z == uintptr(0) {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34388, libc.VaList(bp+8, zOrig))
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34435, libc.VaList(bp+8, zOrig))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				if bOption != 0 {
@@ -137643,14 +137701,14 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 		var zTail uintptr = uintptr(0)
 
 		if (*Fts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL {
-			zTail = ts + 34057
+			zTail = ts + 34104
 		} else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 {
-			zTail = ts + 34408
+			zTail = ts + 34455
 		}
 
 		if zTail != 0 {
 			(*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls,
-				bp+40, ts+34416, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
+				bp+40, ts+34463, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
 		}
 	}
 
@@ -137699,7 +137757,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_OK
 	var zSql uintptr
 
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34427, 0)
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34474, 0)
 	for i = 0; zSql != 0 && i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
 		var zSep uintptr = func() uintptr {
 			if i == 0 {
@@ -137707,10 +137765,10 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 			}
 			return ts + 14614
 		}()
-		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34443, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
+		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34490, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
 	}
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34450,
-		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22191))
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34497,
+		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22238))
 
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql)
@@ -137820,7 +137878,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 
 	var rc int32 = SQLITE_OK
 
-	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34476) {
+	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34523) {
 		var pgsz int32 = 0
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			pgsz = Xsqlite3_value_int(tls, pVal)
@@ -137830,7 +137888,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34481) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34528) {
 		var nHashSize int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nHashSize = Xsqlite3_value_int(tls, pVal)
@@ -137840,7 +137898,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34490) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34537) {
 		var nAutomerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nAutomerge = Xsqlite3_value_int(tls, pVal)
@@ -137853,7 +137911,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34500) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34547) {
 		var nUsermerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nUsermerge = Xsqlite3_value_int(tls, pVal)
@@ -137863,7 +137921,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34510) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34557) {
 		var nCrisisMerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nCrisisMerge = Xsqlite3_value_int(tls, pVal)
@@ -137879,7 +137937,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22191) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22238) {
 		var zIn uintptr = Xsqlite3_value_text(tls, pVal)
 
 		rc = sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8)
@@ -137902,7 +137960,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 	bp := tls.Alloc(52)
 	defer tls.Free(52)
 
-	var zSelect uintptr = ts + 34522
+	var zSelect uintptr = ts + 34569
 	var zSql uintptr
 	*(*uintptr)(unsafe.Pointer(bp + 40)) = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
@@ -137924,7 +137982,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) {
 			var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 0)
 			var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 1)
-			if 0 == Xsqlite3_stricmp(tls, zK, ts+34554) {
+			if 0 == Xsqlite3_stricmp(tls, zK, ts+34601) {
 				iVersion = Xsqlite3_value_int(tls, pVal)
 			} else {
 				*(*int32)(unsafe.Pointer(bp + 48)) = 0
@@ -137938,7 +137996,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 {
 			*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-				ts+34562,
+				ts+34609,
 				libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION))
 		}
 	}
@@ -138036,7 +138094,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 					}
 				}
 				if int32(*(*uint8)(unsafe.Pointer(z2))) == 0 {
-					sqlite3Fts5ParseError(tls, pParse, ts+34627, 0)
+					sqlite3Fts5ParseError(tls, pParse, ts+34674, 0)
 					return FTS5_EOF
 				}
 			}
@@ -138049,20 +138107,20 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 		{
 			var z2 uintptr
 			if sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(z))) == 0 {
-				sqlite3Fts5ParseError(tls, pParse, ts+34647, libc.VaList(bp, z))
+				sqlite3Fts5ParseError(tls, pParse, ts+34694, libc.VaList(bp, z))
 				return FTS5_EOF
 			}
 			tok = FTS5_STRING
 			for z2 = z + 1; sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(z2))) != 0; z2++ {
 			}
 			(*Fts5Token)(unsafe.Pointer(pToken)).Fn = int32((int64(z2) - int64(z)) / 1)
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34678, uint64(2)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34725, uint64(2)) == 0 {
 				tok = FTS5_OR
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34681, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34728, uint64(3)) == 0 {
 				tok = FTS5_NOT
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30063, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30110, uint64(3)) == 0 {
 				tok = FTS5_AND
 			}
 			break
@@ -139840,9 +139898,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34685, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
+	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34732, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
 		sqlite3Fts5ParseError(tls,
-			pParse, ts+33714, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
+			pParse, ts+33761, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
 	}
 }
 
@@ -139858,7 +139916,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p
 				var c uint8 = *(*uint8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))
 				if int32(c) < '0' || int32(c) > '9' {
 					sqlite3Fts5ParseError(tls,
-						pParse, ts+34690, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
+						pParse, ts+34737, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
 					return
 				}
 				nNear = nNear*10 + (int32(*(*uint8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - '0')
@@ -139945,7 +140003,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui
 			}
 		}
 		if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol {
-			sqlite3Fts5ParseError(tls, pParse, ts+20528, libc.VaList(bp, z))
+			sqlite3Fts5ParseError(tls, pParse, ts+20575, libc.VaList(bp, z))
 		} else {
 			pRet = fts5ParseColset(tls, pParse, pColset, iCol)
 		}
@@ -140026,7 +140084,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo
 	*(*uintptr)(unsafe.Pointer(bp)) = pColset
 	if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE {
 		sqlite3Fts5ParseError(tls, pParse,
-			ts+34719, 0)
+			ts+34766, 0)
 	} else {
 		fts5ParseSetColset(tls, pParse, pExpr, pColset, bp)
 	}
@@ -140196,12 +140254,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 1 ||
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*Fts5ExprTerm)(unsafe.Pointer(pPhrase+32)).FbFirst != 0 {
 							sqlite3Fts5ParseError(tls, pParse,
-								ts+34772,
+								ts+34819,
 								libc.VaList(bp, func() uintptr {
 									if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 {
-										return ts + 34822
+										return ts + 34869
 									}
-									return ts + 34685
+									return ts + 34732
 								}()))
 							Xsqlite3_free(tls, pRet)
 							pRet = uintptr(0)
@@ -141144,7 +141202,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK {
 			var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 			rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb,
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34829, iRowid, 0, p+56)
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34876, iRowid, 0, p+56)
 		}
 
 		if rc == SQLITE_ERROR {
@@ -141223,7 +141281,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in
 	if (*Fts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+64, Xsqlite3_mprintf(tls,
-			ts+34835,
+			ts+34882,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 		if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 			return
@@ -141248,7 +141306,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = Xsqlite3_mprintf(tls,
-			ts+34886,
+			ts+34933,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if fts5IndexPrepareStmt(tls, p, p+72, zSql) != 0 {
 			return
@@ -141271,7 +141329,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+88, Xsqlite3_mprintf(tls,
-			ts+34935,
+			ts+34982,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -141510,7 +141568,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 {
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) {
 			(*Fts5Index)(unsafe.Pointer(p)).Frc = fts5IndexPrepareStmt(tls, p, p+112,
-				Xsqlite3_mprintf(tls, ts+34975, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
+				Xsqlite3_mprintf(tls, ts+35022, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
 			if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 				return int64(0)
 			}
@@ -142709,7 +142767,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls,
-			ts+34998,
+			ts+35045,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect
@@ -144175,7 +144233,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls,
-			ts+35082,
+			ts+35129,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 
@@ -145257,13 +145315,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		(*Fts5Index)(unsafe.Pointer(p)).FpConfig = pConfig
 		(*Fts5Index)(unsafe.Pointer(p)).FnWorkUnit = FTS5_WORK_UNIT
-		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35139, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35186, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 {
 			*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+25056, ts+35147, 0, pzErr)
+				pConfig, ts+25103, ts+35194, 0, pzErr)
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 				*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls, pConfig, ts+11488,
-					ts+35182,
+					ts+35229,
 					1, pzErr)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
@@ -145516,7 +145574,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 {
 	sqlite3Fts5Put32(tls, bp, iNew)
 
 	rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl,
-		ts+34829, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
+		ts+34876, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
 	if rc == SQLITE_OK {
 		Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, 4, 0)
 		rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
@@ -145630,7 +145688,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) {
 	}
 
 	fts5IndexPrepareStmt(tls, p, bp+24, Xsqlite3_mprintf(tls,
-		ts+35226,
+		ts+35273,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid)))
 
 	for (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
@@ -145800,7 +145858,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks
 		} else {
 			(*Fts5Buffer)(unsafe.Pointer(bp + 16)).Fn = 0
 			fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp))+96+uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaFirst+1*4)).FiFirst)*120, uintptr(0), bp+16)
-			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35312)
+			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35359)
 			for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fn, bp+32, bp+40) {
 				var iCol int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) >> 32)
 				var iTokOff int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) & int64(0x7FFFFFFF))
@@ -146071,7 +146129,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 {
 
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 {
 		(*Fts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+35317, 0)
+			ts+35364, 0)
 		return SQLITE_ERROR
 	}
 
@@ -146495,7 +146553,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 	(*Fts5Sorter)(unsafe.Pointer(pSorter)).FnIdx = nPhrase
 
 	rc = fts5PrepareStatement(tls, pSorter, pConfig,
-		ts+35356,
+		ts+35403,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			func() uintptr {
 				if zRankArgs != 0 {
@@ -146511,9 +146569,9 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 			}(),
 			func() uintptr {
 				if bDesc != 0 {
-					return ts + 35411
+					return ts + 35458
 				}
-				return ts + 35416
+				return ts + 35463
 			}()))
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter
@@ -146559,12 +146617,12 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr)
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan = FTS5_PLAN_SPECIAL
 
-	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35420, z, n) {
+	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35467, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = I64(sqlite3Fts5IndexReads(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex))
 	} else if n == 2 && 0 == Xsqlite3_strnicmp(tls, ts+5057, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId
 	} else {
-		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35426, libc.VaList(bp, n, z))
+		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35473, libc.VaList(bp, n, z))
 		rc = SQLITE_ERROR
 	}
 
@@ -146595,7 +146653,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs
 
 	if zRankArgs != 0 {
-		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35454, libc.VaList(bp, zRankArgs))
+		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35501, libc.VaList(bp, zRankArgs))
 		if zSql != 0 {
 			*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 			*(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1,
@@ -146626,7 +146684,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 		pAux = fts5FindAuxiliary(tls, pTab, zRank)
 		if pAux == uintptr(0) {
-			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35464, libc.VaList(bp+8, zRank))
+			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35511, libc.VaList(bp+8, zRank))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		}
 	}
@@ -146658,14 +146716,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin
 			*(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_FREE_ZRANK
 		} else if rc == SQLITE_ERROR {
 			(*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35485, libc.VaList(bp, z))
+				ts+35532, libc.VaList(bp, z))
 		}
 	} else {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank != 0 {
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRankArgs
 		} else {
-			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33868
+			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33915
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0)
 		}
 	}
@@ -146721,7 +146779,7 @@ func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintp
 		goto __1
 	}
 	(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+35317, 0)
+		ts+35364, 0)
 	return SQLITE_ERROR
 __1:
 	;
@@ -146938,7 +146996,7 @@ __35:
 		goto __40
 	}
 	*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-		ts+35518, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		ts+35565, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	rc = SQLITE_ERROR
 	goto __41
 __40:
@@ -147083,28 +147141,28 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr)
 	var rc int32 = SQLITE_OK
 	*(*int32)(unsafe.Pointer(bp)) = 0
 
-	if 0 == Xsqlite3_stricmp(tls, ts+35554, zCmd) {
+	if 0 == Xsqlite3_stricmp(tls, ts+35601, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			fts5SetVtabError(tls, pTab,
-				ts+35565, 0)
+				ts+35612, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35645, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35692, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE {
 			fts5SetVtabError(tls, pTab,
-				ts+35653, 0)
+				ts+35700, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
 	} else if 0 == Xsqlite3_stricmp(tls, ts+16934, zCmd) {
 		rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35709, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35756, zCmd) {
 		var nMerge int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageMerge(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, nMerge)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35715, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35762, zCmd) {
 		var iArg int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg)
 	} else {
@@ -147175,12 +147233,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p
 
 		if eType0 == SQLITE_INTEGER && fts5IsContentless(tls, pTab) != 0 {
 			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35731,
+				ts+35778,
 				libc.VaList(bp, func() uintptr {
 					if nArg > 1 {
-						return ts + 20429
+						return ts + 20476
 					}
-					return ts + 35768
+					return ts + 35815
 				}(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		} else if nArg == 1 {
@@ -147810,7 +147868,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 
 	pCsr = fts5CursorFromCsrid(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId)
 	if pCsr == uintptr(0) || (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 {
-		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35780, libc.VaList(bp, iCsrId))
+		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35827, libc.VaList(bp, iCsrId))
 		Xsqlite3_result_error(tls, context, zErr, -1)
 		Xsqlite3_free(tls, zErr)
 	} else {
@@ -148054,7 +148112,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 	}())
 	if pMod == uintptr(0) {
 		rc = SQLITE_ERROR
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35801, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35848, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
 	} else {
 		rc = (*struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
@@ -148073,7 +148131,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 		(*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16
 		if rc != SQLITE_OK {
 			if pzErr != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35823, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35870, 0)
 			}
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls,
@@ -148120,7 +148178,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 	var ppApi uintptr
 	_ = nArg
 
-	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35854)
+	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35901)
 	if ppApi != 0 {
 		*(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal
 	}
@@ -148129,7 +148187,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) {
 	_ = nArg
 	_ = apUnused
-	Xsqlite3_result_text(tls, pCtx, ts+35867, -1, libc.UintptrFromInt32(-1))
+	Xsqlite3_result_text(tls, pCtx, ts+35914, -1, libc.UintptrFromInt32(-1))
 }
 
 func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
@@ -148143,7 +148201,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName2 = [5]uintptr{
-	ts + 35958, ts + 34057, ts + 25056, ts + 34408, ts + 11488,
+	ts + 36005, ts + 34104, ts + 25103, ts + 34455, ts + 11488,
 }
 
 func fts5Init(tls *libc.TLS, db uintptr) int32 {
@@ -148167,7 +148225,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		(*Fts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32
 		}{fts5FindTokenizer}))
-		rc = Xsqlite3_create_module_v2(tls, db, ts+35965, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+36012, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5IndexInit(tls, db)
 		}
@@ -148185,13 +148243,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35965, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+				db, ts+36012, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
 				}{fts5Fts5Func})), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35970, 0,
+				db, ts+36017, 0,
 				SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
 				p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
@@ -148248,17 +148306,17 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p
 
 	if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) {
 		*(*[11]uintptr)(unsafe.Pointer(bp + 128)) = [11]uintptr{
-			ts + 35985,
-			ts + 36053,
-			ts + 36122,
-			ts + 36155,
-			ts + 36194,
-			ts + 36234,
-			ts + 36273,
-			ts + 36314,
-			ts + 36353,
-			ts + 36395,
-			ts + 36435,
+			ts + 36032,
+			ts + 36100,
+			ts + 36169,
+			ts + 36202,
+			ts + 36241,
+			ts + 36281,
+			ts + 36320,
+			ts + 36361,
+			ts + 36400,
+			ts + 36442,
+			ts + 36482,
 		}
 		var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = uintptr(0)
@@ -148360,18 +148418,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 {
 	defer tls.Free(80)
 
 	var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36458,
+		ts+36505,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36562,
+			ts+36609,
 			libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36600,
+			ts+36647,
 			libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	return rc
@@ -148383,7 +148441,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin
 
 	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(pRc)) = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36638,
+			ts+36685,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail))
 	}
 }
@@ -148395,14 +148453,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in
 	var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig
 	*(*int32)(unsafe.Pointer(bp)) = sqlite3Fts5StorageSync(tls, pStorage)
 
-	fts5StorageRenameOne(tls, pConfig, bp, ts+25056, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+25103, zName)
 	fts5StorageRenameOne(tls, pConfig, bp, ts+11488, zName)
-	fts5StorageRenameOne(tls, pConfig, bp, ts+35958, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+36005, zName)
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34408, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34455, zName)
 	}
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34057, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34104, zName)
 	}
 	return *(*int32)(unsafe.Pointer(bp))
 }
@@ -148414,17 +148472,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn
 	var rc int32
 	*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
-	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36680,
+	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36727,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn,
 			func() uintptr {
 				if bWithout != 0 {
-					return ts + 29709
+					return ts + 29756
 				}
 				return ts + 1554
 			}()))
 	if *(*uintptr)(unsafe.Pointer(bp + 64)) != 0 {
 		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-			ts+36710,
+			ts+36757,
 			libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64))))
 		Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
@@ -148461,27 +148519,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre
 			} else {
 				var i int32
 				var iOff int32
-				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36754, 0)
+				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36801, 0)
 				iOff = int32(libc.Xstrlen(tls, zDefn))
 				for i = 0; i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
-					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36777, libc.VaList(bp, i))
+					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36824, libc.VaList(bp, i))
 					iOff = iOff + int32(libc.Xstrlen(tls, zDefn+uintptr(iOff)))
 				}
-				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34057, zDefn, 0, pzErr)
+				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34104, zDefn, 0, pzErr)
 			}
 			Xsqlite3_free(tls, zDefn)
 		}
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+34408, ts+36783, 0, pzErr)
+				pConfig, ts+34455, ts+36830, 0, pzErr)
 		}
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+35958, ts+36815, 1, pzErr)
+				pConfig, ts+36005, ts+36862, 1, pzErr)
 		}
 		if rc == SQLITE_OK {
-			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34554, uintptr(0), FTS5_CURRENT_VERSION)
+			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34601, uintptr(0), FTS5_CURRENT_VERSION)
 		}
 	}
 
@@ -148687,12 +148745,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 	(*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0
 
 	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36832,
+		ts+36879,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36882,
+			ts+36929,
 			libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 
@@ -148700,7 +148758,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 		rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex)
 	}
 	if rc == SQLITE_OK {
-		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34554, uintptr(0), FTS5_CURRENT_VERSION)
+		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34601, uintptr(0), FTS5_CURRENT_VERSION)
 	}
 	return rc
 }
@@ -148876,7 +148934,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr)
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+36911,
+	zSql = Xsqlite3_mprintf(tls, ts+36958,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix))
 	if zSql == uintptr(0) {
 		rc = SQLITE_NOMEM
@@ -149058,14 +149116,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 {
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			*(*I64)(unsafe.Pointer(bp + 48)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34057, bp+48)
+			rc = fts5StorageCount(tls, p, ts+34104, bp+48)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 48)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
 		}
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			*(*I64)(unsafe.Pointer(bp + 56)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34408, bp+56)
+			rc = fts5StorageCount(tls, p, ts+34455, bp+56)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 56)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
@@ -149260,9 +149318,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32,
 			libc.Xmemcpy(tls, p, uintptr(unsafe.Pointer(&aAsciiTokenChar)), uint64(unsafe.Sizeof(aAsciiTokenChar)))
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36943) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36990) {
 					fts5AsciiAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36954) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37001) {
 					fts5AsciiAddExceptions(tls, p, zArg, 0)
 				} else {
 					rc = SQLITE_ERROR
@@ -149477,7 +149535,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 	} else {
 		p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Unicode61Tokenizer{})))
 		if p != 0 {
-			var zCat uintptr = ts + 36965
+			var zCat uintptr = ts + 37012
 			var i int32
 			libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{})))
 
@@ -149489,7 +149547,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 			}
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36974) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37021) {
 					zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
 				}
 			}
@@ -149500,18 +149558,18 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36985) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37032) {
 					if int32(*(*uint8)(unsafe.Pointer(zArg))) != '0' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '1' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '2' || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 {
 						rc = SQLITE_ERROR
 					} else {
 						(*Unicode61Tokenizer)(unsafe.Pointer(p)).FeRemoveDiacritic = int32(*(*uint8)(unsafe.Pointer(zArg))) - '0'
 
 					}
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36943) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36990) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36954) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37001) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 0)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36974) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37021) {
 				} else {
 					rc = SQLITE_ERROR
 				}
@@ -149787,7 +149845,7 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp
 	var rc int32 = SQLITE_OK
 	var pRet uintptr
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
-	var zBase uintptr = ts + 37003
+	var zBase uintptr = ts + 37050
 
 	if nArg > 0 {
 		zBase = *(*uintptr)(unsafe.Pointer(azArg))
@@ -149929,7 +149987,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37013, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37060, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149937,11 +149995,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37016, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37063, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37021, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37068, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -149949,7 +150007,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'e':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37026, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37073, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149957,7 +150015,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37029, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37076, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -149965,11 +150023,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37032, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37079, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37037, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37084, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -149977,19 +150035,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37042, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37089, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37046, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37093, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37052, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37099, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37057, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37104, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -149997,11 +150055,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'o':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37061, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37108, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37065, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37112, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -150009,7 +150067,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 's':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37068, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37115, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150017,11 +150075,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37072, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37119, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37076, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37123, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150029,7 +150087,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37080, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37127, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150037,7 +150095,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37084, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37131, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150045,7 +150103,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37088, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37135, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150061,24 +150119,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37092, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37072, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37139, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37119, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'b':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37095, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37098, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37142, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37145, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37102, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37088, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37149, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37135, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
@@ -150093,44 +150151,44 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37105, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37152, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37072, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37119, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37113, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37160, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37120, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37167, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 4
 			}
 		}
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37125, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37172, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37021, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37068, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37130, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37177, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37016, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37063, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
 		}
 		break
 
 	case 'e':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37135, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37182, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37088, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37135, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 'g':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37140, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37187, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+15480, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
@@ -150139,91 +150197,91 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37145, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37192, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37098, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37145, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37149, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37196, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37154, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37201, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37057, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37104, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37160, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37207, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37164, uint64(1))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37211, uint64(1))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 1
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37166, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37213, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37080, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37127, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
 		}
 		break
 
 	case 'o':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37172, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37219, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37088, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37135, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37180, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37227, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37072, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37119, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37186, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37233, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37072, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37119, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37191, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37238, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37197, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37244, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37084, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37131, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37205, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37252, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37213, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37260, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37217, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37264, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37080, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37127, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
 		}
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37225, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37272, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37231, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37278, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37084, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37131, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37237, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37284, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37098, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37145, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 3
 			}
 		}
@@ -150238,16 +150296,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37244, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37291, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37029, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37076, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37249, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37296, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -150255,21 +150313,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37254, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37301, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37029, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37076, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37260, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37307, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37029, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37076, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37213, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37260, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150277,7 +150335,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37266, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37313, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
@@ -150285,9 +150343,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37272, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37319, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
@@ -150302,12 +150360,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'e':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37278, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37325, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37282, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37329, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 2
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37285, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37332, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 				ret = 1
@@ -150316,7 +150374,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37288, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37335, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 				ret = 1
@@ -150472,7 +150530,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp
 		(*TrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = 1
 		for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 			var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37292) {
+			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37339) {
 				if int32(*(*uint8)(unsafe.Pointer(zArg))) != '0' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '1' || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 {
 					rc = SQLITE_ERROR
 				} else {
@@ -150652,22 +150710,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(128)
 
 	*(*[4]BuiltinTokenizer)(unsafe.Pointer(bp)) = [4]BuiltinTokenizer{
-		{FzName: ts + 37003, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37050, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5UnicodeCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5UnicodeDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5UnicodeTokenize}))}},
-		{FzName: ts + 37307, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37354, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5AsciiCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5AsciiDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5AsciiTokenize}))}},
-		{FzName: ts + 37313, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37360, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5PorterCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5PorterDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5PorterTokenize}))}},
-		{FzName: ts + 37320, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37367, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5TriCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5TriDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
@@ -151810,14 +151868,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint
 	var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8, zType, -1)
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		sqlite3Fts5Dequote(tls, zCopy)
-		if Xsqlite3_stricmp(tls, zCopy, ts+37328) == 0 {
+		if Xsqlite3_stricmp(tls, zCopy, ts+37375) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37332) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37379) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37336) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37383) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37345, libc.VaList(bp, zCopy))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37392, libc.VaList(bp, zCopy))
 			*(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_ERROR
 		}
 		Xsqlite3_free(tls, zCopy)
@@ -151843,19 +151901,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	defer tls.Free(36)
 
 	*(*[3]uintptr)(unsafe.Pointer(bp + 8)) = [3]uintptr{
-		ts + 37379,
-		ts + 37419,
-		ts + 37454,
+		ts + 37426,
+		ts + 37466,
+		ts + 37501,
 	}
 
 	var pRet uintptr = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
 	var bDb int32
 
-	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23352, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
+	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23399, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
 
 	if argc != 5 && bDb == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37497, 0)
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37544, 0)
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 	} else {
 		var nByte int32
@@ -151988,11 +152046,11 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 
 	if (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 {
 		(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+37530, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+			ts+37577, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 		return SQLITE_ERROR
 	}
 	zSql = sqlite3Fts5Mprintf(tls, bp+64,
-		ts+37561,
+		ts+37608,
 		libc.VaList(bp+16, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 64)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+72, uintptr(0))
@@ -152016,7 +152074,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 			*(*uintptr)(unsafe.Pointer(bp + 72)) = uintptr(0)
 			if *(*int32)(unsafe.Pointer(bp + 64)) == SQLITE_OK {
 				(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-					ts+37612, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+					ts+37659, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 				*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 			}
 		} else {
@@ -152411,7 +152469,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32
 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 {
 	var p uintptr = pGlobal
 
-	return Xsqlite3_create_module_v2(tls, db, ts+37638, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
+	return Xsqlite3_create_module_v2(tls, db, ts+37685, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
 }
 
 var fts5Vocab = Sqlite3_module{
@@ -152433,7 +152491,7 @@ var fts5Vocab = Sqlite3_module{
 // ************* End of stmt.c ***********************************************
 // Return the source-id for this library
 func Xsqlite3_sourceid(tls *libc.TLS) uintptr {
-	return ts + 37648
+	return ts + 37695
 }
 
 func init() {
@@ -153410,5 +153468,5 @@ func init() {
 	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError
 }
 
-var ts1 = "3.41.0\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00"
+var ts1 = "3.41.2\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00"
 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_ppc64le.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_ppc64le.go
index 9cb7ea8c..62dcd695 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_linux_ppc64le.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_ppc64le.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_ppc64le.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_ppc64le.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
@@ -917,11 +917,11 @@ const (
 	NC_OrderAgg                           = 0x8000000
 	NC_PartIdx                            = 0x000002
 	NC_SelfRef                            = 0x00002e
+	NC_Subquery                           = 0x000040
 	NC_UAggInfo                           = 0x000100
 	NC_UBaseReg                           = 0x000400
 	NC_UEList                             = 0x000080
 	NC_UUpsert                            = 0x000200
-	NC_VarSelect                          = 0x000040
 	NDEBUG                                = 1
 	NN                                    = 1
 	NOT_WITHIN                            = 0
@@ -2162,7 +2162,7 @@ const (
 	SQLITE_SHM_UNLOCK                     = 1
 	SQLITE_SORTER_PMASZ                   = 250
 	SQLITE_SOUNDEX                        = 1
-	SQLITE_SOURCE_ID                      = "2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d"
+	SQLITE_SOURCE_ID                      = "2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da"
 	SQLITE_SO_ASC                         = 0
 	SQLITE_SO_DESC                        = 1
 	SQLITE_SO_UNDEFINED                   = -1
@@ -2269,8 +2269,8 @@ const (
 	SQLITE_UTF8                           = 1
 	SQLITE_VDBEINT_H                      = 0
 	SQLITE_VDBE_H                         = 0
-	SQLITE_VERSION                        = "3.41.0"
-	SQLITE_VERSION_NUMBER                 = 3041000
+	SQLITE_VERSION                        = "3.41.2"
+	SQLITE_VERSION_NUMBER                 = 3041002
 	SQLITE_VTABRISK_High                  = 2
 	SQLITE_VTABRISK_Low                   = 0
 	SQLITE_VTABRISK_Normal                = 1
@@ -6121,7 +6121,8 @@ type IndexedExpr1 = struct {
 	FiIdxCur       int32
 	FiIdxCol       int32
 	FbMaybeNullRow U8
-	F__ccgo_pad1   [3]byte
+	Faff           U8
+	F__ccgo_pad1   [2]byte
 	FpIENext       uintptr
 }
 
@@ -6763,17 +6764,18 @@ type Pager = Pager1
 
 // Handle type for pages.
 type PgHdr2 = struct {
-	FpPage      uintptr
-	FpData      uintptr
-	FpExtra     uintptr
-	FpCache     uintptr
-	FpDirty     uintptr
-	FpPager     uintptr
-	Fpgno       Pgno
-	Fflags      U16
-	FnRef       I16
-	FpDirtyNext uintptr
-	FpDirtyPrev uintptr
+	FpPage       uintptr
+	FpData       uintptr
+	FpExtra      uintptr
+	FpCache      uintptr
+	FpDirty      uintptr
+	FpPager      uintptr
+	Fpgno        Pgno
+	Fflags       U16
+	F__ccgo_pad1 [2]byte
+	FnRef        I64
+	FpDirtyNext  uintptr
+	FpDirtyPrev  uintptr
 }
 
 // Handle type for pages.
@@ -6994,14 +6996,14 @@ type PCache2 = struct {
 	FpDirty      uintptr
 	FpDirtyTail  uintptr
 	FpSynced     uintptr
-	FnRefSum     int32
+	FnRefSum     I64
 	FszCache     int32
 	FszSpill     int32
 	FszPage      int32
 	FszExtra     int32
 	FbPurgeable  U8
 	FeCreate     U8
-	F__ccgo_pad1 [2]byte
+	F__ccgo_pad1 [6]byte
 	FxStress     uintptr
 	FpStress     uintptr
 	FpCache      uintptr
@@ -7808,7 +7810,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
 	_ = pMutex
 
 	if op < 0 || op >= int32(uint64(unsafe.Sizeof([10]Sqlite3StatValueType{}))/uint64(unsafe.Sizeof(Sqlite3StatValueType(0)))) {
-		return Xsqlite3MisuseError(tls, 23229)
+		return Xsqlite3MisuseError(tls, 23233)
 	}
 	if statMutex[op] != 0 {
 		pMutex = Xsqlite3Pcache1Mutex(tls)
@@ -15905,7 +15907,7 @@ func closePendingFds(tls *libc.TLS, pFile uintptr) {
 
 	for p = (*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused; p != 0; p = pNext {
 		pNext = (*UnixUnusedFd)(unsafe.Pointer(p)).FpNext
-		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38271)
+		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38275)
 		Xsqlite3_free(tls, p)
 	}
 	(*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused = uintptr(0)
@@ -16382,7 +16384,7 @@ func closeUnixFile(tls *libc.TLS, id uintptr) int32 {
 	var pFile uintptr = id
 	unixUnmapfile(tls, pFile)
 	if (*UnixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
-		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39055)
+		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39059)
 		(*UnixFile)(unsafe.Pointer(pFile)).Fh = -1
 	}
 
@@ -16673,7 +16675,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 {
 	if fd >= 0 {
 		return SQLITE_OK
 	}
-	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40676), ts+3378, bp+8, 40676)
+	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40680), ts+3378, bp+8, 40680)
 }
 
 func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
@@ -16690,14 +16692,14 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
 
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3666, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40717)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3666, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40721)
 	}
 
 	if int32((*UnixFile)(unsafe.Pointer(pFile)).FctrlFlags)&UNIXFILE_DIRSYNC != 0 {
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, bp)
 		if rc == SQLITE_OK {
 			full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0)
-			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40731)
+			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40735)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -16717,7 +16719,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 {
 	rc = robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte)
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40762)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40766)
 	} else {
 		if nByte < (*UnixFile)(unsafe.Pointer(pFile)).FmmapSize {
 			(*UnixFile)(unsafe.Pointer(pFile)).FmmapSize = nByte
@@ -16785,7 +16787,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 {
 		if (*UnixFile)(unsafe.Pointer(pFile)).FszChunk <= 0 {
 			if robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte) != 0 {
 				storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
-				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40883)
+				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40887)
 			}
 		}
 
@@ -17012,7 +17014,7 @@ func unixShmPurge(tls *libc.TLS, pFd uintptr) {
 		}
 		Xsqlite3_free(tls, (*UnixShmNode)(unsafe.Pointer(p)).FapRegion)
 		if (*UnixShmNode)(unsafe.Pointer(p)).FhShm >= 0 {
-			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41442)
+			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41446)
 			(*UnixShmNode)(unsafe.Pointer(p)).FhShm = -1
 		}
 		(*UnixInodeInfo)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0)
@@ -17040,7 +17042,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32
 			rc = unixShmSystemLock(tls, pDbFd, F_WRLCK, (22+SQLITE_SHM_NLOCK)*4+SQLITE_SHM_NLOCK, 1)
 
 			if rc == SQLITE_OK && robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3297, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41499)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3297, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41503)
 			}
 		}
 	} else if int32((*flock)(unsafe.Pointer(bp+8)).Fl_type) == F_WRLCK {
@@ -17139,7 +17141,7 @@ __8:
 	if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) {
 		goto __10
 	}
-	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41624), ts+3261, zShm, 41624)
+	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41628), ts+3261, zShm, 41628)
 	goto shm_open_err
 __10:
 	;
@@ -17269,7 +17271,7 @@ __11:
 		goto __14
 	}
 	zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3332, zFile, 41768)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3332, zFile, 41772)
 	goto shmpage_out
 __14:
 	;
@@ -17315,7 +17317,7 @@ __16:
 	if !(pMem == libc.UintptrFromInt32(-1)) {
 		goto __20
 	}
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3419, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41795)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3419, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41799)
 	goto shmpage_out
 __20:
 	;
@@ -17546,7 +17548,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) {
 	if pNew == libc.UintptrFromInt32(-1) {
 		pNew = uintptr(0)
 		nNew = int64(0)
-		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42169)
+		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42173)
 
 		(*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeMax = int64(0)
 	}
@@ -17680,7 +17682,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 		unixEnterMutex(tls)
 		rc = findInodeInfo(tls, pNew, pNew+16)
 		if rc != SQLITE_OK {
-			robust_close(tls, pNew, h, 42672)
+			robust_close(tls, pNew, h, 42676)
 			h = -1
 		}
 		unixLeaveMutex(tls)
@@ -17701,7 +17703,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 	storeLastErrno(tls, pNew, 0)
 	if rc != SQLITE_OK {
 		if h >= 0 {
-			robust_close(tls, pNew, h, 42757)
+			robust_close(tls, pNew, h, 42761)
 		}
 	} else {
 		(*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle
@@ -18017,7 +18019,7 @@ __15:
 	if !(fd < 0) {
 		goto __19
 	}
-	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43198), ts+3261, zName, 43198)
+	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43202), ts+3261, zName, 43202)
 	if !(rc == SQLITE_OK) {
 		goto __20
 	}
@@ -18108,7 +18110,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == ENOENT {
 			rc = SQLITE_IOERR | int32(23)<<8
 		} else {
-			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3371, zPath, 43337)
+			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3371, zPath, 43341)
 		}
 		return rc
 	}
@@ -18116,9 +18118,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, zPath, bp)
 		if rc == SQLITE_OK {
 			if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3788, zPath, 43347)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3788, zPath, 43351)
 			}
-			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43349)
+			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43353)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -18182,18 +18184,18 @@ func appendOnePathElement(tls *libc.TLS, pPath uintptr, zName uintptr, nName int
 		zIn = (*DbPath)(unsafe.Pointer(pPath)).FzOut
 		if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8)))(tls, zIn, bp) != 0 {
 			if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != ENOENT {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43443), ts+3459, zIn, 43443)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43447), ts+3459, zIn, 43447)
 			}
 		} else if (*stat)(unsafe.Pointer(bp)).Fst_mode&X__mode_t(0170000) == X__mode_t(0120000) {
 			var got Ssize_t
 
 			if libc.PostIncInt32(&(*DbPath)(unsafe.Pointer(pPath)).FnSymlink, 1) > SQLITE_MAX_SYMLINK {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43449)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43453)
 				return
 			}
 			got = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls, zIn, bp+144, uint64(unsafe.Sizeof([4098]uint8{}))-uint64(2))
 			if got <= int64(0) || got >= Ssize_t(unsafe.Sizeof([4098]uint8{}))-int64(2) {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43454), ts+3450, zIn, 43454)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43458), ts+3450, zIn, 43458)
 				return
 			}
 			*(*uint8)(unsafe.Pointer(bp + 144 + uintptr(got))) = uint8(0)
@@ -18233,14 +18235,14 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO
 	(*DbPath)(unsafe.Pointer(bp + 4104)).FzOut = zOut
 	if int32(*(*uint8)(unsafe.Pointer(zPath))) != '/' {
 		if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, bp, uint64(unsafe.Sizeof([4098]uint8{}))-uint64(2)) == uintptr(0) {
-			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43512), ts+3279, zPath, 43512)
+			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43516), ts+3279, zPath, 43516)
 		}
 		appendAllPathElements(tls, bp+4104, bp)
 	}
 	appendAllPathElements(tls, bp+4104, zPath)
 	*(*uint8)(unsafe.Pointer(zOut + uintptr((*DbPath)(unsafe.Pointer(bp+4104)).FnUsed))) = uint8(0)
 	if (*DbPath)(unsafe.Pointer(bp+4104)).Frc != 0 || (*DbPath)(unsafe.Pointer(bp+4104)).FnUsed < 2 {
-		return Xsqlite3CantopenError(tls, 43518)
+		return Xsqlite3CantopenError(tls, 43522)
 	}
 	if (*DbPath)(unsafe.Pointer(bp+4104)).FnSymlink != 0 {
 		return SQLITE_OK | int32(2)<<8
@@ -18341,7 +18343,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in
 			for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == EINTR {
 				got = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*24 + 8)))(tls, fd, zBuf, uint64(nBuf)))
 			}
-			robust_close(tls, uintptr(0), fd, 43619)
+			robust_close(tls, uintptr(0), fd, 43623)
 		}
 
 	}
@@ -19774,7 +19776,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 	libc.Xmemset(tls, pPgHdr+32, 0, uint64(unsafe.Sizeof(PgHdr{}))-uint64(uintptr(0)+32))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpPage = pPage
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpData = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpBuf
-	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*72
+	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*80
 	libc.Xmemset(tls, (*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra, 0, uint64(8))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpCache = pCache
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).Fpgno = pgno
@@ -19804,7 +19806,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 // reference count drops to 0, then it is made eligible for recycling.
 func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) {
 	(*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum--
-	if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 {
+	if libc.PreDecInt64(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1) == int64(0) {
 		if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_CLEAN != 0 {
 			pcacheUnpin(tls, p)
 		} else {
@@ -19855,7 +19857,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) {
 	*(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE))
 	*(*U16)(unsafe.Pointer(p + 52)) |= U16(PGHDR_CLEAN)
 
-	if int32((*PgHdr)(unsafe.Pointer(p)).FnRef) == 0 {
+	if (*PgHdr)(unsafe.Pointer(p)).FnRef == int64(0) {
 		pcacheUnpin(tls, p)
 	}
 }
@@ -19959,8 +19961,8 @@ func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) {
 }
 
 func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr {
-	bp := tls.Alloc(72)
-	defer tls.Free(72)
+	bp := tls.Alloc(80)
+	defer tls.Free(80)
 
 	var pTail uintptr
 	pTail = bp
@@ -20038,13 +20040,13 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr {
 //
 // This is not the total number of pages referenced, but the sum of the
 // reference count for all pages.
-func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 {
+func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) I64 {
 	return (*PCache)(unsafe.Pointer(pCache)).FnRefSum
 }
 
 // Return the number of references to the page supplied as an argument.
-func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 {
-	return int32((*PgHdr)(unsafe.Pointer(p)).FnRef)
+func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) I64 {
+	return (*PgHdr)(unsafe.Pointer(p)).FnRef
 }
 
 // Return the total number of pages in the cache.
@@ -22338,7 +22340,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 {
 
 	pPg = Xsqlite3PagerLookup(tls, pPager, iPg)
 	if pPg != 0 {
-		if Xsqlite3PcachePageRefcount(tls, pPg) == 1 {
+		if Xsqlite3PcachePageRefcount(tls, pPg) == int64(1) {
 			Xsqlite3PcacheDrop(tls, pPg)
 		} else {
 			rc = readDbPage(tls, pPg)
@@ -22771,7 +22773,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr,
 	var pageSize U32 = *(*U32)(unsafe.Pointer(pPageSize))
 
 	if (int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) == 0 || (*Pager)(unsafe.Pointer(pPager)).FdbSize == Pgno(0)) &&
-		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 &&
+		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) &&
 		pageSize != 0 && pageSize != U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) {
 		var pNew uintptr = uintptr(0)
 		*(*I64)(unsafe.Pointer(bp)) = int64(0)
@@ -22923,9 +22925,9 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr
 			Xsqlite3OsUnfetch(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, I64(pgno-Pgno(1))*(*Pager)(unsafe.Pointer(pPager)).FpageSize, pData)
 			return SQLITE_NOMEM
 		}
-		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*72
+		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*80
 		(*PgHdr)(unsafe.Pointer(p)).Fflags = U16(PGHDR_MMAP)
-		(*PgHdr)(unsafe.Pointer(p)).FnRef = int16(1)
+		(*PgHdr)(unsafe.Pointer(p)).FnRef = int64(1)
 		(*PgHdr)(unsafe.Pointer(p)).FpPager = pPager
 	}
 
@@ -23257,7 +23259,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 {
 
 		for rc == SQLITE_OK && pList != 0 {
 			var pNext uintptr = (*PgHdr)(unsafe.Pointer(pList)).FpDirty
-			if int32((*PgHdr)(unsafe.Pointer(pList)).FnRef) == 0 {
+			if (*PgHdr)(unsafe.Pointer(pList)).FnRef == int64(0) {
 				rc = pagerStress(tls, pPager, pList)
 			}
 			pList = pNext
@@ -23407,7 +23409,7 @@ __11:
 		goto __12
 	}
 
-	rc = Xsqlite3CantopenError(tls, 60235)
+	rc = Xsqlite3CantopenError(tls, 60239)
 __12:
 	;
 	if !(rc != SQLITE_OK) {
@@ -23788,7 +23790,7 @@ __7:
 	if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) {
 		goto __10
 	}
-	rc = Xsqlite3CantopenError(tls, 60754)
+	rc = Xsqlite3CantopenError(tls, 60758)
 	Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd)
 __10:
 	;
@@ -23894,7 +23896,7 @@ __24:
 }
 
 func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) {
-	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 {
+	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) {
 		pagerUnlockAndRollback(tls, pPager)
 	}
 }
@@ -23912,7 +23914,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla
 	if !(pgno == Pgno(0)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 60967)
+	return Xsqlite3CorruptError(tls, 60971)
 __1:
 	;
 	*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3)
@@ -23951,7 +23953,7 @@ __5:
 	if !(pgno == (*Pager)(unsafe.Pointer(pPager)).FlckPgno) {
 		goto __7
 	}
-	rc = Xsqlite3CorruptError(tls, 60999)
+	rc = Xsqlite3CorruptError(tls, 61003)
 	goto pager_acquire_err
 __7:
 	;
@@ -24028,7 +24030,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags
 		(int32((*Pager)(unsafe.Pointer(pPager)).FeState) == PAGER_READER || flags&PAGER_GET_READONLY != 0))
 
 	if pgno <= Pgno(1) && pgno == Pgno(0) {
-		return Xsqlite3CorruptError(tls, 61078)
+		return Xsqlite3CorruptError(tls, 61082)
 	}
 
 	if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
@@ -24786,7 +24788,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 {
 
 // Return the number of references to the specified page.
 func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 {
-	return Xsqlite3PcachePageRefcount(tls, pPage)
+	return int32(Xsqlite3PcachePageRefcount(tls, pPage))
 }
 
 // Parameter eStat must be one of SQLITE_DBSTATUS_CACHE_HIT, _MISS, _WRITE,
@@ -25029,9 +25031,9 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno
 	pPgOld = Xsqlite3PagerLookup(tls, pPager, pgno)
 
 	if pPgOld != 0 {
-		if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 {
+		if (*PgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
 			Xsqlite3PagerUnrefNotNull(tls, pPgOld)
-			return Xsqlite3CorruptError(tls, 62623)
+			return Xsqlite3CorruptError(tls, 62627)
 		}
 		*(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC)
 		if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 {
@@ -25788,7 +25790,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 {
 		nCollide = idx
 		for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) {
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 64387)
+				return Xsqlite3CorruptError(tls, 64391)
 			}
 		}
 		*(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaPgno + uintptr(idx-1)*4)) = iPage
@@ -25887,7 +25889,7 @@ __6:
 	if !(version != U32(WAL_MAX_VERSION)) {
 		goto __7
 	}
-	rc = Xsqlite3CantopenError(tls, 64519)
+	rc = Xsqlite3CantopenError(tls, 64523)
 	goto finished
 __7:
 	;
@@ -26473,7 +26475,7 @@ __10:
 		goto __14
 	}
 
-	rc = Xsqlite3CorruptError(tls, 65333)
+	rc = Xsqlite3CorruptError(tls, 65337)
 	goto __15
 __14:
 	Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16)
@@ -26748,7 +26750,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 {
 	}
 
 	if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) {
-		rc = Xsqlite3CantopenError(tls, 65682)
+		rc = Xsqlite3CantopenError(tls, 65686)
 	}
 	if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
 		if rc != SQLITE_OK {
@@ -27221,7 +27223,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr
 				iRead = iFrame
 			}
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 66419)
+				return Xsqlite3CorruptError(tls, 66423)
 			}
 			iKey = walNextHash(tls, iKey)
 		}
@@ -27726,7 +27728,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
 
 	if rc == SQLITE_OK {
 		if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf {
-			rc = Xsqlite3CorruptError(tls, 67138)
+			rc = Xsqlite3CorruptError(tls, 67142)
 		} else {
 			rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
 		}
@@ -28384,7 +28386,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32
 		}
 		Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
 		if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
-			rc = Xsqlite3CorruptError(tls, 69249)
+			rc = Xsqlite3CorruptError(tls, 69253)
 		} else {
 			rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
 		}
@@ -28521,7 +28523,7 @@ __1:
 	if !(key == Pgno(0)) {
 		goto __2
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69430)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69434)
 	return
 __2:
 	;
@@ -28538,7 +28540,7 @@ __3:
 		goto __4
 	}
 
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69443)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69447)
 	goto ptrmap_exit
 __4:
 	;
@@ -28546,7 +28548,7 @@ __4:
 	if !(offset < 0) {
 		goto __5
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69448)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69452)
 	goto ptrmap_exit
 __5:
 	;
@@ -28589,7 +28591,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 	offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1)))
 	if offset < 0 {
 		Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
-		return Xsqlite3CorruptError(tls, 69493)
+		return Xsqlite3CorruptError(tls, 69497)
 	}
 
 	*(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
@@ -28599,7 +28601,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 
 	Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
 	if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 {
-		return Xsqlite3CorruptError(tls, 69501)
+		return Xsqlite3CorruptError(tls, 69505)
 	}
 	return SQLITE_OK
 }
@@ -28849,7 +28851,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr,
 	if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 		var ovfl Pgno
 		if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) {
-			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69893)
+			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69897)
 			return
 		}
 		ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4))
@@ -28896,7 +28898,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 {
 	if !(iFree > usableSize-4) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 69951)
+	return Xsqlite3CorruptError(tls, 69955)
 __2:
 	;
 	if !(iFree != 0) {
@@ -28906,7 +28908,7 @@ __2:
 	if !(iFree2 > usableSize-4) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 69954)
+	return Xsqlite3CorruptError(tls, 69958)
 __4:
 	;
 	if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) {
@@ -28919,7 +28921,7 @@ __4:
 	if !(top >= iFree) {
 		goto __6
 	}
-	return Xsqlite3CorruptError(tls, 69962)
+	return Xsqlite3CorruptError(tls, 69966)
 __6:
 	;
 	if !(iFree2 != 0) {
@@ -28928,14 +28930,14 @@ __6:
 	if !(iFree+sz > iFree2) {
 		goto __9
 	}
-	return Xsqlite3CorruptError(tls, 69965)
+	return Xsqlite3CorruptError(tls, 69969)
 __9:
 	;
 	sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1)))
 	if !(iFree2+sz2 > usableSize) {
 		goto __10
 	}
-	return Xsqlite3CorruptError(tls, 69967)
+	return Xsqlite3CorruptError(tls, 69971)
 __10:
 	;
 	libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz)))
@@ -28945,7 +28947,7 @@ __7:
 	if !(iFree+sz > usableSize) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 69971)
+	return Xsqlite3CorruptError(tls, 69975)
 __11:
 	;
 __8:
@@ -29009,7 +29011,7 @@ __19:
 	if !(pc < iCellStart || pc > iCellLast) {
 		goto __22
 	}
-	return Xsqlite3CorruptError(tls, 70004)
+	return Xsqlite3CorruptError(tls, 70008)
 __22:
 	;
 	size = int32((*struct {
@@ -29019,7 +29021,7 @@ __22:
 	if !(cbrk < iCellStart || pc+size > usableSize) {
 		goto __23
 	}
-	return Xsqlite3CorruptError(tls, 70010)
+	return Xsqlite3CorruptError(tls, 70014)
 __23:
 	;
 	*(*U8)(unsafe.Pointer(pAddr1)) = U8(cbrk >> 8)
@@ -29041,7 +29043,7 @@ defragment_out:
 	if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) {
 		goto __24
 	}
-	return Xsqlite3CorruptError(tls, 70024)
+	return Xsqlite3CorruptError(tls, 70028)
 __24:
 	;
 	*(*uint8)(unsafe.Pointer(data + uintptr(hdr+5))) = U8(cbrk >> 8)
@@ -29076,7 +29078,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 				*(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x)))
 				return aData + uintptr(pc)
 			} else if x+pc > maxPC {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70081)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70085)
 				return uintptr(0)
 			} else {
 				*(*U8)(unsafe.Pointer(aData + uintptr(pc+2))) = U8(x >> 8)
@@ -29089,13 +29091,13 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 		pc = int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1)))
 		if pc <= iAddr {
 			if pc != 0 {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70096)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70100)
 			}
 			return uintptr(0)
 		}
 	}
 	if pc > maxPC+nByte-4 {
-		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70103)
+		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70107)
 	}
 	return uintptr(0)
 }
@@ -29120,7 +29122,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 		if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) {
 			top = 65536
 		} else {
-			return Xsqlite3CorruptError(tls, 70152)
+			return Xsqlite3CorruptError(tls, 70156)
 		}
 	}
 
@@ -29131,7 +29133,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 
 			*(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1))
 			if g2 <= gap {
-				return Xsqlite3CorruptError(tls, 70170)
+				return Xsqlite3CorruptError(tls, 70174)
 			} else {
 				return SQLITE_OK
 			}
@@ -29183,22 +29185,22 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 				if int32(iFreeBlk) == 0 {
 					break
 				}
-				return Xsqlite3CorruptError(tls, 70249)
+				return Xsqlite3CorruptError(tls, 70253)
 			}
 			iPtr = iFreeBlk
 		}
 		if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) {
-			return Xsqlite3CorruptError(tls, 70254)
+			return Xsqlite3CorruptError(tls, 70258)
 		}
 
 		if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) {
 			nFrag = U8(U32(iFreeBlk) - iEnd)
 			if iEnd > U32(iFreeBlk) {
-				return Xsqlite3CorruptError(tls, 70266)
+				return Xsqlite3CorruptError(tls, 70270)
 			}
 			iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1)))))
 			if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-				return Xsqlite3CorruptError(tls, 70269)
+				return Xsqlite3CorruptError(tls, 70273)
 			}
 			iSize = U16(iEnd - U32(iStart))
 			iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1))))
@@ -29208,7 +29210,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1))))
 			if iPtrEnd+3 >= int32(iStart) {
 				if iPtrEnd > int32(iStart) {
-					return Xsqlite3CorruptError(tls, 70282)
+					return Xsqlite3CorruptError(tls, 70286)
 				}
 				nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd))
 				iSize = U16(iEnd - U32(iPtr))
@@ -29216,7 +29218,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			}
 		}
 		if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) {
-			return Xsqlite3CorruptError(tls, 70288)
+			return Xsqlite3CorruptError(tls, 70292)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag))
 	}
@@ -29224,10 +29226,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 	x = U16(int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1))))
 	if int32(iStart) <= int32(x) {
 		if int32(iStart) < int32(x) {
-			return Xsqlite3CorruptError(tls, 70297)
+			return Xsqlite3CorruptError(tls, 70301)
 		}
 		if int32(iPtr) != int32(hdr)+1 {
-			return Xsqlite3CorruptError(tls, 70298)
+			return Xsqlite3CorruptError(tls, 70302)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8)
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk)
@@ -29287,7 +29289,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70357)
+			return Xsqlite3CorruptError(tls, 70361)
 		}
 	} else {
 		(*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize = U8(4)
@@ -29323,7 +29325,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70381)
+			return Xsqlite3CorruptError(tls, 70385)
 		}
 	}
 	return SQLITE_OK
@@ -29353,11 +29355,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 		var next U32
 		var size U32
 		if pc < top {
-			return Xsqlite3CorruptError(tls, 70432)
+			return Xsqlite3CorruptError(tls, 70436)
 		}
 		for 1 != 0 {
 			if pc > iCellLast {
-				return Xsqlite3CorruptError(tls, 70437)
+				return Xsqlite3CorruptError(tls, 70441)
 			}
 			next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1))))
 			size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1))))
@@ -29368,15 +29370,15 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 			pc = int32(next)
 		}
 		if next > U32(0) {
-			return Xsqlite3CorruptError(tls, 70447)
+			return Xsqlite3CorruptError(tls, 70451)
 		}
 		if U32(pc)+size > uint32(usableSize) {
-			return Xsqlite3CorruptError(tls, 70451)
+			return Xsqlite3CorruptError(tls, 70455)
 		}
 	}
 
 	if nFree > usableSize || nFree < iCellFirst {
-		return Xsqlite3CorruptError(tls, 70463)
+		return Xsqlite3CorruptError(tls, 70467)
 	}
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst))
 	return SQLITE_OK
@@ -29404,14 +29406,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 {
 		pc = int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2) + 1)))
 
 		if pc < iCellFirst || pc > iCellLast {
-			return Xsqlite3CorruptError(tls, 70494)
+			return Xsqlite3CorruptError(tls, 70498)
 		}
 		sz = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
 		})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc)))
 
 		if pc+sz > usableSize {
-			return Xsqlite3CorruptError(tls, 70499)
+			return Xsqlite3CorruptError(tls, 70503)
 		}
 	}
 	return SQLITE_OK
@@ -29425,7 +29427,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 	data = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 {
-		return Xsqlite3CorruptError(tls, 70531)
+		return Xsqlite3CorruptError(tls, 70535)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1))
@@ -29437,7 +29439,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1))))
 	if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) {
-		return Xsqlite3CorruptError(tls, 70545)
+		return Xsqlite3CorruptError(tls, 70549)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = -1
@@ -29540,7 +29542,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	rc = Xsqlite3CorruptError(tls, 70700)
+	rc = Xsqlite3CorruptError(tls, 70704)
 	goto getAndInitPage_error1
 __1:
 	;
@@ -29568,7 +29570,7 @@ __3:
 	if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) {
 		goto __5
 	}
-	rc = Xsqlite3CorruptError(tls, 70721)
+	rc = Xsqlite3CorruptError(tls, 70725)
 	goto getAndInitPage_error2
 __5:
 	;
@@ -29607,7 +29609,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 {
 			releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
 			*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
-			return Xsqlite3CorruptError(tls, 70787)
+			return Xsqlite3CorruptError(tls, 70791)
 		}
 		(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0)
 	} else {
@@ -30490,7 +30492,7 @@ __16:
 	if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) {
 		goto __18
 	}
-	rc = Xsqlite3CorruptError(tls, 71722)
+	rc = Xsqlite3CorruptError(tls, 71726)
 	goto page1_init_failed
 	goto __19
 __18:
@@ -30905,7 +30907,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 	if int32(eType) == PTRMAP_OVERFLOW2 {
 		if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
-			return Xsqlite3CorruptError(tls, 72143)
+			return Xsqlite3CorruptError(tls, 72147)
 		}
 		Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo)
 	} else {
@@ -30931,7 +30933,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp)
 				if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 					if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-						return Xsqlite3CorruptError(tls, 72162)
+						return Xsqlite3CorruptError(tls, 72166)
 					}
 					if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) {
 						Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo)
@@ -30940,7 +30942,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				}
 			} else {
 				if pCell+uintptr(4) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-					return Xsqlite3CorruptError(tls, 72171)
+					return Xsqlite3CorruptError(tls, 72175)
 				}
 				if Xsqlite3Get4byte(tls, pCell) == iFrom {
 					Xsqlite3Put4byte(tls, pCell, iTo)
@@ -30951,7 +30953,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 		if i == nCell {
 			if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom {
-				return Xsqlite3CorruptError(tls, 72183)
+				return Xsqlite3CorruptError(tls, 72187)
 			}
 			Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo)
 		}
@@ -30967,7 +30969,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag
 	var pPager uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPager
 
 	if iDbPage < Pgno(3) {
-		return Xsqlite3CorruptError(tls, 72218)
+		return Xsqlite3CorruptError(tls, 72222)
 	}
 
 	*(*int32)(unsafe.Pointer(bp)) = Xsqlite3PagerMovepage(tls, pPager, (*MemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -31028,7 +31030,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 			return rc
 		}
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE {
-			return Xsqlite3CorruptError(tls, 72316)
+			return Xsqlite3CorruptError(tls, 72320)
 		}
 
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE {
@@ -31063,7 +31065,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 				if *(*Pgno)(unsafe.Pointer(bp + 40)) > dbSize {
 					releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
-					return Xsqlite3CorruptError(tls, 72368)
+					return Xsqlite3CorruptError(tls, 72372)
 				}
 			}
 
@@ -31123,7 +31125,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 {
 		var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree)
 
 		if nOrig < nFin || nFree >= nOrig {
-			rc = Xsqlite3CorruptError(tls, 72436)
+			rc = Xsqlite3CorruptError(tls, 72440)
 		} else if nFree > Pgno(0) {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
 			if rc == SQLITE_OK {
@@ -31162,7 +31164,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 
 		nOrig = btreePagecount(tls, pBt)
 		if ptrmapPageno(tls, pBt, nOrig) == nOrig || nOrig == U32(Xsqlite3PendingByte)/(*BtShared)(unsafe.Pointer(pBt)).FpageSize+U32(1) {
-			return Xsqlite3CorruptError(tls, 72487)
+			return Xsqlite3CorruptError(tls, 72491)
 		}
 
 		nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
@@ -31193,7 +31195,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 		}
 		nFin = finalDbSize(tls, pBt, nOrig, nVac)
 		if nFin > nOrig {
-			return Xsqlite3CorruptError(tls, 72514)
+			return Xsqlite3CorruptError(tls, 72518)
 		}
 		if nFin < nOrig {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -31534,7 +31536,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u
 
 	if iTable <= Pgno(1) {
 		if iTable < Pgno(1) {
-			return Xsqlite3CorruptError(tls, 72978)
+			return Xsqlite3CorruptError(tls, 72982)
 		} else if btreePagecount(tls, pBt) == Pgno(0) {
 			iTable = Pgno(0)
 		}
@@ -31778,14 +31780,14 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt
 
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
-		return Xsqlite3CorruptError(tls, 73385)
+		return Xsqlite3CorruptError(tls, 73389)
 	}
 
 	getCellInfo(tls, pCur)
 	aPayload = (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
 
 	if Uptr((int64(aPayload)-int64((*MemPage)(unsafe.Pointer(pPage)).FaData))/1) > Uptr((*BtShared)(unsafe.Pointer(pBt)).FusableSize-U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal)) {
-		return Xsqlite3CorruptError(tls, 73400)
+		return Xsqlite3CorruptError(tls, 73404)
 	}
 
 	if offset < U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -31830,7 +31832,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 
 		for *(*Pgno)(unsafe.Pointer(bp)) != 0 {
 			if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage {
-				return Xsqlite3CorruptError(tls, 73462)
+				return Xsqlite3CorruptError(tls, 73466)
 			}
 
 			*(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp))
@@ -31879,7 +31881,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	}
 
 	if rc == SQLITE_OK && amt > U32(0) {
-		return Xsqlite3CorruptError(tls, 73547)
+		return Xsqlite3CorruptError(tls, 73551)
 	}
 	return rc
 }
@@ -31959,7 +31961,7 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt
 
 func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 {
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 {
-		return Xsqlite3CorruptError(tls, 73684)
+		return Xsqlite3CorruptError(tls, 73688)
 	}
 	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	*(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl))
@@ -32050,7 +32052,7 @@ __2:
 	if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 73823)
+	return Xsqlite3CorruptError(tls, 73827)
 __11:
 	;
 skip_init:
@@ -32070,7 +32072,7 @@ __12:
 	if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) {
 		goto __16
 	}
-	return Xsqlite3CorruptError(tls, 73835)
+	return Xsqlite3CorruptError(tls, 73839)
 __16:
 	;
 	subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8))
@@ -32280,7 +32282,7 @@ __19:
 	if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __21
 	}
-	return Xsqlite3CorruptError(tls, 74077)
+	return Xsqlite3CorruptError(tls, 74081)
 __21:
 	;
 	goto __19
@@ -32484,7 +32486,7 @@ __2:
 	if !!(int32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit) != 0) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 74273)
+	return Xsqlite3CorruptError(tls, 74277)
 __4:
 	;
 	goto bypass_moveto_root
@@ -32549,7 +32551,7 @@ __15:
 	if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) {
 		goto __17
 	}
-	rc = Xsqlite3CorruptError(tls, 74360)
+	rc = Xsqlite3CorruptError(tls, 74364)
 	goto moveto_index_finish
 __17:
 	;
@@ -32597,7 +32599,7 @@ __22:
 	if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) {
 		goto __24
 	}
-	rc = Xsqlite3CorruptError(tls, 74392)
+	rc = Xsqlite3CorruptError(tls, 74396)
 __24:
 	;
 	goto moveto_index_finish
@@ -32716,7 +32718,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 {
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1))
 	if !(int32((*MemPage)(unsafe.Pointer(pPage)).FisInit) != 0) || Xsqlite3FaultSim(tls, 412) != 0 {
-		return Xsqlite3CorruptError(tls, 74508)
+		return Xsqlite3CorruptError(tls, 74512)
 	}
 
 	if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
@@ -32876,7 +32878,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr
 	if !(n >= mxPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74688)
+	return Xsqlite3CorruptError(tls, 74692)
 __1:
 	;
 	if !(n > U32(0)) {
@@ -32941,7 +32943,7 @@ __15:
 	if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) {
 		goto __16
 	}
-	rc = Xsqlite3CorruptError(tls, 74744)
+	rc = Xsqlite3CorruptError(tls, 74748)
 	goto __17
 __16:
 	rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0)
@@ -32977,7 +32979,7 @@ __19:
 		goto __22
 	}
 
-	rc = Xsqlite3CorruptError(tls, 74773)
+	rc = Xsqlite3CorruptError(tls, 74777)
 	goto end_allocate_page
 	goto __23
 __22:
@@ -33021,7 +33023,7 @@ __27:
 	if !(iNewTrunk > mxPage) {
 		goto __32
 	}
-	rc = Xsqlite3CorruptError(tls, 74807)
+	rc = Xsqlite3CorruptError(tls, 74811)
 	goto end_allocate_page
 __32:
 	;
@@ -33133,7 +33135,7 @@ __40:
 	if !(iPage > mxPage || iPage < Pgno(2)) {
 		goto __51
 	}
-	rc = Xsqlite3CorruptError(tls, 74872)
+	rc = Xsqlite3CorruptError(tls, 74876)
 	goto end_allocate_page
 __51:
 	;
@@ -33291,7 +33293,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 {
 	if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74999)
+	return Xsqlite3CorruptError(tls, 75003)
 __1:
 	;
 	if !(pMemPage != 0) {
@@ -33348,7 +33350,7 @@ __7:
 	if !(iTrunk > btreePagecount(tls, pBt)) {
 		goto __10
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75046)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75050)
 	goto freepage_out
 __10:
 	;
@@ -33364,7 +33366,7 @@ __11:
 	if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) {
 		goto __12
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75057)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75061)
 	goto freepage_out
 __12:
 	;
@@ -33438,7 +33440,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 	var ovflPageSize U32
 
 	if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 75146)
+		return Xsqlite3CorruptError(tls, 75150)
 	}
 	ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
 	pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt
@@ -33450,7 +33452,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 		*(*Pgno)(unsafe.Pointer(bp + 8)) = Pgno(0)
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 		if ovflPgno < Pgno(2) || ovflPgno > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 75163)
+			return Xsqlite3CorruptError(tls, 75167)
 		}
 		if nOvfl != 0 {
 			rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8)
@@ -33461,7 +33463,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 
 		if (*(*uintptr)(unsafe.Pointer(bp)) != 0 || libc.AssignPtrUintptr(bp, btreePageLookup(tls, pBt, ovflPgno)) != uintptr(0)) &&
 			Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 {
-			rc = Xsqlite3CorruptError(tls, 75183)
+			rc = Xsqlite3CorruptError(tls, 75187)
 		} else {
 			rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp)), ovflPgno)
 		}
@@ -33626,7 +33628,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
 	hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75436)
+		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75440)
 		return
 	}
 	rc = freeSpace(tls, pPage, uint16(pc), uint16(sz))
@@ -33905,12 +33907,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 
 		if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) {
 			if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) {
-				return Xsqlite3CorruptError(tls, 75737)
+				return Xsqlite3CorruptError(tls, 75741)
 			}
 			pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1)
 		} else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) &&
 			Uptr(pCell) < Uptr(pSrcEnd) {
-			return Xsqlite3CorruptError(tls, 75742)
+			return Xsqlite3CorruptError(tls, 75746)
 		}
 
 		pData -= uintptr(sz)
@@ -33918,7 +33920,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 		*(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1)
 		pCellptr += uintptr(2)
 		if pData < pCellptr {
-			return Xsqlite3CorruptError(tls, 75748)
+			return Xsqlite3CorruptError(tls, 75752)
 		}
 		libc.Xmemmove(tls, pData, pCell, uint64(sz))
 
@@ -33978,7 +33980,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr,
 
 		if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) &&
 			Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) {
-			Xsqlite3CorruptError(tls, 75833)
+			Xsqlite3CorruptError(tls, 75837)
 			return 1
 		}
 		libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz))
@@ -34067,7 +34069,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC
 	if !(nShift > nCell) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 75947)
+	return Xsqlite3CorruptError(tls, 75951)
 __2:
 	;
 	libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2))
@@ -34183,7 +34185,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr
 	var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt
 
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
-		return Xsqlite3CorruptError(tls, 76060)
+		return Xsqlite3CorruptError(tls, 76064)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 136)) = allocateBtreePage(tls, pBt, bp, bp+8, uint32(0), uint8(0))
@@ -34503,7 +34505,7 @@ __22:
 	if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) {
 		goto __25
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76481)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76485)
 	goto balance_cleanup
 __25:
 	;
@@ -34514,7 +34516,7 @@ __25:
 	if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) {
 		goto __27
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76505)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76509)
 	goto balance_cleanup
 __27:
 	;
@@ -34672,7 +34674,7 @@ __52:
 	if !(k > NB+2) {
 		goto __55
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76606)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76610)
 	goto balance_cleanup
 __55:
 	;
@@ -34746,7 +34748,7 @@ __65:
 	}()) {
 		goto __67
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76639)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76643)
 	goto balance_cleanup
 __67:
 	;
@@ -34809,7 +34811,7 @@ __73:
 	}()) {
 		goto __75
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76683)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76687)
 	goto balance_cleanup
 __75:
 	;
@@ -34837,7 +34839,7 @@ __76:
 		*(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) {
 		goto __81
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76716)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76720)
 __81:
 	;
 	if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) {
@@ -35098,7 +35100,7 @@ __120:
 	if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) {
 		goto __121
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76916)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76920)
 	goto balance_cleanup
 __121:
 	;
@@ -35290,7 +35292,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 {
 		if pOther != pCur &&
 			int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID &&
 			(*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage {
-			return Xsqlite3CorruptError(tls, 77146)
+			return Xsqlite3CorruptError(tls, 77150)
 		}
 	}
 	return SQLITE_OK
@@ -35328,7 +35330,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 {
 				break
 			}
 		} else if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) > 1 {
-			rc = Xsqlite3CorruptError(tls, 77206)
+			rc = Xsqlite3CorruptError(tls, 77210)
 		} else {
 			var pParent uintptr = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-1)*8))
 			var iIdx int32 = int32(*(*U16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-1)*2)))
@@ -35434,7 +35436,7 @@ func btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 			return rc
 		}
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
-			rc = Xsqlite3CorruptError(tls, 77370)
+			rc = Xsqlite3CorruptError(tls, 77374)
 		} else {
 			if U32(iOffset)+ovflPageSize < U32(nTotal) {
 				ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -35459,7 +35461,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 
 	if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd ||
 		(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FcellOffset) {
-		return Xsqlite3CorruptError(tls, 77398)
+		return Xsqlite3CorruptError(tls, 77402)
 	}
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
 		return btreeOverwriteContent(tls, pPage, (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX,
@@ -35529,7 +35531,7 @@ __2:
 		goto __3
 	}
 
-	return Xsqlite3CorruptError(tls, 77479)
+	return Xsqlite3CorruptError(tls, 77483)
 __3:
 	;
 __1:
@@ -35642,7 +35644,7 @@ __7:
 		goto __21
 	}
 
-	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77602)
+	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77606)
 	goto __22
 __21:
 	*(*int32)(unsafe.Pointer(bp + 120)) = btreeComputeFreeSpace(tls, pPage)
@@ -35702,6 +35704,7 @@ __30:
 __25:
 	;
 	idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
+	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !(*(*int32)(unsafe.Pointer(bp)) == 0) {
 		goto __31
 	}
@@ -35709,7 +35712,7 @@ __25:
 	if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) {
 		goto __33
 	}
-	return Xsqlite3CorruptError(tls, 77640)
+	return Xsqlite3CorruptError(tls, 77645)
 __33:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage)
@@ -35747,13 +35750,13 @@ __37:
 	if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) {
 		goto __39
 	}
-	return Xsqlite3CorruptError(tls, 77667)
+	return Xsqlite3CorruptError(tls, 77672)
 __39:
 	;
 	if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 124))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __40
 	}
-	return Xsqlite3CorruptError(tls, 77670)
+	return Xsqlite3CorruptError(tls, 77675)
 __40:
 	;
 	libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 124))))
@@ -35784,7 +35787,6 @@ __32:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 124)), uintptr(0), uint32(0))
 
-	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) {
 		goto __44
 	}
@@ -35859,7 +35861,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 	nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
 	aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
 	if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 77773)
+		return Xsqlite3CorruptError(tls, 77777)
 	}
 	nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
 	if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -35884,7 +35886,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 
 		if nRem > nIn {
 			if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-				return Xsqlite3CorruptError(tls, 77798)
+				return Xsqlite3CorruptError(tls, 77802)
 			}
 			ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
 		}
@@ -35985,7 +35987,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 				return *(*int32)(unsafe.Pointer(bp + 24))
 			}
 		} else {
-			return Xsqlite3CorruptError(tls, 77894)
+			return Xsqlite3CorruptError(tls, 77898)
 		}
 	}
 
@@ -35993,11 +35995,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 	iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
-		return Xsqlite3CorruptError(tls, 77903)
+		return Xsqlite3CorruptError(tls, 77907)
 	}
 	pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx) + 1)))))
 	if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 {
-		return Xsqlite3CorruptError(tls, 77907)
+		return Xsqlite3CorruptError(tls, 77911)
 	}
 
 	bPreserve = U8(libc.Bool32(int32(flags)&BTREE_SAVEPOSITION != 0))
@@ -36072,7 +36074,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 		}
 		pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)) + 1)))))
 		if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 {
-			return Xsqlite3CorruptError(tls, 77998)
+			return Xsqlite3CorruptError(tls, 78002)
 		}
 		nCell = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
@@ -36141,7 +36143,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 
 		Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp)
 		if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 78114)
+			return Xsqlite3CorruptError(tls, 78118)
 		}
 		*(*Pgno)(unsafe.Pointer(bp))++
 
@@ -36170,7 +36172,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 			}
 			*(*int32)(unsafe.Pointer(bp + 40)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp)), bp+32, bp+36)
 			if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE {
-				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78162)
+				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78166)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -36246,7 +36248,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 78252)
+	return Xsqlite3CorruptError(tls, 78256)
 __1:
 	;
 	*(*int32)(unsafe.Pointer(bp + 32)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0)
@@ -36260,7 +36262,7 @@ __2:
 		Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) {
 		goto __3
 	}
-	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78259)
+	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78263)
 	goto cleardatabasepage_out
 __3:
 	;
@@ -36394,7 +36396,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3
 	var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt
 
 	if iTable > btreePagecount(tls, pBt) {
-		return Xsqlite3CorruptError(tls, 78363)
+		return Xsqlite3CorruptError(tls, 78367)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 12)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0))
@@ -38864,7 +38866,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32,
 	var rc int32
 	(*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null)
 	if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) {
-		return Xsqlite3CorruptError(tls, 81630)
+		return Xsqlite3CorruptError(tls, 81634)
 	}
 	if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) {
 		rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz)
@@ -39513,7 +39515,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		return Xsqlite3GetVarint32(tls, a, bp)
 	}())
 	if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) {
-		return Xsqlite3CorruptError(tls, 82270)
+		return Xsqlite3CorruptError(tls, 82274)
 	}
 	iField = *(*int32)(unsafe.Pointer(bp))
 	for i = 0; i <= iCol; i++ {
@@ -39528,14 +39530,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		}())
 
 		if iHdr > *(*int32)(unsafe.Pointer(bp)) {
-			return Xsqlite3CorruptError(tls, 82276)
+			return Xsqlite3CorruptError(tls, 82280)
 		}
 		szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4))))
 		iField = iField + szField
 	}
 
 	if iField > nRec {
-		return Xsqlite3CorruptError(tls, 82282)
+		return Xsqlite3CorruptError(tls, 82286)
 	}
 	if pMem == uintptr(0) {
 		pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db))
@@ -41839,7 +41841,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 {
 		return rc
 	}
 	if *(*int32)(unsafe.Pointer(bp)) != 0 {
-		return Xsqlite3CorruptError(tls, 86058)
+		return Xsqlite3CorruptError(tls, 86062)
 	}
 	(*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0)
 	(*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE)
@@ -42390,7 +42392,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		i = 0
 	}
 	if d1 > uint32(nKey1) {
-		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86985))
+		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86989))
 		return 0
 	}
 
@@ -42455,7 +42457,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 
 				if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) ||
 					int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87062))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87066))
 					return 0
 				} else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 {
 					(*Mem)(unsafe.Pointer(bp + 8)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc
@@ -42489,7 +42491,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 				var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2))
 
 				if d1+U32(nStr) > uint32(nKey1) {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87092))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87096))
 					return 0
 				} else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 {
 					if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) {
@@ -42539,7 +42541,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		}
 		idx1 = idx1 + U32(Xsqlite3VarintLen(tls, uint64(*(*U32)(unsafe.Pointer(bp + 64)))))
 		if idx1 >= *(*U32)(unsafe.Pointer(bp + 4)) {
-			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87136))
+			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87140))
 			return 0
 		}
 	}
@@ -42685,7 +42687,7 @@ __5:
 	if !(szHdr+nStr > nKey1) {
 		goto __7
 	}
-	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87299))
+	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87303))
 	return 0
 __7:
 	;
@@ -42856,7 +42858,7 @@ __6:
 idx_rowid_corruption:
 	;
 	Xsqlite3VdbeMemReleaseMalloc(tls, bp)
-	return Xsqlite3CorruptError(tls, 87457)
+	return Xsqlite3CorruptError(tls, 87461)
 }
 
 // Compare the key of the index entry that cursor pC is pointing to against
@@ -42882,7 +42884,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
 
 	if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) {
 		*(*int32)(unsafe.Pointer(res)) = 0
-		return Xsqlite3CorruptError(tls, 87490)
+		return Xsqlite3CorruptError(tls, 87494)
 	}
 	Xsqlite3VdbeMemInit(tls, bp, db, uint16(0))
 	rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp)
@@ -43156,7 +43158,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 {
 		var v uintptr = pStmt
 		var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb
 		if vdbeSafety(tls, v) != 0 {
-			return Xsqlite3MisuseError(tls, 87854)
+			return Xsqlite3MisuseError(tls, 87858)
 		}
 		Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) {
@@ -43796,7 +43798,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 {
 	var db uintptr
 
 	if vdbeSafetyNotNull(tls, v) != 0 {
-		return Xsqlite3MisuseError(tls, 88544)
+		return Xsqlite3MisuseError(tls, 88548)
 	}
 	db = (*Vdbe)(unsafe.Pointer(v)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -44316,7 +44318,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 
 	var pVar uintptr
 	if vdbeSafetyNotNull(tls, p) != 0 {
-		return Xsqlite3MisuseError(tls, 89208)
+		return Xsqlite3MisuseError(tls, 89212)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 	if int32((*Vdbe)(unsafe.Pointer(p)).FeVdbeState) != VDBE_READY_STATE {
@@ -44324,7 +44326,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 		Xsqlite3_log(tls, SQLITE_MISUSE,
 			ts+5357, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql))
-		return Xsqlite3MisuseError(tls, 89216)
+		return Xsqlite3MisuseError(tls, 89220)
 	}
 	if i >= uint32((*Vdbe)(unsafe.Pointer(p)).FnVar) {
 		Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE)
@@ -44739,7 +44741,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89707)
+	rc = Xsqlite3MisuseError(tls, 89711)
 	goto preupdate_old_out
 __1:
 	;
@@ -44883,7 +44885,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89809)
+	rc = Xsqlite3MisuseError(tls, 89813)
 	goto preupdate_new_out
 __1:
 	;
@@ -45327,10 +45329,6 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 {
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Real != 0 {
 			h = h + U64(Xsqlite3VdbeIntValue(tls, p))
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 {
-			h = h + U64((*Mem)(unsafe.Pointer(p)).Fn)
-			if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Zero != 0 {
-				h = h + U64(*(*int32)(unsafe.Pointer(p)))
-			}
 		}
 	}
 	return h
@@ -47978,7 +47976,7 @@ op_column_corrupt:
 	goto __9
 	goto __425
 __424:
-	rc = Xsqlite3CorruptError(tls, 93317)
+	rc = Xsqlite3CorruptError(tls, 93320)
 	goto abort_due_to_error
 __425:
 	;
@@ -49738,7 +49736,7 @@ notExistsWithKey:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) {
 		goto __682
 	}
-	rc = Xsqlite3CorruptError(tls, 95560)
+	rc = Xsqlite3CorruptError(tls, 95563)
 	goto __683
 __682:
 	goto jump_to_p2
@@ -50516,7 +50514,7 @@ __767:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) {
 		goto __770
 	}
-	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96635, ts+5866)
+	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96638, ts+5866)
 	goto abort_due_to_error
 __770:
 	;
@@ -50626,7 +50624,7 @@ __780:
 	if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) {
 		goto __781
 	}
-	rc = Xsqlite3CorruptError(tls, 96840)
+	rc = Xsqlite3CorruptError(tls, 96843)
 	goto abort_due_to_error
 __781:
 	;
@@ -50820,7 +50818,7 @@ __802:
 		goto __803
 	}
 
-	rc = Xsqlite3CorruptError(tls, 97092)
+	rc = Xsqlite3CorruptError(tls, 97095)
 __803:
 	;
 	Xsqlite3DbFreeNN(tls, db, zSql)
@@ -52187,7 +52185,7 @@ __955:
 	if !(rc == SQLITE_IOERR|int32(33)<<8) {
 		goto __957
 	}
-	rc = Xsqlite3CorruptError(tls, 99031)
+	rc = Xsqlite3CorruptError(tls, 99034)
 __957:
 	;
 __956:
@@ -52707,7 +52705,7 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99516)
+		return Xsqlite3MisuseError(tls, 99519)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -52790,7 +52788,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99616)
+		return Xsqlite3MisuseError(tls, 99619)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -56230,14 +56228,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			;
 			Xsqlite3WalkExpr(tls, pWalker, (*Expr)(unsafe.Pointer(pExpr)).FpLeft)
 			if 0 == Xsqlite3ExprCanBeNull(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
-				if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6764
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsTrue)
-				} else {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6769
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
-				}
-				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
+				*(*int32)(unsafe.Pointer(pExpr + 8)) = libc.Bool32(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL)
+				*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IntValue)
+				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_INTEGER)
+
 				i = 0
 				p = pNC
 			__4:
@@ -56281,7 +56275,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_GenCol) != 0 {
-					notValidImpl(tls, pParse, pNC, ts+6775, uintptr(0), pExpr)
+					notValidImpl(tls, pParse, pNC, ts+6764, uintptr(0), pExpr)
 				}
 
 				pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight
@@ -56345,7 +56339,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 						(*Expr)(unsafe.Pointer(pExpr)).FiTable = exprProbability(tls, (*ExprList_item)(unsafe.Pointer(pList+8+1*32)).FpExpr)
 						if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 {
 							Xsqlite3ErrorMsg(tls, pParse,
-								ts+6792, libc.VaList(bp, pExpr))
+								ts+6781, libc.VaList(bp, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
 					} else {
@@ -56361,7 +56355,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 					var auth int32 = Xsqlite3AuthCheck(tls, pParse, SQLITE_FUNCTION, uintptr(0), (*FuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0))
 					if auth != SQLITE_OK {
 						if auth == SQLITE_DENY {
-							Xsqlite3ErrorMsg(tls, pParse, ts+6856,
+							Xsqlite3ErrorMsg(tls, pParse, ts+6845,
 								libc.VaList(bp+8, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
@@ -56375,7 +56369,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				}
 				if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_CONSTANT) == U32(0) {
 					if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_PartIdx|NC_GenCol) != 0 {
-						notValidImpl(tls, pParse, pNC, ts+6892, uintptr(0), pExpr)
+						notValidImpl(tls, pParse, pNC, ts+6881, uintptr(0), pExpr)
 					}
 
 				} else {
@@ -56398,30 +56392,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			if 0 == libc.Bool32(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 				if pDef != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+6920, libc.VaList(bp+16, pExpr))
+						ts+6909, libc.VaList(bp+16, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowAgg == 0 ||
 					is_agg != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) ||
 					is_agg != 0 && pWin != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowWin == 0 {
 					var zType uintptr
 					if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 {
-						zType = ts + 6963
+						zType = ts + 6952
 					} else {
-						zType = ts + 6970
+						zType = ts + 6959
 					}
-					Xsqlite3ErrorMsg(tls, pParse, ts+6980, libc.VaList(bp+24, zType, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6969, libc.VaList(bp+24, zType, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 					is_agg = 0
 				} else if no_such_func != 0 && int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7008, libc.VaList(bp+40, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6997, libc.VaList(bp+40, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if wrong_num_args != 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7030,
+					Xsqlite3ErrorMsg(tls, pParse, ts+7019,
 						libc.VaList(bp+48, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg == 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7074,
+						ts+7063,
 						libc.VaList(bp+56, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				}
@@ -56493,15 +56487,15 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_SelfRef != 0 {
-					notValidImpl(tls, pParse, pNC, ts+7122, pExpr, pExpr)
+					notValidImpl(tls, pParse, pNC, ts+7111, pExpr, pExpr)
 				} else {
 					Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32)))
 				}
 
 				if nRef != (*NameContext)(unsafe.Pointer(pNC)).FnRef {
 					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_VarSelect)
-					*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_VarSelect
 				}
+				*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_Subquery
 			}
 			break
 
@@ -56509,7 +56503,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 	case TK_VARIABLE:
 		{
 			if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IsCheck|NC_PartIdx|NC_IdxExpr|NC_GenCol) != 0 {
-				notValidImpl(tls, pParse, pNC, ts+7133, pExpr, pExpr)
+				notValidImpl(tls, pParse, pNC, ts+7122, pExpr, pExpr)
 			}
 
 			break
@@ -56640,7 +56634,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3
 	defer tls.Free(24)
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+7144, libc.VaList(bp, i, zType, mx))
+		ts+7133, libc.VaList(bp, i, zType, mx))
 	Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pError)
 }
 
@@ -56660,7 +56654,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	}
 	db = (*Parse)(unsafe.Pointer(pParse)).Fdb
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7200, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7189, 0)
 		return 1
 	}
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
@@ -56695,7 +56689,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 			}
 			if Xsqlite3ExprIsInteger(tls, pE, bp+8) != 0 {
 				if *(*int32)(unsafe.Pointer(bp + 8)) <= 0 || *(*int32)(unsafe.Pointer(bp + 8)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr {
-					resolveOutOfRangeError(tls, pParse, ts+7234, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
+					resolveOutOfRangeError(tls, pParse, ts+7223, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
 					return 1
 				}
 			} else {
@@ -56752,7 +56746,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
 		if int32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2) == 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+7240, libc.VaList(bp, i+1))
+				ts+7229, libc.VaList(bp, i+1))
 			return 1
 		}
 	}
@@ -56780,7 +56774,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr,
 		return 0
 	}
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7301, libc.VaList(bp, zType))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7290, libc.VaList(bp, zType))
 		return 1
 	}
 	pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList
@@ -56994,7 +56988,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		*(*int32)(unsafe.Pointer(bp + 40)) |= NC_UEList
 		if (*Select)(unsafe.Pointer(p)).FpHaving != 0 {
 			if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Aggregate) == U32(0) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7332, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+7321, 0)
 				return WRC_Abort
 			}
 			if Xsqlite3ResolveExprNames(tls, bp, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 {
@@ -57034,7 +57028,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 
 		if (*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) &&
 			isCompound <= nCompound &&
-			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7234) != 0 {
+			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7223) != 0 {
 			return WRC_Abort
 		}
 		if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -57045,7 +57039,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		if pGroupBy != 0 {
 			var pItem uintptr
 
-			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7371) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
+			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7360) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 				return WRC_Abort
 			}
 			i = 0
@@ -57057,7 +57051,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 			{
 				if (*Expr)(unsafe.Pointer((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr)).Fflags&U32(EP_Agg) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7377, 0)
+						ts+7366, 0)
 					return WRC_Abort
 				}
 
@@ -57921,7 +57915,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32
 	var mxHeight int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4))
 	if nHeight > mxHeight {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+7436, libc.VaList(bp, mxHeight))
+			ts+7425, libc.VaList(bp, mxHeight))
 		rc = SQLITE_ERROR
 	}
 	return rc
@@ -58170,10 +58164,10 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList
 			nExprElem = 1
 		}
 		if nExprElem != nElem {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7484,
+			Xsqlite3ErrorMsg(tls, pParse, ts+7473,
 				libc.VaList(bp, nExprElem, func() uintptr {
 					if nExprElem > 1 {
-						return ts + 7528
+						return ts + 7517
 					}
 					return ts + 1554
 				}(), nElem))
@@ -58214,7 +58208,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt
 		!(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 		Xsqlite3ExprDeferredDelete(tls, pParse, pLeft)
 		Xsqlite3ExprDeferredDelete(tls, pParse, pRight)
-		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7530)
+		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7519)
 	} else {
 		return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight)
 	}
@@ -58240,7 +58234,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u
 	if pList != 0 &&
 		(*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) &&
 		!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7532, libc.VaList(bp, pToken))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7521, libc.VaList(bp, pToken))
 	}
 	*(*uintptr)(unsafe.Pointer(pNew + 32)) = pList
 	*(*U32)(unsafe.Pointer(pNew + 4)) |= U32(EP_HasFunc)
@@ -58268,7 +58262,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD
 	if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromDDL) != U32(0) {
 		if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_DIRECT) != U32(0) ||
 			(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) == uint64(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7566, libc.VaList(bp, pExpr))
+			Xsqlite3ErrorMsg(tls, pParse, ts+7555, libc.VaList(bp, pExpr))
 		}
 	}
 }
@@ -58315,7 +58309,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 			}
 
 			if bOk == 0 || *(*I64)(unsafe.Pointer(bp + 8)) < int64(1) || *(*I64)(unsafe.Pointer(bp + 8)) > I64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7586,
+				Xsqlite3ErrorMsg(tls, pParse, ts+7575,
 					libc.VaList(bp, *(*int32)(unsafe.Pointer(db + 136 + 9*4))))
 				Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 				return
@@ -58340,7 +58334,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 	}
 	(*Expr)(unsafe.Pointer(pExpr)).FiColumn = x
 	if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7629, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7618, 0)
 		Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 	}
 }
@@ -58915,7 +58909,7 @@ __2:
 	if !(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_SELECT && (*IdList)(unsafe.Pointer(pColumns)).FnId != libc.AssignInt32(&n, Xsqlite3ExprVectorSize(tls, pExpr))) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7652,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7641,
 		libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n))
 	goto vector_append_error
 __3:
@@ -59038,7 +59032,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr,
 	var mx int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4))
 
 	if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7682, libc.VaList(bp, zObject))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7671, libc.VaList(bp, zObject))
 	}
 }
 
@@ -59094,10 +59088,10 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int
 //	  "false"                        EP_IsFalse
 //	  anything else                  0
 func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 {
-	if Xsqlite3StrICmp(tls, zIn, ts+6764) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7694) == 0 {
 		return U32(EP_IsTrue)
 	}
-	if Xsqlite3StrICmp(tls, zIn, ts+6769) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7699) == 0 {
 		return U32(EP_IsFalse)
 	}
 	return U32(0)
@@ -60171,7 +60165,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 {
 	}
 	if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
-		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7530)
+		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7519)
 		if pLimit != 0 {
 			(*Expr)(unsafe.Pointer(pLimit)).FaffExpr = uint8(SQLITE_AFF_NUMERIC)
 			pLimit = Xsqlite3PExpr(tls, pParse, TK_NE,
@@ -60609,6 +60603,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr
 func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) {
 	var iAddr int32
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
+	var nErr int32 = (*Parse)(unsafe.Pointer(pParse)).FnErr
 
 	if (*Parse)(unsafe.Pointer(pParse)).FiSelfTab > 0 {
 		iAddr = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Parse)(unsafe.Pointer(pParse)).FiSelfTab-1, 0, regOut)
@@ -60622,6 +60617,9 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr
 	if iAddr != 0 {
 		Xsqlite3VdbeJumpHere(tls, v, iAddr)
 	}
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr > nErr {
+		(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FerrByteOffset = -1
+	}
 }
 
 // Generate code to extract the value of the iCol-th column of a table.
@@ -60840,6 +60838,7 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 	var p uintptr
 	var v uintptr
 	for p = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr; p != 0; p = (*IndexedExpr)(unsafe.Pointer(p)).FpIENext {
+		var exprAff U8
 		var iDataCur int32 = (*IndexedExpr)(unsafe.Pointer(p)).FiDataCur
 		if iDataCur < 0 {
 			continue
@@ -60853,6 +60852,14 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 		if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IndexedExpr)(unsafe.Pointer(p)).FpExpr, iDataCur) != 0 {
 			continue
 		}
+
+		exprAff = Xsqlite3ExprAffinity(tls, pExpr)
+		if int32(exprAff) <= SQLITE_AFF_BLOB && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_BLOB ||
+			int32(exprAff) == SQLITE_AFF_TEXT && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_TEXT ||
+			int32(exprAff) >= SQLITE_AFF_NUMERIC && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_NUMERIC {
+			continue
+		}
+
 		v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 
 		if (*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow != 0 {
@@ -61626,7 +61633,7 @@ __121:
 	if !((*Expr)(unsafe.Pointer(pExpr)).FiTable != n1) {
 		goto __122
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7652,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7641,
 		libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1))
 __122:
 	;
@@ -61648,11 +61655,10 @@ __49:
 	return target
 
 __50:
-	if !(!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) &&
-		(*Expr)(unsafe.Pointer(pExpr)).FpLeft != 0 &&
-		int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_FUNCTION) {
+	if !!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) {
 		goto __123
 	}
+
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	if !(inReg != target) {
 		goto __125
@@ -61723,13 +61729,19 @@ __129:
 	;
 __127:
 	;
-	addrINR = Xsqlite3VdbeAddOp1(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable)
+	addrINR = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable, 0, target)
 
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = U8(0)
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = okConstFactor
+	if !(inReg != target) {
+		goto __130
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, inReg, target)
+	inReg = target
+__130:
+	;
 	Xsqlite3VdbeJumpHere(tls, v, addrINR)
-	Xsqlite3VdbeChangeP3(tls, v, addrINR, inReg)
 	goto __5
 
 __56:
@@ -61742,15 +61754,15 @@ __56:
 	nExpr = (*ExprList)(unsafe.Pointer(pEList)).FnExpr
 	endLabel = Xsqlite3VdbeMakeLabel(tls, pParse)
 	if !(libc.AssignUintptr(&pX, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) != uintptr(0)) {
-		goto __130
+		goto __131
 	}
 	pDel = Xsqlite3ExprDup(tls, db1, pX, 0)
 	if !((*Sqlite3)(unsafe.Pointer(db1)).FmallocFailed != 0) {
-		goto __131
+		goto __132
 	}
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	goto __5
-__131:
+__132:
 	;
 	exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+40))
 
@@ -61760,22 +61772,22 @@ __131:
 	pTest = bp + 120
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = 0
-__130:
+__131:
 	;
 	i1 = 0
-__132:
+__133:
 	if !(i1 < nExpr-1) {
-		goto __134
+		goto __135
 	}
 	if !(pX != 0) {
-		goto __135
+		goto __136
 	}
 
 	(*Expr)(unsafe.Pointer(bp + 120)).FpRight = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
-	goto __136
-__135:
-	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+	goto __137
 __136:
+	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+__137:
 	;
 	nextCase = Xsqlite3VdbeMakeLabel(tls, pParse)
 
@@ -61784,21 +61796,21 @@ __136:
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(aListelem+uintptr(i1+1)*32)).FpExpr, target)
 	Xsqlite3VdbeGoto(tls, v, endLabel)
 	Xsqlite3VdbeResolveLabel(tls, v, nextCase)
-	goto __133
-__133:
-	i1 = i1 + 2
-	goto __132
 	goto __134
 __134:
+	i1 = i1 + 2
+	goto __133
+	goto __135
+__135:
 	;
 	if !(nExpr&1 != 0) {
-		goto __137
+		goto __138
 	}
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(pEList+8+uintptr(nExpr-1)*32)).FpExpr, target)
-	goto __138
-__137:
-	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+	goto __139
 __138:
+	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+__139:
 	;
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	setDoNotMergeFlagOnCopy(tls, v)
@@ -61808,27 +61820,27 @@ __138:
 __57:
 	;
 	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).FpTriggerTab) != 0) && !(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0)) {
-		goto __139
+		goto __140
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
 		ts+8082, 0)
 	return 0
-__139:
-	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
-		goto __140
-	}
-	Xsqlite3MayAbort(tls, pParse)
 __140:
 	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
 		goto __141
 	}
+	Xsqlite3MayAbort(tls, pParse)
+__141:
+	;
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+		goto __142
+	}
 	Xsqlite3VdbeAddOp4(tls,
 		v, OP_Halt, SQLITE_OK, OE_Ignore, 0, *(*uintptr)(unsafe.Pointer(pExpr + 8)), 0)
 
-	goto __142
-__141:
+	goto __143
+__142:
 	Xsqlite3HaltConstraint(tls, pParse,
 		func() int32 {
 			if (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab != 0 {
@@ -61837,7 +61849,7 @@ __141:
 			return SQLITE_ERROR
 		}(),
 		int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr), *(*uintptr)(unsafe.Pointer(pExpr + 8)), int8(0), uint8(0))
-__142:
+__143:
 	;
 	goto __5
 
@@ -64505,7 +64517,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 		return SQLITE_NOMEM
 	}
 	if Xsqlite3_strnicmp(tls, zSql, ts+10922, 7) != 0 {
-		return Xsqlite3CorruptError(tls, 113494)
+		return Xsqlite3CorruptError(tls, 113516)
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 {
 		if bTemp != 0 {
@@ -64522,7 +64534,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 	}
 	if rc == SQLITE_OK &&
 		((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
-		rc = Xsqlite3CorruptError(tls, 113505)
+		rc = Xsqlite3CorruptError(tls, 113527)
 	}
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
@@ -65443,7 +65455,7 @@ __1:
 		goto __2
 	}
 
-	rc = Xsqlite3CorruptError(tls, 114441)
+	rc = Xsqlite3CorruptError(tls, 114463)
 	goto drop_column_done
 __2:
 	;
@@ -69806,6 +69818,12 @@ __10:
 
 	pExpr = Xsqlite3PExpr(tls, pParse, TK_UPLUS, pExpr, uintptr(0))
 __11:
+	;
+	if !(pExpr != 0 && int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_RAISE) {
+		goto __12
+	}
+	(*Expr)(unsafe.Pointer(pExpr)).FaffExpr = (*Column)(unsafe.Pointer(pCol)).Faffinity
+__12:
 	;
 	Xsqlite3ColumnSetExpr(tls, pParse, pTab, pCol, pExpr)
 	pExpr = uintptr(0)
@@ -70971,7 +70989,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 {
 		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3286, 4) == 0 {
 			return 0
 		}
-		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7133, 10) == 0 {
+		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7122, 10) == 0 {
 			return 0
 		}
 		return 1
@@ -72217,7 +72235,7 @@ __81:
 		goto __101
 	}
 	Xsqlite3ErrorMsg(tls, pParse, ts+14140, 0)
-	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121835)
+	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121859)
 	goto exit_create_index
 __101:
 	;
@@ -74267,7 +74285,7 @@ __20:
 	goto __16
 __15:
 	wcf = U16(WHERE_ONEPASS_DESIRED | WHERE_DUPLICATES_OK)
-	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_VarSelect != 0) {
+	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_Subquery != 0) {
 		goto __23
 	}
 	bComplex = 1
@@ -80735,7 +80753,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca
 	if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) {
 		goto __1
 	}
-	return Xsqlite3MisuseError(tls, 131895)
+	return Xsqlite3MisuseError(tls, 131931)
 __1:
 	;
 	if !(zSql == uintptr(0)) {
@@ -82134,7 +82152,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh
 		} else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) {
 			zType = ts + 17513
 		} else {
-			zType = ts + 7528
+			zType = ts + 7517
 		}
 		Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17515,
 			libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin,
@@ -82295,6 +82313,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p
 	var zErr2 uintptr
 	var k3 int32
 	var pCheck uintptr
+	var jmp7 int32
 	var jmp6 int32
 	var iCol1 int32
 	var uniqOk int32
@@ -83613,7 +83632,7 @@ __215:
 		goto __217
 	}
 	pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7528, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7517, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
 	goto __216
 __216:
 	j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext
@@ -83629,7 +83648,7 @@ __218:
 	if !(i6 < int32(uint64(unsafe.Sizeof(aPragmaName))/uint64(unsafe.Sizeof(PragmaName{})))) {
 		goto __220
 	}
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7528, libc.VaList(bp+272, aPragmaName[i6].FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7517, libc.VaList(bp+272, aPragmaName[i6].FzName))
 	goto __219
 __219:
 	i6++
@@ -84434,80 +84453,94 @@ __344:
 	jmp4 = integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, jmp21)
 
+	if !((*Table)(unsafe.Pointer(pTab9)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) {
+		goto __345
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_IdxRowid, *(*int32)(unsafe.Pointer(bp + 616))+j4, 3)
+	jmp7 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 3, 0, r1+int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)-1)
+
+	Xsqlite3VdbeLoadString(tls, v, 3,
+		ts+17929)
+	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17965)
+	Xsqlite3VdbeGoto(tls, v, jmp5-1)
+	Xsqlite3VdbeJumpHere(tls, v, jmp7)
+__345:
+	;
 	label6 = 0
 	kk = 0
-__345:
+__346:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __347
-	}
-	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __348
 	}
-	goto __346
-__348:
-	;
-	if !(label6 == 0) {
+	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __349
 	}
-	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+	goto __347
 __349:
+	;
+	if !(label6 == 0) {
+		goto __350
+	}
+	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+__350:
 	;
 	Xsqlite3VdbeAddOp3(tls, v, OP_Column, *(*int32)(unsafe.Pointer(bp + 616))+j4, kk, 3)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Ne, 3, label6, r1+kk)
-	goto __346
-__346:
-	kk++
-	goto __345
 	goto __347
 __347:
+	kk++
+	goto __346
+	goto __348
+__348:
 	;
 	if !(label6 != 0) {
-		goto __350
+		goto __351
 	}
 	jmp6 = Xsqlite3VdbeAddOp0(tls, v, OP_Goto)
 	Xsqlite3VdbeResolveLabel(tls, v, label6)
 	Xsqlite3VdbeLoadString(tls, v, 3, ts+17903)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
-	Xsqlite3VdbeLoadString(tls, v, 4, ts+17929)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17976)
 	Xsqlite3VdbeGoto(tls, v, jmp5-1)
 	Xsqlite3VdbeJumpHere(tls, v, jmp6)
-__350:
+__351:
 	;
 	if !(int32((*Index)(unsafe.Pointer(pIdx5)).FonError) != OE_None) {
-		goto __351
+		goto __352
 	}
 	uniqOk = Xsqlite3VdbeMakeLabel(tls, pParse)
 	kk = 0
-__352:
+__353:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __354
+		goto __355
 	}
 	iCol1 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2)))
 
 	if !(iCol1 >= 0 && uint32(int32(*(*uint8)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*24 + 8))&0xf>>0)) != 0) {
-		goto __355
+		goto __356
 	}
-	goto __353
-__355:
+	goto __354
+__356:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_IsNull, r1+kk, uniqOk)
 
-	goto __353
-__353:
-	kk++
-	goto __352
 	goto __354
 __354:
+	kk++
+	goto __353
+	goto __355
+__355:
 	;
 	jmp61 = Xsqlite3VdbeAddOp1(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 616))+j4)
 	Xsqlite3VdbeGoto(tls, v, uniqOk)
 	Xsqlite3VdbeJumpHere(tls, v, jmp61)
 	Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, *(*int32)(unsafe.Pointer(bp + 616))+j4, uniqOk, r1,
 		int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol))
-	Xsqlite3VdbeLoadString(tls, v, 3, ts+17956)
+	Xsqlite3VdbeLoadString(tls, v, 3, ts+18003)
 	Xsqlite3VdbeGoto(tls, v, jmp5)
 	Xsqlite3VdbeResolveLabel(tls, v, uniqOk)
-__351:
+__352:
 	;
 	Xsqlite3VdbeJumpHere(tls, v, jmp4)
 	Xsqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 632)))
@@ -84524,20 +84557,20 @@ __340:
 	Xsqlite3VdbeAddOp2(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 612)), loopTop)
 	Xsqlite3VdbeJumpHere(tls, v, loopTop-1)
 	if !!(isQuick != 0) {
-		goto __356
+		goto __357
 	}
-	Xsqlite3VdbeLoadString(tls, v, 2, ts+17983)
+	Xsqlite3VdbeLoadString(tls, v, 2, ts+18030)
 	j4 = 0
 	pIdx5 = (*Table)(unsafe.Pointer(pTab9)).FpIndex
-__357:
+__358:
 	if !(pIdx5 != 0) {
-		goto __359
-	}
-	if !(pPk1 == pIdx5) {
 		goto __360
 	}
-	goto __358
-__360:
+	if !(pPk1 == pIdx5) {
+		goto __361
+	}
+	goto __359
+__361:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_Count, *(*int32)(unsafe.Pointer(bp + 616))+j4, 3)
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 8+j4, 0, 3)
@@ -84546,21 +84579,21 @@ __360:
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 2, 3)
 	integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
-	goto __358
-__358:
-	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
-	j4++
-	goto __357
 	goto __359
 __359:
+	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
+	j4++
+	goto __358
+	goto __360
+__360:
 	;
 	if !(pPk1 != 0) {
-		goto __361
+		goto __362
 	}
 	Xsqlite3ReleaseTempRange(tls, pParse, r2, int32((*Index)(unsafe.Pointer(pPk1)).FnKeyCol))
-__361:
+__362:
 	;
-__356:
+__357:
 	;
 	goto __291
 __291:
@@ -84578,14 +84611,14 @@ __266:
 	;
 	aOp2 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(endCode))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&endCode)), iLn5)
 	if !(aOp2 != 0) {
-		goto __362
+		goto __363
 	}
 	(*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = 1 - *(*int32)(unsafe.Pointer(bp + 608))
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1)
-	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 18012
+	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 18059
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 5*24)).Fp4type = int8(-1)
 	*(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT)
-__362:
+__363:
 	;
 	Xsqlite3VdbeChangeP3(tls, v, 0, Xsqlite3VdbeCurrentAddr(tls, v)-2)
 
@@ -84593,27 +84626,27 @@ __362:
 
 __45:
 	if !!(zRight != 0) {
-		goto __363
+		goto __364
 	}
 	if !(Xsqlite3ReadSchema(tls, pParse) != 0) {
-		goto __365
-	}
-	goto pragma_out
-__365:
-	;
-	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
-	goto __364
-__363:
-	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
 		goto __366
 	}
+	goto pragma_out
+__366:
+	;
+	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
+	goto __365
+__364:
+	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
+		goto __367
+	}
 	pEnc = uintptr(unsafe.Pointer(&encnames1))
-__367:
+__368:
 	if !((*EncName)(unsafe.Pointer(pEnc)).FzName != 0) {
-		goto __369
+		goto __370
 	}
 	if !(0 == Xsqlite3StrICmp(tls, zRight, (*EncName)(unsafe.Pointer(pEnc)).FzName)) {
-		goto __370
+		goto __371
 	}
 	if (*EncName)(unsafe.Pointer(pEnc)).Fenc != 0 {
 		enc = (*EncName)(unsafe.Pointer(pEnc)).Fenc
@@ -84627,25 +84660,25 @@ __367:
 	}
 	(*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema)).Fenc = enc
 	Xsqlite3SetTextEncoding(tls, db, enc)
-	goto __369
-__370:
-	;
-	goto __368
-__368:
-	pEnc += 16
-	goto __367
-	goto __369
-__369:
-	;
-	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
-		goto __371
-	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18015, libc.VaList(bp+456, zRight))
+	goto __370
 __371:
 	;
-__366:
+	goto __369
+__369:
+	pEnc += 16
+	goto __368
+	goto __370
+__370:
 	;
-__364:
+	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
+		goto __372
+	}
+	Xsqlite3ErrorMsg(tls, pParse, ts+18062, libc.VaList(bp+456, zRight))
+__372:
+	;
+__367:
+	;
+__365:
 	;
 	goto __15
 
@@ -84653,15 +84686,15 @@ __46:
 	iCookie = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiArg)
 	Xsqlite3VdbeUsesBtree(tls, v, iDb)
 	if !(zRight != 0 && int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_ReadOnly == 0) {
-		goto __372
+		goto __373
 	}
 
 	aOp3 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(setCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&setCookie)), 0)
 	if !(0 != 0) {
-		goto __374
+		goto __375
 	}
 	goto __15
-__374:
+__375:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp3)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp1 = iDb
@@ -84669,41 +84702,41 @@ __374:
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp3 = Xsqlite3Atoi(tls, zRight)
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp5 = U16(1)
 	if !(iCookie == BTREE_SCHEMA_VERSION && (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0)) {
-		goto __375
+		goto __376
 	}
 
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fopcode = U8(OP_Noop)
-__375:
+__376:
 	;
-	goto __373
-__372:
+	goto __374
+__373:
 	;
 	aOp4 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(readCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&readCookie)), 0)
 	if !(0 != 0) {
-		goto __376
+		goto __377
 	}
 	goto __15
-__376:
+__377:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp4)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp3 = iCookie
 	Xsqlite3VdbeReusable(tls, v)
-__373:
+__374:
 	;
 	goto __15
 
 __47:
 	i10 = 0
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 1
-__377:
+__378:
 	if !(libc.AssignUintptr(&zOpt, Xsqlite3_compileoption_get(tls, libc.PostIncInt32(&i10, 1))) != uintptr(0)) {
-		goto __378
+		goto __379
 	}
 	Xsqlite3VdbeLoadString(tls, v, 1, zOpt)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1)
-	goto __377
-__378:
+	goto __378
+__379:
 	;
 	Xsqlite3VdbeReusable(tls, v)
 
@@ -84718,31 +84751,31 @@ __48:
 	}()
 	eMode2 = SQLITE_CHECKPOINT_PASSIVE
 	if !(zRight != 0) {
-		goto __379
-	}
-	if !(Xsqlite3StrICmp(tls, zRight, ts+17345) == 0) {
 		goto __380
 	}
+	if !(Xsqlite3StrICmp(tls, zRight, ts+17345) == 0) {
+		goto __381
+	}
 	eMode2 = SQLITE_CHECKPOINT_FULL
-	goto __381
-__380:
-	if !(Xsqlite3StrICmp(tls, zRight, ts+18040) == 0) {
-		goto __382
+	goto __382
+__381:
+	if !(Xsqlite3StrICmp(tls, zRight, ts+18087) == 0) {
+		goto __383
 	}
 	eMode2 = SQLITE_CHECKPOINT_RESTART
-	goto __383
-__382:
+	goto __384
+__383:
 	if !(Xsqlite3StrICmp(tls, zRight, ts+17498) == 0) {
-		goto __384
+		goto __385
 	}
 	eMode2 = SQLITE_CHECKPOINT_TRUNCATE
+__385:
+	;
 __384:
 	;
-__383:
+__382:
 	;
-__381:
-	;
-__379:
+__380:
 	;
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 3
 	Xsqlite3VdbeAddOp3(tls, v, OP_Checkpoint, iBt, eMode2, 1)
@@ -84752,10 +84785,10 @@ __379:
 
 __49:
 	if !(zRight != 0) {
-		goto __385
+		goto __386
 	}
 	Xsqlite3_wal_autocheckpoint(tls, db, Xsqlite3Atoi(tls, zRight))
-__385:
+__386:
 	;
 	returnSingleInt(tls, v,
 		func() int64 {
@@ -84775,19 +84808,19 @@ __50:
 
 __51:
 	if !(zRight != 0) {
-		goto __386
+		goto __387
 	}
 	opMask = U32(Xsqlite3Atoi(tls, zRight))
 	if !(opMask&U32(0x02) == U32(0)) {
-		goto __388
+		goto __389
 	}
 	goto __15
-__388:
+__389:
 	;
-	goto __387
-__386:
-	opMask = U32(0xfffe)
+	goto __388
 __387:
+	opMask = U32(0xfffe)
+__388:
 	;
 	iTabCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1)
 	iDbLast = func() int32 {
@@ -84796,86 +84829,86 @@ __387:
 		}
 		return (*Sqlite3)(unsafe.Pointer(db)).FnDb - 1
 	}()
-__389:
+__390:
 	if !(iDb <= iDbLast) {
-		goto __391
-	}
-	if !(iDb == 1) {
 		goto __392
 	}
-	goto __390
-__392:
+	if !(iDb == 1) {
+		goto __393
+	}
+	goto __391
+__393:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
 	pSchema = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema
 	k4 = (*Hash)(unsafe.Pointer(pSchema + 8)).Ffirst
-__393:
+__394:
 	if !(k4 != 0) {
-		goto __395
+		goto __396
 	}
 	pTab10 = (*HashElem)(unsafe.Pointer(k4)).Fdata
 
 	if !((*Table)(unsafe.Pointer(pTab10)).FtabFlags&U32(TF_StatsUsed) == U32(0)) {
-		goto __396
+		goto __397
 	}
-	goto __394
-__396:
+	goto __395
+__397:
 	;
 	szThreshold = LogEst(int32((*Table)(unsafe.Pointer(pTab10)).FnRowLogEst) + 46)
 	pIdx6 = (*Table)(unsafe.Pointer(pTab10)).FpIndex
-__397:
+__398:
 	if !(pIdx6 != 0) {
-		goto __399
-	}
-	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
 		goto __400
 	}
+	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
+		goto __401
+	}
 	szThreshold = int16(0)
-	goto __399
-__400:
+	goto __400
+__401:
 	;
-	goto __398
-__398:
-	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
-	goto __397
 	goto __399
 __399:
+	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
+	goto __398
+	goto __400
+__400:
 	;
 	if !(szThreshold != 0) {
-		goto __401
+		goto __402
 	}
 	Xsqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab10, OP_OpenRead)
 	Xsqlite3VdbeAddOp3(tls, v, OP_IfSmaller, iTabCur,
 		int32(U32(Xsqlite3VdbeCurrentAddr(tls, v)+2)+opMask&U32(1)), int32(szThreshold))
 
-__401:
+__402:
 	;
-	zSubSql = Xsqlite3MPrintf(tls, db, ts+18048,
+	zSubSql = Xsqlite3MPrintf(tls, db, ts+18095,
 		libc.VaList(bp+464, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab10)).FzName))
 	if !(opMask&U32(0x01) != 0) {
-		goto __402
+		goto __403
 	}
 	r11 = Xsqlite3GetTempReg(tls, pParse)
 	Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, r11, 0, zSubSql, -6)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, r11, 1)
-	goto __403
-__402:
-	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+	goto __404
 __403:
+	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+__404:
 	;
-	goto __394
-__394:
-	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
-	goto __393
 	goto __395
 __395:
+	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
+	goto __394
+	goto __396
+__396:
 	;
-	goto __390
-__390:
-	iDb++
-	goto __389
 	goto __391
 __391:
+	iDb++
+	goto __390
+	goto __392
+__392:
 	;
 	Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
 	goto __15
@@ -84883,36 +84916,36 @@ __391:
 __52:
 	;
 	if !(zRight != 0) {
-		goto __404
+		goto __405
 	}
 	Xsqlite3_busy_timeout(tls, db, Xsqlite3Atoi(tls, zRight))
-__404:
+__405:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout))
 	goto __15
 
 __53:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+640) == SQLITE_OK) {
-		goto __405
+		goto __406
 	}
 	Xsqlite3_soft_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 640)))
-__405:
+__406:
 	;
 	returnSingleInt(tls, v, Xsqlite3_soft_heap_limit64(tls, int64(-1)))
 	goto __15
 
 __54:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+648) == SQLITE_OK) {
-		goto __406
+		goto __407
 	}
 	iPrior = Xsqlite3_hard_heap_limit64(tls, int64(-1))
 	if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 648)) > int64(0) && (iPrior == int64(0) || iPrior > *(*Sqlite3_int64)(unsafe.Pointer(bp + 648)))) {
-		goto __407
+		goto __408
 	}
 	Xsqlite3_hard_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 648)))
-__407:
+__408:
 	;
-__406:
+__407:
 	;
 	returnSingleInt(tls, v, Xsqlite3_hard_heap_limit64(tls, int64(-1)))
 	goto __15
@@ -84921,10 +84954,10 @@ __55:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+656) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 656)) >= int64(0)) {
-		goto __408
+		goto __409
 	}
 	Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 656))&int64(0x7fffffff)))
-__408:
+__409:
 	;
 	returnSingleInt(tls, v, int64(Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, -1)))
 	goto __15
@@ -84933,10 +84966,10 @@ __56:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+664) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 664)) >= int64(0)) {
-		goto __409
+		goto __410
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 664)) & int64(0x7fffffff))
-__409:
+__410:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit))
 	goto __15
@@ -84944,10 +84977,10 @@ __409:
 __15:
 	;
 	if !(int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_NoColumns1 != 0 && zRight != 0) {
-		goto __410
+		goto __411
 	}
 
-__410:
+__411:
 	;
 pragma_out:
 	Xsqlite3DbFree(tls, db, zLeft)
@@ -84999,14 +85032,14 @@ var endCode = [7]VdbeOpList{
 	{Fopcode: U8(OP_Goto), Fp2: int8(3)},
 }
 var encnames1 = [9]EncName{
-	{FzName: ts + 18066, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18071, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18077, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18086, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18095, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18103, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18111},
-	{FzName: ts + 18118},
+	{FzName: ts + 18113, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18118, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18124, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18133, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18142, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18150, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18158},
+	{FzName: ts + 18165},
 	{},
 }
 var setCookie = [2]VdbeOpList{
@@ -85058,7 +85091,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	_ = argc
 	_ = argv
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), bp+64, int32(unsafe.Sizeof([200]uint8{})), 0)
-	Xsqlite3_str_appendall(tls, bp+32, ts+18124)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18171)
 	i = 0
 	j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName)
 __1:
@@ -85066,7 +85099,7 @@ __1:
 		goto __3
 	}
 	{
-		Xsqlite3_str_appendf(tls, bp+32, ts+18139, libc.VaList(bp, int32(cSep), pragCName[j]))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18186, libc.VaList(bp, int32(cSep), pragCName[j]))
 		cSep = uint8(',')
 
 	}
@@ -85079,16 +85112,16 @@ __2:
 __3:
 	;
 	if i == 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18146, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18193, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
 		i++
 	}
 	j = 0
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_Result1 != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18152)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18199)
 		j++
 	}
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(PragFlg_SchemaOpt|PragFlg_SchemaReq) != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18164)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18211)
 		j++
 	}
 	Xsqlite3_str_append(tls, bp+32, ts+4957, 1)
@@ -85271,13 +85304,13 @@ __2:
 __3:
 	;
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4)))
-	Xsqlite3_str_appendall(tls, bp+32, ts+18179)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18226)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18187, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18234, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
 	}
 	Xsqlite3_str_appendall(tls, bp+32, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18191, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18238, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
 	}
 	zSql = Xsqlite3StrAccumFinish(tls, bp+32)
 	if zSql == uintptr(0) {
@@ -85354,12 +85387,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 	} else if *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) != uintptr(0) {
 	} else if (*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask) != 0 {
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db,
-			ts+18195, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
+			ts+18242, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
 				azAlterType[(*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask)-U32(1)],
 				zExtra))
 		(*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR
 	} else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137196)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137249)
 	} else {
 		var z uintptr
 		var zObj uintptr
@@ -85368,19 +85401,19 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 		} else {
 			zObj = ts + 5008
 		}
-		z = Xsqlite3MPrintf(tls, db, ts+18223, libc.VaList(bp+32, zObj))
+		z = Xsqlite3MPrintf(tls, db, ts+18270, libc.VaList(bp+32, zObj))
 		if zExtra != 0 && *(*uint8)(unsafe.Pointer(zExtra)) != 0 {
-			z = Xsqlite3MPrintf(tls, db, ts+18254, libc.VaList(bp+40, z, zExtra))
+			z = Xsqlite3MPrintf(tls, db, ts+18301, libc.VaList(bp+40, z, zExtra))
 		}
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137203)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137256)
 	}
 }
 
 var azAlterType = [3]uintptr{
-	ts + 18262,
-	ts + 18269,
-	ts + 18281,
+	ts + 18309,
+	ts + 18316,
+	ts + 18328,
 }
 
 // Check to see if any sibling index (another index on the same table)
@@ -85472,7 +85505,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr
 		var pIndex uintptr
 		pIndex = Xsqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName)
 		if pIndex == uintptr(0) {
-			corruptSchema(tls, pData, argv, ts+18292)
+			corruptSchema(tls, pData, argv, ts+18339)
 		} else if Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2) ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage ||
@@ -85520,7 +85553,7 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl
 	}())
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 16 + 1*8))
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 3*8)) = ts + 7938
-	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18305
+	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18352
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 5*8)) = uintptr(0)
 	(*InitData)(unsafe.Pointer(bp + 64)).Fdb = db
 	(*InitData)(unsafe.Pointer(bp + 64)).FiDb = iDb
@@ -85649,7 +85682,7 @@ __18:
 	if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) {
 		goto __19
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+18377)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+18424)
 	rc = SQLITE_ERROR
 	goto initone_error_out
 __19:
@@ -85663,7 +85696,7 @@ __20:
 	(*InitData)(unsafe.Pointer(bp + 64)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt)
 
 	zSql = Xsqlite3MPrintf(tls, db,
-		ts+18401,
+		ts+18448,
 		libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zSchemaTabName))
 
 	xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth
@@ -85995,7 +86028,7 @@ __4:
 		goto __8
 	}
 	zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName
-	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18435, libc.VaList(bp, zDb))
+	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18482, libc.VaList(bp, zDb))
 
 	goto end_prepare
 __8:
@@ -86025,7 +86058,7 @@ __9:
 	if !(nBytes > mxLen) {
 		goto __12
 	}
-	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18465, 0)
+	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18512, 0)
 	rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG)
 	goto end_prepare
 __12:
@@ -86121,7 +86154,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 137995)
+		return Xsqlite3MisuseError(tls, 138048)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	Xsqlite3BtreeEnterAll(tls, db)
@@ -86220,7 +86253,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 138143)
+		return Xsqlite3MisuseError(tls, 138196)
 	}
 	if nBytes >= 0 {
 		var sz int32
@@ -86552,13 +86585,13 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC
 			zSp2++
 		}
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+18484, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
+			ts+18531, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
 		jointype = JT_INNER
 	}
 	return jointype
 }
 
-var zKeyText = *(*[34]uint8)(unsafe.Pointer(ts + 18514))
+var zKeyText = *(*[34]uint8)(unsafe.Pointer(ts + 18561))
 var aKeyword = [7]struct {
 	Fi     U8
 	FnChar U8
@@ -86733,7 +86766,7 @@ __1:
 			var pUsing uintptr = uintptr(0)
 			if uint32(int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+18548, libc.VaList(bp, 0))
+					ts+18595, libc.VaList(bp, 0))
 				return 1
 			}
 			for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ {
@@ -86778,7 +86811,7 @@ __1:
 					tableAndColumnIndex(tls, pSrc, 0, i, zName, bp+24, bp+28,
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) == 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+18598, libc.VaList(bp+8, zName))
+						ts+18645, libc.VaList(bp+8, zName))
 					return 1
 				}
 				pE1 = Xsqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 28)))
@@ -86789,7 +86822,7 @@ __1:
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) != 0 {
 						if int32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 60 + 4))&0x400>>10) == 0 ||
 							Xsqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 72)), zName) < 0 {
-							Xsqlite3ErrorMsg(tls, pParse, ts+18662,
+							Xsqlite3ErrorMsg(tls, pParse, ts+18709,
 								libc.VaList(bp+16, zName))
 							break
 						}
@@ -87417,16 +87450,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr {
 	var z uintptr
 	switch id {
 	case TK_ALL:
-		z = ts + 18699
+		z = ts + 18746
 		break
 	case TK_INTERSECT:
-		z = ts + 18709
+		z = ts + 18756
 		break
 	case TK_EXCEPT:
-		z = ts + 18719
+		z = ts + 18766
 		break
 	default:
-		z = ts + 18726
+		z = ts + 18773
 		break
 	}
 	return z
@@ -87436,7 +87469,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18732, libc.VaList(bp, zUsage))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18779, libc.VaList(bp, zUsage))
 }
 
 func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) {
@@ -87462,9 +87495,9 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n
 	var nRefKey int32 = 0
 	var aOutEx uintptr = (*Select)(unsafe.Pointer(p)).FpEList + 8
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18755, libc.VaList(bp, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18802, libc.VaList(bp, func() uintptr {
 		if (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 {
-			return ts + 18786
+			return ts + 18833
 		}
 		return ts + 1554
 	}()))
@@ -87808,7 +87841,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr)
 		} else {
 			var z uintptr = (*ExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32)).FzEName
 			if z == uintptr(0) {
-				z = Xsqlite3MPrintf(tls, db, ts+18801, libc.VaList(bp+16, i+1))
+				z = Xsqlite3MPrintf(tls, db, ts+18848, libc.VaList(bp+16, i+1))
 			} else {
 				z = Xsqlite3DbStrDup(tls, db, z)
 			}
@@ -87908,7 +87941,7 @@ __1:
 		if zName != 0 && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) {
 			zName = Xsqlite3DbStrDup(tls, db, zName)
 		} else {
-			zName = Xsqlite3MPrintf(tls, db, ts+18801, libc.VaList(bp, i+1))
+			zName = Xsqlite3MPrintf(tls, db, ts+18848, libc.VaList(bp, i+1))
 		}
 
 		*(*U32)(unsafe.Pointer(bp + 56)) = U32(0)
@@ -87924,7 +87957,7 @@ __1:
 					nName = j
 				}
 			}
-			zName = Xsqlite3MPrintf(tls, db, ts+18810, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
+			zName = Xsqlite3MPrintf(tls, db, ts+18857, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
 			Xsqlite3ProgressCheck(tls, pParse)
 			if *(*U32)(unsafe.Pointer(bp + 56)) > U32(3) {
 				Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56)
@@ -88007,8 +88040,6 @@ __1:
 		(*Column)(unsafe.Pointer(pCol)).Faffinity = Xsqlite3ExprAffinity(tls, p)
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) <= SQLITE_AFF_NONE {
 			(*Column)(unsafe.Pointer(pCol)).Faffinity = aff
-		} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
-			(*Column)(unsafe.Pointer(pCol)).Faffinity = uint8(SQLITE_AFF_FLEXNUM)
 		}
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_TEXT && (*Select)(unsafe.Pointer(pSelect)).FpNext != 0 {
 			var m int32 = 0
@@ -88023,12 +88054,15 @@ __1:
 			} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && m&0x02 != 0 {
 				(*Column)(unsafe.Pointer(pCol)).Faffinity = uint8(SQLITE_AFF_BLOB)
 			}
+			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
+				(*Column)(unsafe.Pointer(pCol)).Faffinity = uint8(SQLITE_AFF_FLEXNUM)
+			}
 		}
 		zType = columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0))
 		if zType == uintptr(0) || int32((*Column)(unsafe.Pointer(pCol)).Faffinity) != int32(Xsqlite3AffinityType(tls, zType, uintptr(0))) {
 			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_NUMERIC ||
 				int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_FLEXNUM {
-				zType = ts + 18818
+				zType = ts + 18865
 			} else {
 				zType = uintptr(0)
 				for j = 1; j < SQLITE_N_STDTYPE; j++ {
@@ -88244,7 +88278,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest
 	if !((*Select)(unsafe.Pointer(p)).FpWin != 0) {
 		goto __1
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18822, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18869, 0)
 	return
 __1:
 	;
@@ -88335,7 +88369,7 @@ __12:
 	if !((*Select)(unsafe.Pointer(pFirstRec)).FselFlags&U32(SF_Aggregate) != 0) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18871, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18918, 0)
 	goto end_of_recursive_query
 __15:
 	;
@@ -88355,7 +88389,7 @@ __14:
 	;
 	pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18913, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18960, 0)
 	rc = Xsqlite3Select(tls, pParse, pSetup, bp)
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = p
 	if !(rc != 0) {
@@ -88392,7 +88426,7 @@ __20:
 	Xsqlite3VdbeResolveLabel(tls, v, addrCont)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18919, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18966, 0)
 	Xsqlite3Select(tls, pParse, p, bp)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup
@@ -88426,11 +88460,11 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 		p = (*Select)(unsafe.Pointer(p)).FpPrior
 		nRow = nRow + bShowAll
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18934, libc.VaList(bp, nRow, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18981, libc.VaList(bp, nRow, func() uintptr {
 		if nRow == 1 {
 			return ts + 1554
 		}
-		return ts + 18957
+		return ts + 19004
 	}()))
 	for p != 0 {
 		selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1)
@@ -88531,8 +88565,8 @@ __6:
 	if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) {
 		goto __8
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18959, 0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18974, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19006, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19021, 0)
 __8:
 	;
 	switch int32((*Select)(unsafe.Pointer(p)).Fop) {
@@ -88579,7 +88613,7 @@ __16:
 	;
 __15:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18699, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18746, 0)
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+16)
 
@@ -88646,7 +88680,7 @@ __23:
 	pLimit = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 64)).FeDest = op
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18993, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19040, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+64)
 
@@ -88708,7 +88742,7 @@ __26:
 	pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 104)).FiSDParm = tab2
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18993, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19040, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+104)
 
@@ -88861,10 +88895,10 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr)
 	defer tls.Free(8)
 
 	if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Values) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19014, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+19061, 0)
 	} else {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+19060,
+			ts+19107,
 			libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 	}
 }
@@ -89118,8 +89152,8 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	(*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0)
 
 	(*Select)(unsafe.Pointer(pPrior)).FpOrderBy = Xsqlite3ExprListDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7234)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7234)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7223)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7223)
 
 	computeLimitRegisters(tls, pParse, p, labelEnd)
 	if (*Select)(unsafe.Pointer(p)).FiLimit != 0 && op == TK_ALL {
@@ -89146,13 +89180,13 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	Xsqlite3SelectDestInit(tls, bp+8, SRT_Coroutine, regAddrA)
 	Xsqlite3SelectDestInit(tls, bp+48, SRT_Coroutine, regAddrB)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19142, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19189, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	addrSelectA = Xsqlite3VdbeCurrentAddr(tls, v) + 1
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA)
 
 	(*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19153, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19200, 0)
 	Xsqlite3Select(tls, pParse, pPrior, bp+8)
 	Xsqlite3VdbeEndCoroutine(tls, v, regAddrA)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
@@ -89164,7 +89198,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset
 	(*Select)(unsafe.Pointer(p)).FiLimit = regLimitB
 	(*Select)(unsafe.Pointer(p)).FiOffset = 0
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19158, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19205, 0)
 	Xsqlite3Select(tls, pParse, p, bp+48)
 	(*Select)(unsafe.Pointer(p)).FiLimit = savedLimit
 	(*Select)(unsafe.Pointer(p)).FiOffset = savedOffset
@@ -89352,7 +89386,8 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr {
 				Xsqlite3VectorErrorMsg(tls, (*SubstContext)(unsafe.Pointer(pSubst)).FpParse, pCopy)
 			} else {
 				var db uintptr = (*Parse)(unsafe.Pointer((*SubstContext)(unsafe.Pointer(pSubst)).FpParse)).Fdb
-				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 && int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN {
+				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 &&
+					(int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN || (*Expr)(unsafe.Pointer(pCopy)).FiTable != (*SubstContext)(unsafe.Pointer(pSubst)).FiNewTable) {
 					libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(Expr{})))
 					(*Expr)(unsafe.Pointer(bp)).Fop = U8(TK_IF_NULL_ROW)
 					(*Expr)(unsafe.Pointer(bp)).FpLeft = pCopy
@@ -90251,7 +90286,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	for pIdx = (*Table)(unsafe.Pointer(pTab)).FpIndex; pIdx != 0 && Xsqlite3StrICmp(tls, (*Index)(unsafe.Pointer(pIdx)).FzName, zIndexedBy) != 0; pIdx = (*Index)(unsafe.Pointer(pIdx)).FpNext {
 	}
 	if !(pIdx != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19164, libc.VaList(bp, zIndexedBy, 0))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19211, libc.VaList(bp, zIndexedBy, 0))
 		(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 		return SQLITE_ERROR
 	}
@@ -90334,7 +90369,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 {
 	defer tls.Free(8)
 
 	if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19182, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19229, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
 		return 1
 	}
 	return 0
@@ -90463,7 +90498,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		*(*U32)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= U32(SF_CopyCte)
 
 		if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19205, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
+			Xsqlite3ErrorMsg(tls, pParse, ts+19252, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
 			return 2
 		}
 		libc.SetBitFieldPtr16Uint32(pFrom+60+4, uint32(1), 8, 0x100)
@@ -90486,7 +90521,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 					libc.SetBitFieldPtr16Uint32(pItem+60+4, uint32(1), 6, 0x40)
 					if (*Select)(unsafe.Pointer(pRecTerm)).FselFlags&U32(SF_Recursive) != 0 {
 						Xsqlite3ErrorMsg(tls, pParse,
-							ts+19225, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
+							ts+19272, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
 						return 2
 					}
 					*(*U32)(unsafe.Pointer(pRecTerm + 4)) |= U32(SF_Recursive)
@@ -90502,7 +90537,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 			pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior
 		}
 
-		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19268
+		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19315
 		pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith
 		(*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 48))
 		if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
@@ -90528,7 +90563,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		pEList = (*Select)(unsafe.Pointer(pLeft)).FpEList
 		if (*Cte)(unsafe.Pointer(pCte)).FpCols != 0 {
 			if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr != (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19291,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19338,
 					libc.VaList(bp+24, (*Cte)(unsafe.Pointer(pCte)).FzName, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr))
 				(*Parse)(unsafe.Pointer(pParse)).FpWith = pSavedWith
 				return 2
@@ -90539,9 +90574,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		Xsqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8)
 		if bMayRecursive != 0 {
 			if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19329
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19376
 			} else {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19363
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19410
 			}
 			Xsqlite3WalkSelect(tls, pWalker, pSel)
 		}
@@ -90588,7 +90623,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	if (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 {
 		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3DbStrDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias)
 	} else {
-		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19401, libc.VaList(bp, pFrom))
+		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19448, libc.VaList(bp, pFrom))
 	}
 	for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 {
 		pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior
@@ -90700,7 +90735,7 @@ __1:
 				return WRC_Abort
 			}
 			if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19405,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19452,
 					libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 				(*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0)
 				return WRC_Abort
@@ -90719,7 +90754,7 @@ __1:
 				if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW {
 					if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) &&
 						(*Table)(unsafe.Pointer(pTab)).FpSchema != (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19444,
+						Xsqlite3ErrorMsg(tls, pParse, ts+19491,
 							libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName))
 					}
 					(*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, *(*uintptr)(unsafe.Pointer(pTab + 64)), 0)
@@ -90843,7 +90878,7 @@ __3:
 							if pNew != 0 {
 								var pX uintptr = pNew + 8 + uintptr((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1)*32
 
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19475, libc.VaList(bp+24, zUName))
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19522, libc.VaList(bp+24, zUName))
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(ENAME_TAB), 0, 0x3)
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(1), 7, 0x80)
 							}
@@ -90908,7 +90943,7 @@ __3:
 								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(pNestedFrom+8+uintptr(j)*32)).FzEName)
 
 							} else {
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19480,
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19527,
 									libc.VaList(bp+32, zSchemaName, zTabName, zName))
 
 							}
@@ -90939,9 +90974,9 @@ __3:
 				;
 				if !(tableSeen != 0) {
 					if zTName != 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19489, libc.VaList(bp+72, zTName))
+						Xsqlite3ErrorMsg(tls, pParse, ts+19536, libc.VaList(bp+72, zTName))
 					} else {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19507, 0)
+						Xsqlite3ErrorMsg(tls, pParse, ts+19554, 0)
 					}
 				}
 			}
@@ -90951,7 +90986,7 @@ __3:
 	}
 	if (*Select)(unsafe.Pointer(p)).FpEList != 0 {
 		if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19527, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+19574, 0)
 			return WRC_Abort
 		}
 		if elistFlags&U32(EP_HasFunc|EP_Subquery) != U32(0) {
@@ -91089,7 +91124,7 @@ func optimizeAggregateUseOfIndexedExpr(tls *libc.TLS, pParse uintptr, pSelect ui
 	(*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn = (*AggInfo)(unsafe.Pointer(pAggInfo)).FnAccumulator
 	if int32((*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn) > 0 {
 		if (*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn == 0 {
-			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(0)
+			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpGroupBy)).FnExpr)
 		} else {
 			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(int32((*AggInfo_col)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaCol+uintptr((*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn-1)*24)).FiSorterColumn) + 1)
 		}
@@ -91173,13 +91208,13 @@ __1:
 
 			if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != 1 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+19558, 0)
+					ts+19605, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1
 			} else {
 				var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral,
 					(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -8)
-				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19609, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
+				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19656, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
 			}
 		}
 
@@ -91368,11 +91403,11 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt
 
 	if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 {
 		var bCover int32 = libc.Bool32(pIdx != uintptr(0) && ((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0) || !(int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY)))
-		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19642,
+		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19689,
 			libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName,
 				func() uintptr {
 					if bCover != 0 {
-						return ts + 19654
+						return ts + 19701
 					}
 					return ts + 1554
 				}(),
@@ -91700,7 +91735,7 @@ __5:
 		goto __7
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+19677,
+		ts+19724,
 		libc.VaList(bp, func() uintptr {
 			if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 {
 				return (*SrcItem)(unsafe.Pointer(p0)).FzAlias
@@ -91761,7 +91796,7 @@ __14:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19731,
+	Xsqlite3ErrorMsg(tls, pParse, ts+19778,
 		libc.VaList(bp+8, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr))
 	goto select_end
 __15:
@@ -91903,7 +91938,7 @@ __33:
 
 	(*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19771, libc.VaList(bp+32, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19818, libc.VaList(bp+32, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	libc.SetBitFieldPtr16Uint32(pItem1+60+4, uint32(1), 5, 0x20)
@@ -91962,7 +91997,7 @@ __43:
 	;
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19786, libc.VaList(bp+40, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19833, libc.VaList(bp+40, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	if !(onceAddr != 0) {
@@ -92433,9 +92468,9 @@ __101:
 	explainTempTable(tls, pParse,
 		func() uintptr {
 			if (*DistinctCtx)(unsafe.Pointer(bp+136)).FisTnct != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct) == U32(0) {
-				return ts + 19802
+				return ts + 19849
 			}
-			return ts + 19811
+			return ts + 19858
 		}())
 
 	groupBySort = 1
@@ -92786,7 +92821,7 @@ __65:
 	if !(int32((*DistinctCtx)(unsafe.Pointer(bp+136)).FeTnctType) == WHERE_DISTINCT_UNORDERED) {
 		goto __146
 	}
-	explainTempTable(tls, pParse, ts+19802)
+	explainTempTable(tls, pParse, ts+19849)
 __146:
 	;
 	if !((*SortCtx)(unsafe.Pointer(bp+48)).FpOrderBy != 0) {
@@ -92891,7 +92926,7 @@ __5:
 	}
 	Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg)
 	(*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+19820, 0)
+		ts+19867, 0)
 	(*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 	return 1
 __11:
@@ -93124,7 +93159,7 @@ func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2
 	if !((*Token)(unsafe.Pointer(pName2)).Fn > uint32(0)) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19885, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19932, 0)
 	goto trigger_cleanup
 __3:
 	;
@@ -93168,7 +93203,7 @@ __7:
 	goto trigger_cleanup
 __8:
 	;
-	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+19931, *(*uintptr)(unsafe.Pointer(bp + 32)))
+	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+19978, *(*uintptr)(unsafe.Pointer(bp + 32)))
 	if !(Xsqlite3FixSrcList(tls, bp+40, pTableName) != 0) {
 		goto __9
 	}
@@ -93186,7 +93221,7 @@ __10:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB) {
 		goto __11
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19939, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19986, 0)
 	goto trigger_orphan_error
 __11:
 	;
@@ -93198,7 +93233,7 @@ __11:
 	goto trigger_cleanup
 __12:
 	;
-	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19931, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
+	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19978, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
 		goto __13
 	}
 	goto trigger_cleanup
@@ -93213,11 +93248,12 @@ __13:
 	if !!(noErr != 0) {
 		goto __16
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19980, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20027, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
 	goto __17
 __16:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
+
 __17:
 	;
 	goto trigger_cleanup
@@ -93228,19 +93264,19 @@ __14:
 	if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+6381, 7) == 0) {
 		goto __18
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20006, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20053, 0)
 	goto trigger_cleanup
 __18:
 	;
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW && tr_tm != TK_INSTEAD) {
 		goto __19
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20044,
+	Xsqlite3ErrorMsg(tls, pParse, ts+20091,
 		libc.VaList(bp+8, func() uintptr {
 			if tr_tm == TK_BEFORE {
-				return ts + 20081
+				return ts + 20128
 			}
-			return ts + 20088
+			return ts + 20135
 		}(), pTableName+8))
 	goto trigger_orphan_error
 __19:
@@ -93249,7 +93285,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20094, libc.VaList(bp+24, pTableName+8))
+		ts+20141, libc.VaList(bp+24, pTableName+8))
 	goto trigger_orphan_error
 __20:
 	;
@@ -93398,7 +93434,7 @@ __2:
 __3:
 	;
 	Xsqlite3TokenInit(tls, bp+56, (*Trigger)(unsafe.Pointer(pTrig)).FzName)
-	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+19931, bp+56)
+	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+19978, bp+56)
 	if !(Xsqlite3FixTriggerStep(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 ||
 		Xsqlite3FixExpr(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0) {
 		goto __4
@@ -93431,7 +93467,7 @@ __9:
 		goto __12
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20140,
+		ts+20187,
 		libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrig)).FzName, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget))
 	goto triggerfinish_cleanup
 __12:
@@ -93456,13 +93492,13 @@ __13:
 	z = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pAll)).Fz, uint64((*Token)(unsafe.Pointer(pAll)).Fn))
 
 	Xsqlite3NestedParse(tls, pParse,
-		ts+20188,
+		ts+20235,
 		libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName,
 			(*Trigger)(unsafe.Pointer(pTrig)).Ftable, z))
 	Xsqlite3DbFree(tls, db, z)
 	Xsqlite3ChangeCookie(tls, pParse, iDb)
 	Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb,
-		Xsqlite3MPrintf(tls, db, ts+20263, libc.VaList(bp+48, zName)), uint16(0))
+		Xsqlite3MPrintf(tls, db, ts+20310, libc.VaList(bp+48, zName)), uint16(0))
 __7:
 	;
 __6:
@@ -93718,7 +93754,7 @@ __5:
 	if !!(noErr != 0) {
 		goto __9
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20292, libc.VaList(bp, pName+8))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20339, libc.VaList(bp, pName+8))
 	goto __10
 __9:
 	Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb)
@@ -93771,7 +93807,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) {
 
 	if libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse)) != uintptr(0) {
 		Xsqlite3NestedParse(tls, pParse,
-			ts+20312,
+			ts+20359,
 			libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Trigger)(unsafe.Pointer(pTrigger)).FzName))
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 		Xsqlite3VdbeAddOp4(tls, v, OP_DropTrigger, iDb, 0, 0, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, 0)
@@ -93885,12 +93921,12 @@ __9:
 		goto __15
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20374,
+		ts+20421,
 		libc.VaList(bp, func() uintptr {
 			if op == TK_DELETE {
-				return ts + 20422
+				return ts + 20469
 			}
-			return ts + 20429
+			return ts + 20476
 		}()))
 __15:
 	;
@@ -94004,7 +94040,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 {
 	if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK {
 		return 0
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20436, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20483, 0)
 	return 1
 }
 
@@ -94070,7 +94106,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab
 	}
 	Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(bp)).FpEList)
 	pNew = sqlite3ExpandReturning(tls, pParse, (*Returning)(unsafe.Pointer(pReturning)).FpReturnEL, pTab)
-	if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) {
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 {
 		libc.Xmemset(tls, bp+240, 0, uint64(unsafe.Sizeof(NameContext{})))
 		if (*Returning)(unsafe.Pointer(pReturning)).FnRetCol == 0 {
 			(*Returning)(unsafe.Pointer(pReturning)).FnRetCol = (*ExprList)(unsafe.Pointer(pNew)).FnExpr
@@ -94234,7 +94270,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt
 	if v != 0 {
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 {
 			Xsqlite3VdbeChangeP4(tls, v, -1,
-				Xsqlite3MPrintf(tls, db, ts+20478, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
+				Xsqlite3MPrintf(tls, db, ts+20525, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
 		}
 
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FpWhen != 0 {
@@ -94827,7 +94863,7 @@ __25:
 	}
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20492,
+		ts+20539,
 		libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*24)).FzCnName))
 	goto update_cleanup
 __27:
@@ -94859,7 +94895,7 @@ __21:
 	iRowidExpr = i
 	goto __30
 __29:
-	Xsqlite3ErrorMsg(tls, pParse, ts+20528, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20575, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
 	(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 	goto update_cleanup
 __30:
@@ -95185,7 +95221,12 @@ __74:
 	goto __77
 __76:
 	flags = WHERE_ONEPASS_DESIRED
-	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) && !(pTrigger != 0) && !(hasFK != 0) && !(chngKey != 0) && !(*(*int32)(unsafe.Pointer(bp + 104)) != 0)) {
+	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) &&
+		!(pTrigger != 0) &&
+		!(hasFK != 0) &&
+		!(chngKey != 0) &&
+		!(*(*int32)(unsafe.Pointer(bp + 104)) != 0) &&
+		(*NameContext)(unsafe.Pointer(bp+40)).FncFlags&NC_Subquery == 0) {
 		goto __78
 	}
 	flags = flags | WHERE_ONEPASS_MULTIROW
@@ -95739,7 +95780,7 @@ __168:
 	if !(regRowCount != 0) {
 		goto __169
 	}
-	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20547)
+	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20594)
 __169:
 	;
 update_cleanup:
@@ -96045,10 +96086,10 @@ __1:
 			if nClause == 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) {
 				*(*uint8)(unsafe.Pointer(bp + 216)) = uint8(0)
 			} else {
-				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]uint8{})), bp+216, ts+20560, libc.VaList(bp, nClause+1))
+				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]uint8{})), bp+216, ts+20607, libc.VaList(bp, nClause+1))
 			}
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+20564, libc.VaList(bp+8, bp+216))
+				ts+20611, libc.VaList(bp+8, bp+216))
 			return SQLITE_ERROR
 		}
 
@@ -96171,7 +96212,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 {
 		var zSubSql uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
 
 		if zSubSql != 0 &&
-			(libc.Xstrncmp(tls, zSubSql, ts+20637, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20641, uint64(3)) == 0) {
+			(libc.Xstrncmp(tls, zSubSql, ts+20684, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20688, uint64(3)) == 0) {
 			rc = execSql(tls, db, pzErrMsg, zSubSql)
 			if rc != SQLITE_OK {
 				break
@@ -96319,14 +96360,14 @@ func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p
 	if !!(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) {
 		goto __1
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20645)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20692)
 	return SQLITE_ERROR
 __1:
 	;
 	if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) {
 		goto __2
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20685)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20732)
 	return SQLITE_ERROR
 __2:
 	;
@@ -96337,7 +96378,7 @@ __2:
 	if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) {
 		goto __5
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20728)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20775)
 	return SQLITE_ERROR
 __5:
 	;
@@ -96365,7 +96406,7 @@ __4:
 	isMemDb = Xsqlite3PagerIsMemdb(tls, Xsqlite3BtreePager(tls, pMain))
 
 	nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb
-	rc = execSqlF(tls, db, pzErrMsg, ts+20746, libc.VaList(bp, zOut))
+	rc = execSqlF(tls, db, pzErrMsg, ts+20793, libc.VaList(bp, zOut))
 	(*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags
 	if !(rc != SQLITE_OK) {
 		goto __6
@@ -96385,7 +96426,7 @@ __6:
 		goto __8
 	}
 	rc = SQLITE_ERROR
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20769)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20816)
 	goto end_of_vacuum
 __8:
 	;
@@ -96445,7 +96486,7 @@ __12:
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb)
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20796,
+		ts+20843,
 		libc.VaList(bp+8, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __13
@@ -96454,7 +96495,7 @@ __12:
 __13:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20904,
+		ts+20951,
 		libc.VaList(bp+16, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __14
@@ -96465,7 +96506,7 @@ __14:
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
 
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20958,
+		ts+21005,
 		libc.VaList(bp+24, zDbMain))
 
 	*(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))
@@ -96476,7 +96517,7 @@ __14:
 __15:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+21109,
+		ts+21156,
 		libc.VaList(bp+32, zDbMain))
 	if !(rc != 0) {
 		goto __16
@@ -96905,11 +96946,11 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		if pEnd != 0 {
 			(*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32((int64((*Token)(unsafe.Pointer(pEnd)).Fz)-int64((*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz))/1)) + (*Token)(unsafe.Pointer(pEnd)).Fn
 		}
-		zStmt = Xsqlite3MPrintf(tls, db, ts+21239, libc.VaList(bp, pParse+272))
+		zStmt = Xsqlite3MPrintf(tls, db, ts+21286, libc.VaList(bp, pParse+272))
 
 		iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema)
 		Xsqlite3NestedParse(tls, pParse,
-			ts+21263,
+			ts+21310,
 			libc.VaList(bp+8, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
@@ -96919,7 +96960,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 
 		Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
-		zWhere = Xsqlite3MPrintf(tls, db, ts+21362, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
+		zWhere = Xsqlite3MPrintf(tls, db, ts+21409, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
 		Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0))
 		Xsqlite3DbFree(tls, db, zStmt)
 
@@ -96980,7 +97021,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	for pCtx = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx; pCtx != 0; pCtx = (*VtabCtx)(unsafe.Pointer(pCtx)).FpPrior {
 		if (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db,
-				ts+21381, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
+				ts+21428, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 			return SQLITE_LOCKED
 		}
 	}
@@ -97008,9 +97049,11 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FbDeclared = 0
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32
+	(*Table)(unsafe.Pointer(pTab)).FnTabRef++
 	rc = (*struct {
 		f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32
 	})(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+64)
+	Xsqlite3DeleteTable(tls, db, pTab)
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior
 	if rc == SQLITE_NOMEM {
 		Xsqlite3OomFault(tls, db)
@@ -97018,7 +97061,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 
 	if SQLITE_OK != rc {
 		if *(*uintptr)(unsafe.Pointer(bp + 64)) == uintptr(0) {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21423, libc.VaList(bp+8, zModuleName))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21470, libc.VaList(bp+8, zModuleName))
 		} else {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+3663, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64))))
 			Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
@@ -97030,7 +97073,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 		(*Module)(unsafe.Pointer(pMod)).FnRefModule++
 		(*VTable)(unsafe.Pointer(pVTable)).FnRef = 1
 		if (*VtabCtx)(unsafe.Pointer(bp+32)).FbDeclared == 0 {
-			var zFormat uintptr = ts + 21453
+			var zFormat uintptr = ts + 21500
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName))
 			Xsqlite3VtabUnlock(tls, pVTable)
 			rc = SQLITE_ERROR
@@ -97104,7 +97147,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32
 
 	if !(pMod != 0) {
 		var zModule uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pTab + 64 + 8))))
-		Xsqlite3ErrorMsg(tls, pParse, ts+21499, libc.VaList(bp, zModule))
+		Xsqlite3ErrorMsg(tls, pParse, ts+21546, libc.VaList(bp, zModule))
 		rc = SQLITE_ERROR
 	} else {
 		*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
@@ -97162,7 +97205,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr,
 	pMod = Xsqlite3HashFind(tls, db+576, zMod)
 
 	if pMod == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21499, libc.VaList(bp, zMod))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21546, libc.VaList(bp, zMod))
 		rc = SQLITE_ERROR
 	} else {
 		rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr)
@@ -97196,7 +97239,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3
 	if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
 		Xsqlite3Error(tls, db, SQLITE_MISUSE)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
-		return Xsqlite3MisuseError(tls, 151030)
+		return Xsqlite3MisuseError(tls, 151102)
 	}
 	pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab
 
@@ -97649,7 +97692,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	if !(p != 0) {
-		rc = Xsqlite3MisuseError(tls, 151521)
+		rc = Xsqlite3MisuseError(tls, 151593)
 	} else {
 		ap = va
 		switch op {
@@ -97676,7 +97719,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 			fallthrough
 		default:
 			{
-				rc = Xsqlite3MisuseError(tls, 151539)
+				rc = Xsqlite3MisuseError(tls, 151611)
 				break
 
 			}
@@ -97907,7 +97950,7 @@ type InLoop = struct {
 func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr {
 	i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2)))
 	if i == -2 {
-		return ts + 21518
+		return ts + 21565
 	}
 	if i == -1 {
 		return ts + 16267
@@ -97919,11 +97962,11 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	var i int32
 
 	if bAnd != 0 {
-		Xsqlite3_str_append(tls, pStr, ts+21525, 5)
+		Xsqlite3_str_append(tls, pStr, ts+21572, 5)
 	}
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21531, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21578, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97938,7 +97981,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	Xsqlite3_str_append(tls, pStr, zOp, 1)
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21531, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21578, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97964,27 +98007,27 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) {
 	if int32(nEq) == 0 && (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT|WHERE_TOP_LIMIT) == U32(0) {
 		return
 	}
-	Xsqlite3_str_append(tls, pStr, ts+21533, 2)
+	Xsqlite3_str_append(tls, pStr, ts+21580, 2)
 	for i = 0; i < int32(nEq); i++ {
 		var z uintptr = explainIndexColumnName(tls, pIndex, i)
 		if i != 0 {
-			Xsqlite3_str_append(tls, pStr, ts+21525, 5)
+			Xsqlite3_str_append(tls, pStr, ts+21572, 5)
 		}
 		Xsqlite3_str_appendf(tls, pStr, func() uintptr {
 			if i >= int32(nSkip) {
-				return ts + 21536
+				return ts + 21583
 			}
-			return ts + 21541
+			return ts + 21588
 		}(), libc.VaList(bp, z))
 	}
 
 	j = i
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21549)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21596)
 		i = 1
 	}
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_TOP_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21551)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21598)
 	}
 	Xsqlite3_str_append(tls, pStr, ts+4957, 1)
 }
@@ -98027,11 +98070,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 
 		Xsqlite3StrAccumInit(tls, bp+64, db, bp+96, int32(unsafe.Sizeof([100]uint8{})), SQLITE_MAX_LENGTH)
 		(*StrAccum)(unsafe.Pointer(bp + 64)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-		Xsqlite3_str_appendf(tls, bp+64, ts+21553, libc.VaList(bp, func() uintptr {
+		Xsqlite3_str_appendf(tls, bp+64, ts+21600, libc.VaList(bp, func() uintptr {
 			if isSearch != 0 {
-				return ts + 21559
+				return ts + 21606
 			}
-			return ts + 21566
+			return ts + 21613
 		}(), pItem))
 		if flags&U32(WHERE_IPK|WHERE_VIRTUALTABLE) == U32(0) {
 			var zFmt uintptr = uintptr(0)
@@ -98044,40 +98087,40 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 					zFmt = ts + 10976
 				}
 			} else if flags&U32(WHERE_PARTIALIDX) != 0 {
-				zFmt = ts + 21571
+				zFmt = ts + 21618
 			} else if flags&U32(WHERE_AUTO_INDEX) != 0 {
-				zFmt = ts + 21604
+				zFmt = ts + 21651
 			} else if flags&U32(WHERE_IDX_ONLY) != 0 {
-				zFmt = ts + 21629
+				zFmt = ts + 21676
 			} else {
-				zFmt = ts + 21647
+				zFmt = ts + 21694
 			}
 			if zFmt != 0 {
-				Xsqlite3_str_append(tls, bp+64, ts+21656, 7)
+				Xsqlite3_str_append(tls, bp+64, ts+21703, 7)
 				Xsqlite3_str_appendf(tls, bp+64, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName))
 				explainIndexRange(tls, bp+64, pLoop)
 			}
 		} else if flags&U32(WHERE_IPK) != U32(0) && flags&U32(WHERE_CONSTRAINT) != U32(0) {
 			var cRangeOp uint8
 			var zRowid uintptr = ts + 16267
-			Xsqlite3_str_appendf(tls, bp+64, ts+21664, libc.VaList(bp+24, zRowid))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21711, libc.VaList(bp+24, zRowid))
 			if flags&U32(WHERE_COLUMN_EQ|WHERE_COLUMN_IN) != 0 {
 				cRangeOp = uint8('=')
 			} else if flags&U32(WHERE_BOTH_LIMIT) == U32(WHERE_BOTH_LIMIT) {
-				Xsqlite3_str_appendf(tls, bp+64, ts+21695, libc.VaList(bp+32, zRowid))
+				Xsqlite3_str_appendf(tls, bp+64, ts+21742, libc.VaList(bp+32, zRowid))
 				cRangeOp = uint8('<')
 			} else if flags&U32(WHERE_BTM_LIMIT) != 0 {
 				cRangeOp = uint8('>')
 			} else {
 				cRangeOp = uint8('<')
 			}
-			Xsqlite3_str_appendf(tls, bp+64, ts+21705, libc.VaList(bp+40, int32(cRangeOp)))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21752, libc.VaList(bp+40, int32(cRangeOp)))
 		} else if flags&U32(WHERE_VIRTUALTABLE) != U32(0) {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21710,
+			Xsqlite3_str_appendf(tls, bp+64, ts+21757,
 				libc.VaList(bp+48, *(*int32)(unsafe.Pointer(pLoop + 24)), *(*uintptr)(unsafe.Pointer(pLoop + 24 + 16))))
 		}
 		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&JT_LEFT != 0 {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21737, 0)
+			Xsqlite3_str_appendf(tls, bp+64, ts+21784, 0)
 		}
 		zMsg = Xsqlite3StrAccumFinish(tls, bp+64)
 
@@ -98109,22 +98152,22 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp
 
 	Xsqlite3StrAccumInit(tls, bp+24, db, bp+56, int32(unsafe.Sizeof([100]uint8{})), SQLITE_MAX_LENGTH)
 	(*StrAccum)(unsafe.Pointer(bp + 24)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-	Xsqlite3_str_appendf(tls, bp+24, ts+21748, libc.VaList(bp, pItem))
+	Xsqlite3_str_appendf(tls, bp+24, ts+21795, libc.VaList(bp, pItem))
 	pLoop = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_IPK) != 0 {
 		var pTab uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FpTab
 		if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21536, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21583, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
 		} else {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21769, 0)
+			Xsqlite3_str_appendf(tls, bp+24, ts+21816, 0)
 		}
 	} else {
 		for i = int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip); i < int32(*(*U16)(unsafe.Pointer(pLoop + 24))); i++ {
 			var z uintptr = explainIndexColumnName(tls, *(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)), i)
 			if i > int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip) {
-				Xsqlite3_str_append(tls, bp+24, ts+21525, 5)
+				Xsqlite3_str_append(tls, bp+24, ts+21572, 5)
 			}
-			Xsqlite3_str_appendf(tls, bp+24, ts+21536, libc.VaList(bp+16, z))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21583, libc.VaList(bp+16, z))
 		}
 	}
 	Xsqlite3_str_append(tls, bp+24, ts+4957, 1)
@@ -99721,7 +99764,7 @@ __134:
 	;
 __126:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21777, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21824, 0)
 	ii = 0
 __135:
 	if !(ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm) {
@@ -99749,7 +99792,7 @@ __139:
 	pOrExpr = pAndExpr
 __140:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21792, libc.VaList(bp, ii+1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21839, libc.VaList(bp, ii+1))
 
 	pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0),
 		uint16(WHERE_OR_SUBCLAUSE), iCovCur)
@@ -100267,7 +100310,7 @@ func Xsqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
 	var mAll Bitmask = uint64(0)
 	var k int32
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21801, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21848, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
 
 	for k = 0; k < iLevel; k++ {
 		var iIdxCur int32
@@ -100628,7 +100671,7 @@ var aOp = [4]Op2{
 	{FzOp: ts + 16116, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)},
 	{FzOp: ts + 15447, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)},
 	{FzOp: ts + 14967, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)},
-	{FzOp: ts + 21815, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
+	{FzOp: ts + 21862, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
 }
 
 func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) {
@@ -101118,12 +101161,12 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			extraRight = x - uint64(1)
 
 			if prereqAll>>1 >= x {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21822, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21869, 0)
 				return
 			}
 		} else if prereqAll>>1 >= x {
 			if (*SrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*SrcItem)(unsafe.Pointer(pSrc+8)).Ffg.Fjointype)&JT_LTORJ != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21822, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21869, 0)
 				return
 			}
 			*(*U32)(unsafe.Pointer(pExpr + 4)) &= libc.Uint32FromInt32(libc.CplInt32(EP_InnerON))
@@ -101202,7 +101245,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_OuterON) != U32(0)) &&
 			0 == Xsqlite3ExprCanBeNull(tls, pLeft) {
 			(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
-			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6769
+			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 7699
 			*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0)
@@ -101296,7 +101339,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 		}
 		zCollSeqName = func() uintptr {
 			if *(*int32)(unsafe.Pointer(bp + 20)) != 0 {
-				return ts + 21863
+				return ts + 21910
 			}
 			return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))
 		}()
@@ -101672,7 +101715,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 			k++
 		}
 		if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21870,
+			Xsqlite3ErrorMsg(tls, pParse, ts+21917,
 				libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j))
 			return
 		}
@@ -101688,7 +101731,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 		pRhs = Xsqlite3PExpr(tls, pParse, TK_UPLUS,
 			Xsqlite3ExprDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*ExprList_item)(unsafe.Pointer(pArgs+8+uintptr(j)*32)).FpExpr, 0), uintptr(0))
 		pTerm = Xsqlite3PExpr(tls, pParse, TK_EQ, pColRef, pRhs)
-		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ) != 0 {
+		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ|JT_RIGHT) != 0 {
 			joinType = U32(EP_OuterON)
 		} else {
 			joinType = U32(EP_InnerON)
@@ -102406,7 +102449,7 @@ __4:
 		goto __6
 	}
 	Xsqlite3_log(tls, SQLITE_WARNING|int32(1)<<8,
-		ts+21906, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
+		ts+21953, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
 			(*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*24)).FzCnName))
 	sentWarning = U8(1)
 __6:
@@ -102477,7 +102520,7 @@ __13:
 __14:
 	;
 	*(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)) = pIdx
-	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21932
+	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21979
 	(*Index)(unsafe.Pointer(pIdx)).FpTable = pTable
 	n = 0
 	idxCols = uint64(0)
@@ -102651,6 +102694,10 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 	var pLoop uintptr = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	var iCur int32
+	var saved_pIdxEpr uintptr
+
+	saved_pIdxEpr = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = uintptr(0)
 
 	addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once)
 	for __ccgo := true; __ccgo; __ccgo = iLevel < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel) {
@@ -102694,9 +102741,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 			var r1 int32 = Xsqlite3GetTempRange(tls, pParse, n)
 			var jj int32
 			for jj = 0; jj < n; jj++ {
-				var iCol int32 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(jj)*2)))
-
-				Xsqlite3ExprCodeGetColumnOfTable(tls, v, (*Index)(unsafe.Pointer(pIdx)).FpTable, iCur, iCol, r1+jj)
+				Xsqlite3ExprCodeLoadIndexColumn(tls, pParse, pIdx, iCur, jj, r1+jj)
 			}
 			Xsqlite3VdbeAddOp4Int(tls, v, OP_FilterAdd, (*WhereLevel)(unsafe.Pointer(pLevel)).FregFilter, 0, r1, n)
 			Xsqlite3ReleaseTempRange(tls, pParse, r1, n)
@@ -102730,6 +102775,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 		}
 	}
 	Xsqlite3VdbeJumpHere(tls, v, addrOnce)
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = saved_pIdxEpr
 }
 
 func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr {
@@ -102988,11 +103034,16 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro
 
 	_ = pParse
 
+	if !((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) && int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol)
+	} else {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnColumn)
+	}
 	nField = func() int32 {
-		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < (*Index)(unsafe.Pointer(pIdx)).FnSample {
+		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < nField {
 			return int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField)
 		}
-		return (*Index)(unsafe.Pointer(pIdx)).FnSample
+		return nField
 	}()
 	iCol = 0
 	iSample = (*Index)(unsafe.Pointer(pIdx)).FnSample * nField
@@ -104573,7 +104624,7 @@ __4:
 				j >= (*WhereClause)(unsafe.Pointer(pWC)).FnTerm ||
 				*(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) ||
 				int32((*sqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21943, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+				Xsqlite3ErrorMsg(tls, pParse, ts+21990, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 				return SQLITE_ERROR
 			}
@@ -104631,7 +104682,7 @@ __6:
 	(*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm = U16(mxTerm + 1)
 	for i = 0; i <= mxTerm; i++ {
 		if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21943, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+			Xsqlite3ErrorMsg(tls, pParse, ts+21990, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 			return SQLITE_ERROR
 		}
@@ -105029,7 +105080,7 @@ __1:
 		mPrior = mPrior | (*WhereLoop)(unsafe.Pointer(pNew)).FmaskSelf
 		if rc != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 			if rc == SQLITE_DONE {
-				Xsqlite3_log(tls, SQLITE_WARNING, ts+21969, 0)
+				Xsqlite3_log(tls, SQLITE_WARNING, ts+22016, 0)
 				rc = SQLITE_OK
 			} else {
 				goto __3
@@ -105636,7 +105687,7 @@ __3:
 	}
 
 	if nFrom == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22004, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+22051, 0)
 		Xsqlite3DbFreeNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pSpace)
 		return SQLITE_ERROR
 	}
@@ -105671,6 +105722,10 @@ __3:
 			if int32((*WherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*ExprList)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr {
 				(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_ORDERED)
 			}
+			if (*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 &&
+				int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr {
+				(*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = I8((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr)
+			}
 		} else {
 			(*WhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*WherePath)(unsafe.Pointer(pFrom)).FrevLoop
 			if int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 {
@@ -105965,6 +106020,9 @@ func whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur in
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCur = iIdxCur
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCol = i
 		(*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow = U8(bMaybeNullRow)
+		if Xsqlite3IndexAffinityStr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pIdx) != 0 {
+			(*IndexedExpr)(unsafe.Pointer(p)).Faff = *(*uint8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(i)))
+		}
 		(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = p
 		if (*IndexedExpr)(unsafe.Pointer(p)).FpIENext == uintptr(0) {
 			Xsqlite3ParserAddCleanup(tls, pParse, *(*uintptr)(unsafe.Pointer(&struct {
@@ -106117,7 +106175,7 @@ __1:
 	if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22022, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+22069, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
 	return uintptr(0)
 __2:
 	;
@@ -106181,7 +106239,7 @@ __6:
 	(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE)
 __7:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22050, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22097, 0)
 	goto __5
 __4:
 	ii = 0
@@ -107063,7 +107121,7 @@ __1:
 
 error_out:
 	Xsqlite3_result_error(tls,
-		pCtx, ts+22068, -1)
+		pCtx, ts+22115, -1)
 }
 
 func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
@@ -107196,7 +107254,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 			(*NtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 			if (*NtileCtx)(unsafe.Pointer(p)).FnParam <= int64(0) {
 				Xsqlite3_result_error(tls,
-					pCtx, ts+22124, -1)
+					pCtx, ts+22171, -1)
 			}
 		}
 		(*NtileCtx)(unsafe.Pointer(p)).FnTotal++
@@ -107286,17 +107344,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
 	}
 }
 
-var row_numberName = *(*[11]uint8)(unsafe.Pointer(ts + 22169))
-var dense_rankName = *(*[11]uint8)(unsafe.Pointer(ts + 22180))
-var rankName = *(*[5]uint8)(unsafe.Pointer(ts + 22191))
-var percent_rankName = *(*[13]uint8)(unsafe.Pointer(ts + 22196))
-var cume_distName = *(*[10]uint8)(unsafe.Pointer(ts + 22209))
-var ntileName = *(*[6]uint8)(unsafe.Pointer(ts + 22219))
-var last_valueName = *(*[11]uint8)(unsafe.Pointer(ts + 22225))
-var nth_valueName = *(*[10]uint8)(unsafe.Pointer(ts + 22236))
-var first_valueName = *(*[12]uint8)(unsafe.Pointer(ts + 22246))
-var leadName = *(*[5]uint8)(unsafe.Pointer(ts + 22258))
-var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22263))
+var row_numberName = *(*[11]uint8)(unsafe.Pointer(ts + 22216))
+var dense_rankName = *(*[11]uint8)(unsafe.Pointer(ts + 22227))
+var rankName = *(*[5]uint8)(unsafe.Pointer(ts + 22238))
+var percent_rankName = *(*[13]uint8)(unsafe.Pointer(ts + 22243))
+var cume_distName = *(*[10]uint8)(unsafe.Pointer(ts + 22256))
+var ntileName = *(*[6]uint8)(unsafe.Pointer(ts + 22266))
+var last_valueName = *(*[11]uint8)(unsafe.Pointer(ts + 22272))
+var nth_valueName = *(*[10]uint8)(unsafe.Pointer(ts + 22283))
+var first_valueName = *(*[12]uint8)(unsafe.Pointer(ts + 22293))
+var leadName = *(*[5]uint8)(unsafe.Pointer(ts + 22305))
+var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22310))
 
 func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) {
 	_ = p
@@ -107342,7 +107400,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin
 		}
 	}
 	if p == uintptr(0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22267, libc.VaList(bp, zName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+22314, libc.VaList(bp, zName))
 	}
 	return p
 }
@@ -107386,12 +107444,12 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin
 		((*Window)(unsafe.Pointer(pWin)).FpStart != 0 || (*Window)(unsafe.Pointer(pWin)).FpEnd != 0) &&
 		((*Window)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*ExprList)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != 1) {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+22286, 0)
+			ts+22333, 0)
 	} else if (*FuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
 		if (*Window)(unsafe.Pointer(pWin)).FpFilter != 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22357, 0)
+				ts+22404, 0)
 		} else {
 			*(*[8]WindowUpdate)(unsafe.Pointer(bp)) = [8]WindowUpdate{
 				{FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT},
@@ -107620,7 +107678,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr
 
 	if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) {
 		Xsqlite3ErrorMsg(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse,
-			ts+22420, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
+			ts+22467, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
 	}
 	return WRC_Continue
 }
@@ -107736,7 +107794,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 {
 
 		if *(*uintptr)(unsafe.Pointer(bp + 48)) == uintptr(0) {
 			*(*uintptr)(unsafe.Pointer(bp + 48)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0),
-				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7530))
+				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7519))
 		}
 
 		pSub = Xsqlite3SelectNew(tls,
@@ -107851,7 +107909,7 @@ __1:
 		eStart == TK_FOLLOWING && (eEnd == TK_PRECEDING || eEnd == TK_CURRENT)) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22446, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22493, 0)
 	goto windowAllocErr
 __2:
 	;
@@ -107916,15 +107974,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint
 			var zErr uintptr = uintptr(0)
 
 			if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 {
-				zErr = ts + 22478
+				zErr = ts + 22525
 			} else if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0 {
-				zErr = ts + 22495
+				zErr = ts + 22542
 			} else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 {
-				zErr = ts + 22511
+				zErr = ts + 22558
 			}
 			if zErr != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+22531, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
+					ts+22578, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
 			} else {
 				(*Window)(unsafe.Pointer(pWin)).FpPartition = Xsqlite3ExprListDup(tls, db, (*Window)(unsafe.Pointer(pExist)).FpPartition, 0)
 				if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 {
@@ -107945,7 +108003,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr
 		(*Window)(unsafe.Pointer(pWin)).FpOwner = p
 		if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Distinct) != 0 && int32((*Window)(unsafe.Pointer(pWin)).FeFrmType) != TK_FILTER {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22564, 0)
+				ts+22611, 0)
 		}
 	} else {
 		Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin)
@@ -108101,11 +108159,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) {
 }
 
 var azErr = [5]uintptr{
-	ts + 22611,
-	ts + 22664,
-	ts + 22068,
-	ts + 22715,
-	ts + 22767,
+	ts + 22658,
+	ts + 22711,
+	ts + 22115,
+	ts + 22762,
+	ts + 22814,
 }
 var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge}
 
@@ -109500,19 +109558,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) {
 			}
 			cnt++
 			if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*Select)(unsafe.Pointer(pLoop)).FpLimit != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+22817,
+				Xsqlite3ErrorMsg(tls, pParse, ts+22864,
 					libc.VaList(bp, func() uintptr {
 						if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) {
-							return ts + 22859
+							return ts + 22906
 						}
-						return ts + 22868
+						return ts + 22915
 					}(),
 						Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(pNext)).Fop))))
 				break
 			}
 		}
 		if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_MultiValue) == U32(0) && libc.AssignInt32(&mxSelect, *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 4*4))) > 0 && cnt > mxSelect {
-			Xsqlite3ErrorMsg(tls, pParse, ts+22874, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+22921, 0)
 		}
 	}
 
@@ -109580,7 +109638,7 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT
 	var p uintptr = Xsqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0))
 	if (hasCollate != 0 || sortOrder != -1) &&
 		int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22908,
+		Xsqlite3ErrorMsg(tls, pParse, ts+22955,
 			libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz))
 	}
 	Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1)
@@ -110677,7 +110735,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) {
 		yy_pop_parser_stack(tls, yypParser)
 	}
 
-	Xsqlite3ErrorMsg(tls, pParse, ts+22946, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22993, 0)
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
 }
@@ -111656,7 +111714,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(TF_WithoutRowid | TF_NoVisibleRowid)
 				} else {
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22968, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23015, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			break
@@ -111666,7 +111724,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(TF_Strict)
 				} else {
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22968, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23015, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			*(*U32)(unsafe.Pointer(yymsp + 8)) = *(*U32)(unsafe.Pointer(bp + 40))
@@ -112409,7 +112467,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 		case uint32(157):
 			{
 				Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8)), yymsp+libc.UintptrFromInt32(-4)*24+8)
-				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+22995)
+				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+23042)
 				if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) != 0 {
 					var pFromClause uintptr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8))
 					if (*SrcList)(unsafe.Pointer(pFromClause)).FnSrc > 1 {
@@ -112573,7 +112631,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*Token)(unsafe.Pointer(bp + 128)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 
 					if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+23004, libc.VaList(bp+32, bp+128))
+						Xsqlite3ErrorMsg(tls, pParse, ts+23051, libc.VaList(bp+32, bp+128))
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0)
 					} else {
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0))
@@ -112790,9 +112848,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					Xsqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
 					*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_STRING, func() uintptr {
 						if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8)) != 0 {
-							return ts + 6764
+							return ts + 7694
 						}
-						return ts + 6769
+						return ts + 7699
 					}())
 					if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) != 0 {
 						Xsqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
@@ -113076,19 +113134,19 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 			{
 				*(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23028, 0)
+					ts+23075, 0)
 			}
 			break
 		case uint32(271):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23123, 0)
+					ts+23170, 0)
 			}
 			break
 		case uint32(272):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23207, 0)
+					ts+23254, 0)
 			}
 			break
 		case uint32(273):
@@ -113467,9 +113525,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To
 
 	_ = yymajor
 	if *(*uint8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8)).Fz)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23004, libc.VaList(bp, bp+8))
+		Xsqlite3ErrorMsg(tls, pParse, ts+23051, libc.VaList(bp, bp+8))
 	} else {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23292, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+23339, 0)
 	}
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
@@ -114237,7 +114295,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 			} else {
 				(*Token)(unsafe.Pointer(bp + 2464)).Fz = zSql
 				(*Token)(unsafe.Pointer(bp + 2464)).Fn = uint32(n)
-				Xsqlite3ErrorMsg(tls, pParse, ts+23309, libc.VaList(bp, bp+2464))
+				Xsqlite3ErrorMsg(tls, pParse, ts+23356, libc.VaList(bp, bp+2464))
 				break
 			}
 		}
@@ -114260,7 +114318,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 		if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) {
 			(*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+3663, libc.VaList(bp+8, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc)))
 		}
-		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23334, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
+		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23381, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
 		nErr++
 	}
 	(*Parse)(unsafe.Pointer(pParse)).FzTail = zSql
@@ -114433,7 +114491,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'C':
 						{
-							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23345, 6) == 0 {
+							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23392, 6) == 0 {
 								token = U8(TkCREATE)
 							} else {
 								token = U8(TkOTHER)
@@ -114446,11 +114504,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'T':
 						{
-							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19931, 7) == 0 {
+							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19978, 7) == 0 {
 								token = U8(TkTRIGGER)
-							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23352, 4) == 0 {
+							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23399, 4) == 0 {
 								token = U8(TkTEMP)
-							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23357, 9) == 0 {
+							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23404, 9) == 0 {
 								token = U8(TkTEMP)
 							} else {
 								token = U8(TkOTHER)
@@ -114463,9 +114521,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'E':
 						{
-							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23367, 3) == 0 {
+							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23414, 3) == 0 {
 								token = U8(TkEND)
-							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23371, 7) == 0 {
+							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23418, 7) == 0 {
 								token = U8(TkEXPLAIN)
 							} else {
 								token = U8(TkOTHER)
@@ -114704,7 +114762,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 {
 	var rc int32 = SQLITE_OK
 
 	if Xsqlite3Config.FisInit != 0 {
-		return Xsqlite3MisuseError(tls, 174337)
+		return Xsqlite3MisuseError(tls, 174426)
 	}
 
 	ap = va
@@ -115279,7 +115337,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 		return SQLITE_OK
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 175111)
+		return Xsqlite3MisuseError(tls, 175200)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 {
@@ -115294,7 +115352,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 
 	if !(forceZombie != 0) && connectionIsBusy(tls, db) != 0 {
 		Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-			ts+23379, 0)
+			ts+23426, 0)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		return SQLITE_BUSY
 	}
@@ -115485,23 +115543,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) {
 // Return a static string that describes the kind of error specified in the
 // argument.
 func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
-	var zErr uintptr = ts + 23447
+	var zErr uintptr = ts + 23494
 	switch rc {
 	case SQLITE_ABORT | int32(2)<<8:
 		{
-			zErr = ts + 23461
+			zErr = ts + 23508
 			break
 
 		}
 	case SQLITE_ROW:
 		{
-			zErr = ts + 23483
+			zErr = ts + 23530
 			break
 
 		}
 	case SQLITE_DONE:
 		{
-			zErr = ts + 23505
+			zErr = ts + 23552
 			break
 
 		}
@@ -115519,35 +115577,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
 }
 
 var aMsg = [29]uintptr{
-	ts + 23528,
-	ts + 23541,
+	ts + 23575,
+	ts + 23588,
 	uintptr(0),
-	ts + 23557,
-	ts + 23582,
-	ts + 23596,
-	ts + 23615,
+	ts + 23604,
+	ts + 23629,
+	ts + 23643,
+	ts + 23662,
 	ts + 1490,
-	ts + 23640,
-	ts + 23677,
-	ts + 23689,
-	ts + 23704,
-	ts + 23737,
-	ts + 23755,
-	ts + 23780,
-	ts + 23809,
+	ts + 23687,
+	ts + 23724,
+	ts + 23736,
+	ts + 23751,
+	ts + 23784,
+	ts + 23802,
+	ts + 23827,
+	ts + 23856,
 	uintptr(0),
 	ts + 5838,
 	ts + 5334,
-	ts + 23826,
-	ts + 23844,
-	ts + 23862,
+	ts + 23873,
+	ts + 23891,
+	ts + 23909,
 	uintptr(0),
-	ts + 23896,
-	uintptr(0),
-	ts + 23917,
 	ts + 23943,
-	ts + 23966,
-	ts + 23987,
+	uintptr(0),
+	ts + 23964,
+	ts + 23990,
+	ts + 24013,
+	ts + 24034,
 }
 
 func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 {
@@ -115668,7 +115726,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 		libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) ||
 		(nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) ||
 		255 < Xsqlite3Strlen30(tls, zFunctionName) {
-		return Xsqlite3MisuseError(tls, 175758)
+		return Xsqlite3MisuseError(tls, 175847)
 	}
 
 	extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS)
@@ -115718,7 +115776,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 	if p != 0 && (*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK) == U32(enc) && int32((*FuncDef)(unsafe.Pointer(p)).FnArg) == nArg {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24003, 0)
+				ts+24050, 0)
 
 			return SQLITE_BUSY
 		} else {
@@ -115840,7 +115898,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs
 	_ = NotUsed
 	_ = NotUsed2
 	zErr = Xsqlite3_mprintf(tls,
-		ts+24066, libc.VaList(bp, zName))
+		ts+24113, libc.VaList(bp, zName))
 	Xsqlite3_result_error(tls, context, zErr, -1)
 	Xsqlite3_free(tls, zErr)
 }
@@ -116076,7 +116134,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
 	}
 	if iDb < 0 {
 		rc = SQLITE_ERROR
-		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24117, libc.VaList(bp, zDb))
+		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24164, libc.VaList(bp, zDb))
 	} else {
 		(*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0
 		rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt)
@@ -116169,7 +116227,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr {
 		return Xsqlite3ErrStr(tls, SQLITE_NOMEM)
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176503))
+		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176592))
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -116239,7 +116297,7 @@ var misuse = [34]U16{
 // passed to this function, we assume a malloc() failed during sqlite3_open().
 func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176582)
+		return Xsqlite3MisuseError(tls, 176671)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -116249,7 +116307,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 
 func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176591)
+		return Xsqlite3MisuseError(tls, 176680)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -116286,14 +116344,14 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint
 		}()
 	}
 	if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE {
-		return Xsqlite3MisuseError(tls, 176639)
+		return Xsqlite3MisuseError(tls, 176728)
 	}
 
 	pColl = Xsqlite3FindCollSeq(tls, db, U8(enc2), zName, 0)
 	if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24138, 0)
+				ts+24185, 0)
 			return SQLITE_BUSY
 		}
 		Xsqlite3ExpirePreparedStatements(tls, db, 0)
@@ -116423,7 +116481,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u
 
 	if !((flags&uint32(SQLITE_OPEN_URI) != 0 ||
 		Xsqlite3Config.FbOpenUri != 0) &&
-		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24206, uint64(5)) == 0) {
+		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24253, uint64(5)) == 0) {
 		goto __1
 	}
 	iOut = 0
@@ -116468,10 +116526,10 @@ __8:
 	goto __8
 __9:
 	;
-	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24212, zUri+7, uint64(9)) != 0)) {
+	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24259, zUri+7, uint64(9)) != 0)) {
 		goto __10
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24222,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24269,
 		libc.VaList(bp, iIn-7, zUri+7))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
@@ -116576,7 +116634,7 @@ __27:
 	zVal = zOpt + uintptr(nOpt+1)
 	nVal = Xsqlite3Strlen30(tls, zVal)
 
-	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24250, zOpt, uint64(3)) == 0) {
+	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24297, zOpt, uint64(3)) == 0) {
 		goto __29
 	}
 	zVfs = zVal
@@ -116587,17 +116645,17 @@ __29:
 	mask = 0
 	limit = 0
 
-	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24254, zOpt, uint64(5)) == 0) {
+	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24301, zOpt, uint64(5)) == 0) {
 		goto __31
 	}
 
 	mask = SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE
 	aMode = uintptr(unsafe.Pointer(&aCacheMode))
 	limit = mask
-	zModeType = ts + 24254
+	zModeType = ts + 24301
 __31:
 	;
-	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24260, zOpt, uint64(4)) == 0) {
+	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24307, zOpt, uint64(4)) == 0) {
 		goto __32
 	}
 
@@ -116635,7 +116693,7 @@ __36:
 	if !(mode == 0) {
 		goto __38
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24265, libc.VaList(bp+16, zModeType, zVal))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24312, libc.VaList(bp+16, zModeType, zVal))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
 __38:
@@ -116643,7 +116701,7 @@ __38:
 	if !(mode&libc.CplInt32(SQLITE_OPEN_MEMORY) > limit) {
 		goto __39
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24285,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24332,
 		libc.VaList(bp+32, zModeType, zVal))
 	rc = SQLITE_PERM
 	goto parse_uri_out
@@ -116683,7 +116741,7 @@ __2:
 	if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) {
 		goto __42
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24309, libc.VaList(bp+48, zVfs))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24356, libc.VaList(bp+48, zVfs))
 	rc = SQLITE_ERROR
 __42:
 	;
@@ -116707,14 +116765,14 @@ type OpenMode = struct {
 }
 
 var aCacheMode = [3]OpenMode{
-	{Fz: ts + 24325, Fmode: SQLITE_OPEN_SHAREDCACHE},
-	{Fz: ts + 24332, Fmode: SQLITE_OPEN_PRIVATECACHE},
+	{Fz: ts + 24372, Fmode: SQLITE_OPEN_SHAREDCACHE},
+	{Fz: ts + 24379, Fmode: SQLITE_OPEN_PRIVATECACHE},
 	{},
 }
 var aOpenMode = [5]OpenMode{
-	{Fz: ts + 24340, Fmode: SQLITE_OPEN_READONLY},
-	{Fz: ts + 24343, Fmode: SQLITE_OPEN_READWRITE},
-	{Fz: ts + 24346, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
+	{Fz: ts + 24387, Fmode: SQLITE_OPEN_READONLY},
+	{Fz: ts + 24390, Fmode: SQLITE_OPEN_READWRITE},
+	{Fz: ts + 24393, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
 	{Fz: ts + 17362, Fmode: SQLITE_OPEN_MEMORY},
 	{},
 }
@@ -116861,10 +116919,10 @@ __12:
 	createCollation(tls, db, uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{binCollFunc})), uintptr(0))
-	createCollation(tls, db, ts+21863, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+21910, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{nocaseCollatingFunc})), uintptr(0))
-	createCollation(tls, db, ts+24350, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+24397, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{rtrimCollFunc})), uintptr(0))
 	if !((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) {
@@ -116878,7 +116936,7 @@ __15:
 	if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) {
 		goto __16
 	}
-	rc = Xsqlite3MisuseError(tls, 177308)
+	rc = Xsqlite3MisuseError(tls, 177397)
 	goto __17
 __16:
 	rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24)
@@ -116931,7 +116989,7 @@ __22:
 
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 6441
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).Fsafety_level = U8(SQLITE_DEFAULT_SYNCHRONOUS + 1)
-	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23352
+	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23399
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF)
 
 	(*Sqlite3)(unsafe.Pointer(db)).FeOpenState = U8(SQLITE_STATE_OPEN)
@@ -117036,7 +117094,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 {
 		return rc
 	}
 	if zFilename == uintptr(0) {
-		zFilename = ts + 24356
+		zFilename = ts + 24403
 	}
 	pVal = Xsqlite3ValueNew(tls, uintptr(0))
 	Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, func() uint8 {
@@ -117154,21 +117212,21 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr)
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	Xsqlite3_log(tls, iErr, ts+24359,
+	Xsqlite3_log(tls, iErr, ts+24406,
 		libc.VaList(bp, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls)))
 	return iErr
 }
 
 func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24384)
+	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24431)
 }
 
 func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24404)
+	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24451)
 }
 
 func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24411)
+	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24458)
 }
 
 // This is a convenience routine that makes sure that all thread-specific
@@ -117326,7 +117384,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24)))
-	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24428, libc.VaList(bp, zTableName,
+	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24475, libc.VaList(bp, zTableName,
 		zColumnName))
 	rc = SQLITE_ERROR
 __20:
@@ -117982,7 +118040,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 {
 
 	azCompileOpt = Xsqlite3CompileOptions(tls, bp)
 
-	if Xsqlite3_strnicmp(tls, zOptName, ts+24456, 7) == 0 {
+	if Xsqlite3_strnicmp(tls, zOptName, ts+24503, 7) == 0 {
 		zOptName += uintptr(7)
 	}
 	n = Xsqlite3Strlen30(tls, zOptName)
@@ -118100,7 +118158,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin
 
 	Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr {
 		if rc != 0 {
-			return ts + 24464
+			return ts + 24511
 		}
 		return uintptr(0)
 	}(), 0)
@@ -118278,7 +118336,7 @@ type JsonParse1 = struct {
 type JsonParse = JsonParse1
 
 var jsonType = [8]uintptr{
-	ts + 6181, ts + 6764, ts + 6769, ts + 6191, ts + 6186, ts + 8005, ts + 24487, ts + 24493,
+	ts + 6181, ts + 7694, ts + 7699, ts + 6191, ts + 6186, ts + 8005, ts + 24534, ts + 24540,
 }
 
 func jsonZero(tls *libc.TLS, p uintptr) {
@@ -118431,7 +118489,7 @@ __10:
 	*(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('0')
 	*(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('0')
 	*(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('0' + int32(c)>>4)
-	c = *(*uint8)(unsafe.Pointer(ts + 24500 + uintptr(int32(c)&0xf)))
+	c = *(*uint8)(unsafe.Pointer(ts + 24547 + uintptr(int32(c)&0xf)))
 __8:
 	;
 __6:
@@ -118486,7 +118544,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) {
 	default:
 		{
 			if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 {
-				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24517, -1)
+				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24564, -1)
 				(*JsonString)(unsafe.Pointer(p)).FbErr = U8(2)
 				jsonReset(tls, p)
 			}
@@ -118550,13 +118608,13 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr
 		}
 	case JSON_TRUE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6764, uint32(4))
+			jsonAppendRaw(tls, pOut, ts+7694, uint32(4))
 			break
 
 		}
 	case JSON_FALSE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6769, uint32(5))
+			jsonAppendRaw(tls, pOut, ts+7699, uint32(5))
 			break
 
 		}
@@ -119106,12 +119164,12 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 't' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6764, uint64(4)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7694, uint64(4)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+U32(4))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_TRUE), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 'f' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6769, uint64(5)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7699, uint64(5)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+U32(5))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_FALSE), uint32(0), uintptr(0))
 		return int32(i + U32(5))
@@ -119212,7 +119270,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32
 			if (*JsonParse)(unsafe.Pointer(pParse)).Foom != 0 {
 				Xsqlite3_result_error_nomem(tls, pCtx)
 			} else {
-				Xsqlite3_result_error(tls, pCtx, ts+24546, -1)
+				Xsqlite3_result_error(tls, pCtx, ts+24593, -1)
 			}
 		}
 		jsonParseReset(tls, pParse)
@@ -119518,7 +119576,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt
 	}
 	if int32(*(*uint8)(unsafe.Pointer(zPath))) == '.' {
 		jsonParseAddNode(tls, pParse, uint32(JSON_OBJECT), uint32(0), uintptr(0))
-	} else if libc.Xstrncmp(tls, zPath, ts+24561, uint64(3)) == 0 {
+	} else if libc.Xstrncmp(tls, zPath, ts+24608, uint64(3)) == 0 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0))
 	} else {
 		return uintptr(0)
@@ -119533,7 +119591,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	return Xsqlite3_mprintf(tls, ts+24565, libc.VaList(bp, zErr))
+	return Xsqlite3_mprintf(tls, ts+24612, libc.VaList(bp, zErr))
 }
 
 func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr {
@@ -119587,7 +119645,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24591,
+	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24638,
 		libc.VaList(bp, zFuncName))
 	Xsqlite3_result_error(tls, pCtx, zMsg, -1)
 	Xsqlite3_free(tls, zMsg)
@@ -119692,11 +119750,11 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 			if int32(*(*uint8)(unsafe.Pointer(zPath))) != '$' {
 				jsonInit(tls, bp, ctx)
 				if int32(Xsqlite3CtypeMap[*(*uint8)(unsafe.Pointer(zPath))])&0x04 != 0 {
-					jsonAppendRaw(tls, bp, ts+24634, uint32(2))
+					jsonAppendRaw(tls, bp, ts+24681, uint32(2))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendRaw(tls, bp, ts+4998, uint32(2))
 				} else {
-					jsonAppendRaw(tls, bp, ts+24637, uint32(1+libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zPath))) != '[')))
+					jsonAppendRaw(tls, bp, ts+24684, uint32(1+libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zPath))) != '[')))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendChar(tls, bp, uint8(0))
 				}
@@ -119853,14 +119911,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 
 	if argc&1 != 0 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+24640, -1)
+			ts+24687, -1)
 		return
 	}
 	jsonInit(tls, bp, ctx)
 	jsonAppendChar(tls, bp, uint8('{'))
 	for i = 0; i < argc; i = i + 2 {
 		if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != SQLITE_TEXT {
-			Xsqlite3_result_error(tls, ctx, ts+24691, -1)
+			Xsqlite3_result_error(tls, ctx, ts+24738, -1)
 			jsonReset(tls, bp)
 			return
 		}
@@ -120030,9 +120088,9 @@ __1:
 	}
 	jsonWrongNumArgs(tls, ctx, func() uintptr {
 		if bIsSet != 0 {
-			return ts + 24725
+			return ts + 24772
 		}
-		return ts + 24729
+		return ts + 24776
 	}())
 	return
 __2:
@@ -120165,7 +120223,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24736, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24783, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -120262,7 +120320,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24739, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24786, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -120306,7 +120364,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u
 	_ = argc
 	_ = pAux
 	rc = Xsqlite3_declare_vtab(tls, db,
-		ts+24742)
+		ts+24789)
 	if rc == SQLITE_OK {
 		pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{}))))
 		if pNew == uintptr(0) {
@@ -120437,7 +120495,7 @@ func jsonAppendObjectPathElement(tls *libc.TLS, pStr uintptr, pNode uintptr) {
 			nn = nn - 2
 		}
 	}
-	jsonPrintf(tls, nn+2, pStr, ts+24825, libc.VaList(bp, nn, z))
+	jsonPrintf(tls, nn+2, pStr, ts+24872, libc.VaList(bp, nn, z))
 }
 
 func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
@@ -120456,7 +120514,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
 	pNode = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(i)*16
 	pUp = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(iUp)*16
 	if int32((*JsonNode)(unsafe.Pointer(pUp)).FeType) == JSON_ARRAY {
-		jsonPrintf(tls, 30, pStr, ts+24831, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
+		jsonPrintf(tls, 30, pStr, ts+24878, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
 	} else {
 		if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_LABEL == 0 {
 			pNode -= 16
@@ -120552,7 +120610,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 					jsonAppendChar(tls, bp+8, uint8('$'))
 				}
 				if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY {
-					jsonPrintf(tls, 30, bp+8, ts+24831, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
+					jsonPrintf(tls, 30, bp+8, ts+24878, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
 				} else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT {
 					jsonAppendObjectPathElement(tls, bp+8, pThis)
 				}
@@ -120576,7 +120634,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 		{
 			var zRoot uintptr = (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot
 			if zRoot == uintptr(0) {
-				zRoot = ts + 24836
+				zRoot = ts + 24883
 			}
 			Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0))
 			break
@@ -120698,7 +120756,7 @@ func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, ar
 		var rc int32 = SQLITE_NOMEM
 		if int32((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.Foom) == 0 {
 			Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg)
-			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24546, 0)
+			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24593, 0)
 			if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 {
 				rc = SQLITE_ERROR
 			}
@@ -120793,25 +120851,25 @@ func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) {
 }
 
 var aJsonFunc = [19]FuncDef{
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24838},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24843},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24854},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24854},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24872},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 24885},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 24888},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24892},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24904},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24916},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24927},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24938},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24950},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 24963},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24972},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24972},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24982},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24993},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25010}}
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24885},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24890},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24901},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24901},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24919},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 24932},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 24935},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24939},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24951},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24963},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24974},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24985},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24997},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 25010},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25019},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25019},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25029},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25040},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25057}}
 
 // Register the JSON table-valued functions
 func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 {
@@ -120830,8 +120888,8 @@ var aMod = [2]struct {
 	FzName   uintptr
 	FpModule uintptr
 }{
-	{FzName: ts + 25028, FpModule: 0},
-	{FzName: ts + 25038, FpModule: 0},
+	{FzName: ts + 25075, FpModule: 0},
+	{FzName: ts + 25085, FpModule: 0},
 }
 
 type Rtree1 = struct {
@@ -121091,11 +121149,11 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo
 		}
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) {
-		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25048, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25095, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		if zTab == uintptr(0) {
 			return SQLITE_NOMEM
 		}
-		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25056, iNode, 0,
+		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25103, iNode, 0,
 			pRtree+112)
 		Xsqlite3_free(tls, zTab)
 	}
@@ -121306,7 +121364,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32
 	var zCreate uintptr = Xsqlite3_mprintf(tls,
-		ts+25061,
+		ts+25108,
 		libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
@@ -122004,7 +122062,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 {
 	var pSrc uintptr
 	var pInfo uintptr
 
-	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25143)
+	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25190)
 	if pSrc == uintptr(0) {
 		return SQLITE_ERROR
 	}
@@ -123345,7 +123403,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+25157, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+	zSql = Xsqlite3_mprintf(tls, ts+25204, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 	if zSql != 0 {
 		rc = Xsqlite3_prepare_v2(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -1, bp+56, uintptr(0))
 	} else {
@@ -123357,12 +123415,12 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 		if iCol == 0 {
 			var zCol uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 0)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25177, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
+				ts+25224, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
 		} else {
 			var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol)
 			var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol+1)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25209, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
+				ts+25256, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
 		}
 	}
 
@@ -123588,7 +123646,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32 = SQLITE_NOMEM
 	var zSql uintptr = Xsqlite3_mprintf(tls,
-		ts+25246, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
+		ts+25293, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
 	if zSql != 0 {
 		nodeBlobReset(tls, pRtree)
 		rc = Xsqlite3_exec(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0))
@@ -123611,7 +123669,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 {
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	var zFmt uintptr = ts + 25391
+	var zFmt uintptr = ts + 25438
 	var zSql uintptr
 
 	var rc int32
@@ -123659,7 +123717,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName1 = [3]uintptr{
-	ts + 25447, ts + 5060, ts + 16267,
+	ts + 25494, ts + 5060, ts + 16267,
 }
 
 var rtreeModule = Sqlite3_module{
@@ -123702,19 +123760,19 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		var p uintptr = Xsqlite3_str_new(tls, db)
 		var ii int32
 		Xsqlite3_str_appendf(tls, p,
-			ts+25452,
+			ts+25499,
 			libc.VaList(bp, zDb, zPrefix))
 		for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
-			Xsqlite3_str_appendf(tls, p, ts+25514, libc.VaList(bp+16, ii))
+			Xsqlite3_str_appendf(tls, p, ts+25561, libc.VaList(bp+16, ii))
 		}
 		Xsqlite3_str_appendf(tls, p,
-			ts+25519,
+			ts+25566,
 			libc.VaList(bp+24, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25583,
+			ts+25630,
 			libc.VaList(bp+40, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25653,
+			ts+25700,
 			libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))
 		zCreate = Xsqlite3_str_finish(tls, p)
 		if !(zCreate != 0) {
@@ -123743,7 +123801,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		if i != 3 || int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) == 0 {
 			zFormat = azSql[i]
 		} else {
-			zFormat = ts + 25702
+			zFormat = ts + 25749
 		}
 		zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix))
 		if zSql != 0 {
@@ -123755,7 +123813,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FnAux != 0 {
 		(*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls,
-			ts+25810,
+			ts+25857,
 			libc.VaList(bp+96, zDb, zPrefix))
 		if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -123763,18 +123821,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 			var p uintptr = Xsqlite3_str_new(tls, db)
 			var ii int32
 			var zSql uintptr
-			Xsqlite3_str_appendf(tls, p, ts+25855, libc.VaList(bp+112, zDb, zPrefix))
+			Xsqlite3_str_appendf(tls, p, ts+25902, libc.VaList(bp+112, zDb, zPrefix))
 			for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
 				if ii != 0 {
 					Xsqlite3_str_append(tls, p, ts+12767, 1)
 				}
 				if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) {
-					Xsqlite3_str_appendf(tls, p, ts+25882, libc.VaList(bp+128, ii, ii+2, ii))
+					Xsqlite3_str_appendf(tls, p, ts+25929, libc.VaList(bp+128, ii, ii+2, ii))
 				} else {
-					Xsqlite3_str_appendf(tls, p, ts+25904, libc.VaList(bp+152, ii, ii+2))
+					Xsqlite3_str_appendf(tls, p, ts+25951, libc.VaList(bp+152, ii, ii+2))
 				}
 			}
-			Xsqlite3_str_appendf(tls, p, ts+25912, 0)
+			Xsqlite3_str_appendf(tls, p, ts+25959, 0)
 			zSql = Xsqlite3_str_finish(tls, p)
 			if zSql == uintptr(0) {
 				rc = SQLITE_NOMEM
@@ -123789,14 +123847,14 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 }
 
 var azSql = [8]uintptr{
-	ts + 25928,
-	ts + 25981,
-	ts + 26026,
-	ts + 26078,
-	ts + 26132,
-	ts + 26177,
-	ts + 26235,
-	ts + 26290,
+	ts + 25975,
+	ts + 26028,
+	ts + 26073,
+	ts + 26125,
+	ts + 26179,
+	ts + 26224,
+	ts + 26282,
+	ts + 26337,
 }
 
 func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 {
@@ -123825,7 +123883,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 	var zSql uintptr
 	if isCreate != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = 0
-		zSql = Xsqlite3_mprintf(tls, ts+26337, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
+		zSql = Xsqlite3_mprintf(tls, ts+26384, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
 		rc = getIntFromStmt(tls, db, zSql, bp+48)
 		if rc == SQLITE_OK {
 			(*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp + 48)) - 64
@@ -123837,7 +123895,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		}
 	} else {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+26357,
+			ts+26404,
 			libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		rc = getIntFromStmt(tls, db, zSql, pRtree+32)
 		if rc != SQLITE_OK {
@@ -123845,7 +123903,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		} else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < 512-64 {
 			rc = SQLITE_CORRUPT | int32(1)<<8
 
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26414,
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26461,
 				libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		}
 	}
@@ -123887,10 +123945,10 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr
 	ii = 4
 	*(*[5]uintptr)(unsafe.Pointer(bp + 96)) = [5]uintptr{
 		uintptr(0),
-		ts + 26449,
-		ts + 26492,
-		ts + 26527,
-		ts + 26563,
+		ts + 26496,
+		ts + 26539,
+		ts + 26574,
+		ts + 26610,
 	}
 
 	if !(argc < 6 || argc > RTREE_MAX_AUX_COLUMN+3) {
@@ -123921,7 +123979,7 @@ __2:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+26600,
+	Xsqlite3_str_appendf(tls, pSql, ts+26647,
 		libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8))))
 	ii = 4
 __3:
@@ -123933,7 +123991,7 @@ __3:
 		goto __6
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+26624, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
+	Xsqlite3_str_appendf(tls, pSql, ts+26671, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
 	goto __7
 __6:
 	if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) {
@@ -123956,7 +124014,7 @@ __4:
 	goto __5
 __5:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26630, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26677, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __10
@@ -124052,7 +124110,7 @@ __25:
 	return rc
 }
 
-var azFormat = [2]uintptr{ts + 26633, ts + 26644}
+var azFormat = [2]uintptr{ts + 26680, ts + 26691}
 
 func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	bp := tls.Alloc(1072)
@@ -124092,11 +124150,11 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 		if ii > 0 {
 			Xsqlite3_str_append(tls, pOut, ts+10920, 1)
 		}
-		Xsqlite3_str_appendf(tls, pOut, ts+26654, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
+		Xsqlite3_str_appendf(tls, pOut, ts+26701, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
 		for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+56)).FnDim2); jj++ {
-			Xsqlite3_str_appendf(tls, pOut, ts+26660, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
+			Xsqlite3_str_appendf(tls, pOut, ts+26707, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
 		}
-		Xsqlite3_str_append(tls, pOut, ts+26664, 1)
+		Xsqlite3_str_append(tls, pOut, ts+26711, 1)
 	}
 	errCode = Xsqlite3_str_errcode(tls, pOut)
 	Xsqlite3_result_text(tls, ctx, Xsqlite3_str_finish(tls, pOut), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
@@ -124107,7 +124165,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	_ = nArg
 	if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB ||
 		Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 {
-		Xsqlite3_result_error(tls, ctx, ts+26666, -1)
+		Xsqlite3_result_error(tls, ctx, ts+26713, -1)
 	} else {
 		var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 		if zBlob != 0 {
@@ -124185,7 +124243,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr
 		if z == uintptr(0) {
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM
 		} else {
-			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26699,
+			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26746,
 				libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr {
 					if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 {
 						return ts + 4062
@@ -124209,7 +124267,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) {
 		(*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = rtreeCheckPrepare(tls, pCheck,
-			ts+26706,
+			ts+26753,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab))
 	}
 
@@ -124228,7 +124286,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 		}
 		rtreeCheckReset(tls, pCheck, (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode)
 		if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) {
-			rtreeCheckAppendMsg(tls, pCheck, ts+26751, libc.VaList(bp+16, iNode))
+			rtreeCheckAppendMsg(tls, pCheck, ts+26798, libc.VaList(bp+16, iNode))
 		}
 	}
 
@@ -124242,8 +124300,8 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	var rc int32
 	var pStmt uintptr
 	*(*[2]uintptr)(unsafe.Pointer(bp + 80)) = [2]uintptr{
-		ts + 26783,
-		ts + 26837,
+		ts + 26830,
+		ts + 26884,
 	}
 
 	if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) {
@@ -124258,23 +124316,23 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	Xsqlite3_bind_int64(tls, pStmt, 1, iKey)
 	rc = Xsqlite3_step(tls, pStmt)
 	if rc == SQLITE_DONE {
-		rtreeCheckAppendMsg(tls, pCheck, ts+26885,
+		rtreeCheckAppendMsg(tls, pCheck, ts+26932,
 			libc.VaList(bp+16, iKey, iVal, func() uintptr {
 				if bLeaf != 0 {
-					return ts + 26930
+					return ts + 26977
 				}
-				return ts + 26938
+				return ts + 26985
 			}()))
 	} else if rc == SQLITE_ROW {
 		var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0)
 		if ii != iVal {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+26947,
+				ts+26994,
 				libc.VaList(bp+40, iKey, ii, func() uintptr {
 					if bLeaf != 0 {
-						return ts + 26930
+						return ts + 26977
 					}
-					return ts + 26938
+					return ts + 26985
 				}(), iKey, iVal))
 		}
 	}
@@ -124298,7 +124356,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 			return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48)) > *(*RtreeValue)(unsafe.Pointer(bp + 52)))
 		}() != 0 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27005, libc.VaList(bp, i, iCell, iNode))
+				ts+27052, libc.VaList(bp, i, iCell, iNode))
 		}
 
 		if pParent != 0 {
@@ -124318,7 +124376,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 					return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52)) > *(*RtreeValue)(unsafe.Pointer(bp + 60)))
 				}() != 0 {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27053, libc.VaList(bp+24, i, iCell, iNode))
+					ts+27100, libc.VaList(bp+24, i, iCell, iNode))
 			}
 		}
 	}
@@ -124335,14 +124393,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 	if aNode != 0 {
 		if *(*int32)(unsafe.Pointer(bp + 48)) < 4 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27120, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
+				ts+27167, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
 		} else {
 			var nCell int32
 			var i int32
 			if aParent == uintptr(0) {
 				iDepth = readInt16(tls, aNode)
 				if iDepth > RTREE_MAX_DEPTH {
-					rtreeCheckAppendMsg(tls, pCheck, ts+27154, libc.VaList(bp+16, iDepth))
+					rtreeCheckAppendMsg(tls, pCheck, ts+27201, libc.VaList(bp+16, iDepth))
 					Xsqlite3_free(tls, aNode)
 					return
 				}
@@ -124350,7 +124408,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 			nCell = readInt16(tls, aNode+2)
 			if 4+nCell*(8+(*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim*2*4) > *(*int32)(unsafe.Pointer(bp + 48)) {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27184,
+					ts+27231,
 					libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48))))
 			} else {
 				for i = 0; i < nCell; i++ {
@@ -124379,14 +124437,14 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) {
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK {
 		var pCount uintptr
-		pCount = rtreeCheckPrepare(tls, pCheck, ts+27239,
+		pCount = rtreeCheckPrepare(tls, pCheck, ts+27286,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl))
 		if pCount != 0 {
 			if Xsqlite3_step(tls, pCount) == SQLITE_ROW {
 				var nActual I64 = Xsqlite3_column_int64(tls, pCount, 0)
 				if nActual != nExpect {
 					rtreeCheckAppendMsg(tls, pCheck,
-						ts+27270, libc.VaList(bp+24, zTbl, nExpect, nActual))
+						ts+27317, libc.VaList(bp+24, zTbl, nExpect, nActual))
 				}
 			}
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount)
@@ -124413,7 +124471,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	}
 
 	if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
-		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27337, libc.VaList(bp, zDb, zTab))
+		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27384, libc.VaList(bp, zDb, zTab))
 		if pStmt != 0 {
 			nAux = Xsqlite3_column_count(tls, pStmt) - 2
 			Xsqlite3_finalize(tls, pStmt)
@@ -124422,12 +124480,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		}
 	}
 
-	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25157, libc.VaList(bp+16, zDb, zTab))
+	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25204, libc.VaList(bp+16, zDb, zTab))
 	if pStmt != 0 {
 		var rc int32
 		(*RtreeCheck)(unsafe.Pointer(bp + 32)).FnDim = (Xsqlite3_column_count(tls, pStmt) - 1 - nAux) / 2
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).FnDim < 1 {
-			rtreeCheckAppendMsg(tls, bp+32, ts+27365, 0)
+			rtreeCheckAppendMsg(tls, bp+32, ts+27412, 0)
 		} else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).FbInt = libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)
 		}
@@ -124441,8 +124499,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			rtreeCheckNode(tls, bp+32, 0, uintptr(0), int64(1))
 		}
-		rtreeCheckCount(tls, bp+32, ts+27396, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
-		rtreeCheckCount(tls, bp+32, ts+27403, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27443, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27450, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
 	}
 
 	Xsqlite3_finalize(tls, (*RtreeCheck)(unsafe.Pointer(bp+32)).FpGetNode)
@@ -124450,7 +124508,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 + 40 + 1*8)))
 
 	if bEnd != 0 {
-		var rc int32 = Xsqlite3_exec(tls, db, ts+27411, uintptr(0), uintptr(0), uintptr(0))
+		var rc int32 = Xsqlite3_exec(tls, db, ts+27458, uintptr(0), uintptr(0), uintptr(0))
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).Frc = rc
 		}
@@ -124465,7 +124523,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 
 	if nArg != 1 && nArg != 2 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+27415, -1)
+			ts+27462, -1)
 	} else {
 		var rc int32
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
@@ -124483,7 +124541,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 				if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
 					return *(*uintptr)(unsafe.Pointer(bp))
 				}
-				return ts + 18012
+				return ts + 18059
 			}(), -1, libc.UintptrFromInt32(-1))
 		} else {
 			Xsqlite3_result_error_code(tls, ctx, rc)
@@ -124854,11 +124912,11 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var db uintptr = Xsqlite3_context_db_handle(tls, context)
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
-		Xsqlite3_str_append(tls, x, ts+27466, 1)
+		Xsqlite3_str_append(tls, x, ts+27513, 1)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27468, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27515, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27479, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27526, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -124878,19 +124936,19 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
 		var cSep uint8 = uint8('\'')
-		Xsqlite3_str_appendf(tls, x, ts+27490, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27537, 0)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27508, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27555, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 			cSep = uint8(' ')
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27516, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27563, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		for i = 1; i < argc; i++ {
 			var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 			if z != 0 && *(*uint8)(unsafe.Pointer(z)) != 0 {
-				Xsqlite3_str_appendf(tls, x, ts+27524, libc.VaList(bp+40, z))
+				Xsqlite3_str_appendf(tls, x, ts+27571, libc.VaList(bp+40, z))
 			}
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27528, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27575, 0)
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -125810,7 +125868,7 @@ __1:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+27541, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+27588, 0)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1)
 	ii = 3
@@ -125819,7 +125877,7 @@ __2:
 		goto __4
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+27563, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
+	Xsqlite3_str_appendf(tls, pSql, ts+27610, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
 	goto __3
 __3:
 	ii++
@@ -125827,7 +125885,7 @@ __3:
 	goto __4
 __4:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26630, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26677, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __5
@@ -126064,7 +126122,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 	}
 	if iFuncTerm >= 0 {
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum
-		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27567
+		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27614
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).FargvIndex = 1
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).Fomit = uint8(0)
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 300.0
@@ -126072,7 +126130,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 		return SQLITE_OK
 	}
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4
-	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27573
+	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27620
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000)
 	return SQLITE_OK
@@ -126184,7 +126242,7 @@ __1:
 	if !(*(*int32)(unsafe.Pointer(bp + 48)) == SQLITE_ERROR) {
 		goto __4
 	}
-	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27582, 0)
+	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27629, 0)
 __4:
 	;
 	goto geopoly_update_end
@@ -126316,14 +126374,14 @@ geopoly_update_end:
 func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 {
 	_ = pVtab
 	_ = nArg
-	if Xsqlite3_stricmp(tls, zName, ts+27622) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27669) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyOverlapFunc}))
 		*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
 		return SQLITE_INDEX_CONSTRAINT_FUNCTION
 	}
-	if Xsqlite3_stricmp(tls, zName, ts+27638) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27685) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyWithinFunc}))
@@ -126388,7 +126446,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 {
 			uintptr(0), aAgg[i].FxStep, aAgg[i].FxFinal)
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27653, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27700, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
 	}
 	return rc
 }
@@ -126400,25 +126458,25 @@ var aFunc = [12]struct {
 	F__ccgo_pad1 [6]byte
 	FzName       uintptr
 }{
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27661},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27674},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27687},
-	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27700},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27638},
-	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27712},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27622},
-	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27735},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27749},
-	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27762},
-	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27776},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27792},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27708},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27721},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27734},
+	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27747},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27685},
+	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27759},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27669},
+	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27782},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27796},
+	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27809},
+	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27823},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27839},
 }
 var aAgg = [1]struct {
 	FxStep  uintptr
 	FxFinal uintptr
 	FzName  uintptr
 }{
-	{FxStep: 0, FxFinal: 0, FzName: ts + 27804},
+	{FxStep: 0, FxFinal: 0, FzName: ts + 27851},
 }
 
 // Register the r-tree module with database handle db. This creates the
@@ -126428,26 +126486,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 {
 	var utf8 int32 = SQLITE_UTF8
 	var rc int32
 
-	rc = Xsqlite3_create_function(tls, db, ts+27823, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	rc = Xsqlite3_create_function(tls, db, ts+27870, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr)
 	}{rtreenode})), uintptr(0), uintptr(0))
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27833, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27880, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreedepth})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27844, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27891, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreecheck})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_REAL32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27567, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27614, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_INT32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27855, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27902, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		rc = sqlite3_geopoly_init(tls, db)
@@ -126501,7 +126559,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
 			Xsqlite3_result_error_nomem(tls, ctx)
 			rtreeMatchArgFree(tls, pBlob)
 		} else {
-			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25143, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
+			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25190, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
 		}
 	}
 }
@@ -126828,7 +126886,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 
 	nOut = rbuDeltaOutputSize(tls, aDelta, nDelta)
 	if nOut < 0 {
-		Xsqlite3_result_error(tls, context, ts+27865, -1)
+		Xsqlite3_result_error(tls, context, ts+27912, -1)
 		return
 	}
 
@@ -126839,7 +126897,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 		nOut2 = rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut)
 		if nOut2 != nOut {
 			Xsqlite3_free(tls, aOut)
-			Xsqlite3_result_error(tls, context, ts+27865, -1)
+			Xsqlite3_result_error(tls, context, ts+27912, -1)
 		} else {
 			Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		}
@@ -126940,7 +126998,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuObjIterClearStatements(tls, pIter)
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) {
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+27886, uintptr(0), uintptr(0), p+64)
+				ts+27933, uintptr(0), uintptr(0), p+64)
 		}
 
 		if rc == SQLITE_OK {
@@ -127004,7 +127062,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) {
 				Xsqlite3_result_text(tls, pCtx, zIn, -1, uintptr(0))
 			}
 		} else {
-			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25056, zIn, uint64(4)) == 0 {
+			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25103, zIn, uint64(4)) == 0 {
 				var i int32
 				for i = 4; int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) >= '0' && int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) <= '9'; i++ {
 				}
@@ -127025,16 +127083,16 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 
 	rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28057, libc.VaList(bp, func() uintptr {
+			ts+28104, libc.VaList(bp, func() uintptr {
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					return ts + 28207
+					return ts + 28254
 				}
 				return ts + 1554
 			}())))
 
 	if rc == SQLITE_OK {
 		rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64,
-			ts+28248)
+			ts+28295)
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1
@@ -127150,7 +127208,7 @@ func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28373, libc.VaList(bp, zTab)))
+			ts+28420, libc.VaList(bp, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) != SQLITE_ROW) {
 		goto __1
 	}
@@ -127168,7 +127226,7 @@ __2:
 	*(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), 1)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+1*8, p+64,
-		Xsqlite3_mprintf(tls, ts+28492, libc.VaList(bp+8, zTab)))
+		Xsqlite3_mprintf(tls, ts+28539, libc.VaList(bp+8, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) {
 		goto __3
 	}
@@ -127186,7 +127244,7 @@ __4:
 	}
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+2*8, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28513, libc.VaList(bp+16, zIdx)))
+			ts+28560, libc.VaList(bp+16, zIdx)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __7
 	}
@@ -127209,7 +127267,7 @@ __6:
 __5:
 	;
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+3*8, p+64,
-		Xsqlite3_mprintf(tls, ts+28564, libc.VaList(bp+24, zTab)))
+		Xsqlite3_mprintf(tls, ts+28611, libc.VaList(bp+24, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __10
 	}
@@ -127255,7 +127313,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		libc.Xmemcpy(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+16, p+64,
-			Xsqlite3_mprintf(tls, ts+28585, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28632, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0
@@ -127270,7 +127328,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 			libc.Xmemset(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0x01, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		}
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp+8, zIdx)))
+			Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp+8, zIdx)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
 			var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 1)
 			if iCid >= 0 {
@@ -127310,7 +127368,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+56, pIter+108)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19489, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19536, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
 			return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc
@@ -127320,18 +127378,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		}
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+64, p+64,
-			Xsqlite3_mprintf(tls, ts+28642, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
+			Xsqlite3_mprintf(tls, ts+28689, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 			rbuAllocateIterArrays(tls, p, pIter, nCol)
 		}
 		for i = 0; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && i < nCol; i++ {
 			var zName uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), i)
-			if Xsqlite3_strnicmp(tls, ts+28661, zName, 4) != 0 {
+			if Xsqlite3_strnicmp(tls, ts+28708, zName, 4) != 0 {
 				var zCopy uintptr = rbuStrndup(tls, zName, p+56)
 				*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol
 				*(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(libc.PostIncInt32(&(*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol, 1))*8)) = zCopy
-			} else if 0 == Xsqlite3_stricmp(tls, ts+28666, zName) {
+			} else if 0 == Xsqlite3_stricmp(tls, ts+28713, zName) {
 				bRbuRowid = 1
 			}
 		}
@@ -127343,18 +127401,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			bRbuRowid != libc.Bool32((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls,
-				ts+28676, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
+				ts+28723, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 					func() uintptr {
 						if bRbuRowid != 0 {
-							return ts + 28705
+							return ts + 28752
 						}
-						return ts + 28718
+						return ts + 28765
 					}()))
 		}
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-				Xsqlite3_mprintf(tls, ts+28727, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				Xsqlite3_mprintf(tls, ts+28774, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		}
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64))) {
 			var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 1)
@@ -127368,7 +127426,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			}
 			if i == (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28749,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28796,
 					libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName))
 			} else {
 				var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 5)
@@ -127415,7 +127473,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var i int32
 	for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 		var z uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-		zList = rbuMPrintf(tls, p, ts+28776, libc.VaList(bp, zList, zSep, z))
+		zList = rbuMPrintf(tls, p, ts+28823, libc.VaList(bp, zList, zSep, z))
 		zSep = ts + 14614
 	}
 	return zList
@@ -127433,7 +127491,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr,
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if int32(*(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zRet = rbuMPrintf(tls, p, ts+28785, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
+				zRet = rbuMPrintf(tls, p, ts+28832, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
 				zSep = zSeparator
 				break
 			}
@@ -127455,25 +127513,25 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32,
 	if bRowid != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+28798, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				ts+28845, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 			var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-			zRet = rbuMPrintf(tls, p, ts+28830, libc.VaList(bp+16, iMax))
+			zRet = rbuMPrintf(tls, p, ts+28877, libc.VaList(bp+16, iMax))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 	} else {
-		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+28853)
-		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28859, ts+28866, ts+4957)
+		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+28900)
+		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28906, ts+28913, ts+4957)
 		var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+1554)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 				Xsqlite3_mprintf(tls,
-					ts+28874,
+					ts+28921,
 					libc.VaList(bp+24, zSelect, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 				var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-				zRet = rbuMPrintf(tls, p, ts+28916, libc.VaList(bp+56, zList, zVal))
+				zRet = rbuMPrintf(tls, p, ts+28963, libc.VaList(bp+56, zList, zVal))
 			}
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 		}
@@ -127515,7 +127573,7 @@ func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	*(*uintptr)(unsafe.Pointer(bp + 176)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-		Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+		Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 __1:
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176)))) {
 		goto __2
@@ -127550,7 +127608,7 @@ __10:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 	goto __7
 __6:
-	zCol = ts + 28936
+	zCol = ts + 28983
 __7:
 	;
 	goto __5
@@ -127558,11 +127616,11 @@ __4:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 __5:
 	;
-	zLhs = rbuMPrintf(tls, p, ts+28944,
+	zLhs = rbuMPrintf(tls, p, ts+28991,
 		libc.VaList(bp+8, zLhs, zSep, zCol, zCollate))
-	zOrder = rbuMPrintf(tls, p, ts+28965,
+	zOrder = rbuMPrintf(tls, p, ts+29012,
 		libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate))
-	zSelect = rbuMPrintf(tls, p, ts+29001,
+	zSelect = rbuMPrintf(tls, p, ts+29048,
 		libc.VaList(bp+80, zSelect, zSep, iCol, zCol))
 	zSep = ts + 14614
 	iCol++
@@ -127582,7 +127640,7 @@ __11:
 	*(*uintptr)(unsafe.Pointer(bp + 184)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+184, p+64,
-		Xsqlite3_mprintf(tls, ts+29028,
+		Xsqlite3_mprintf(tls, ts+29075,
 			libc.VaList(bp+112, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 184)))) {
 		goto __13
@@ -127609,7 +127667,7 @@ __19:
 	;
 __18:
 	;
-	zVector = rbuMPrintf(tls, p, ts+29076, libc.VaList(bp+136, zVector, zSep, zQuoted))
+	zVector = rbuMPrintf(tls, p, ts+29123, libc.VaList(bp+136, zVector, zSep, zQuoted))
 	zSep = ts + 14614
 	goto __15
 __15:
@@ -127621,7 +127679,7 @@ __16:
 	if !!(bFailed != 0) {
 		goto __20
 	}
-	zRet = rbuMPrintf(tls, p, ts+29083, libc.VaList(bp+160, zLhs, zVector))
+	zRet = rbuMPrintf(tls, p, ts+29130, libc.VaList(bp+160, zLhs, zVector))
 __20:
 	;
 __13:
@@ -127654,7 +127712,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 	if rc == SQLITE_OK {
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200, p+64,
-			Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+			Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 	}
 
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200))) {
@@ -127666,7 +127724,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 		if iCid == -2 {
 			var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 0)
-			zRet = Xsqlite3_mprintf(tls, ts+29095, libc.VaList(bp+8, zRet, zCom,
+			zRet = Xsqlite3_mprintf(tls, ts+29142, libc.VaList(bp+8, zRet, zCom,
 				(*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FnSpan, (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FzSpan, zCollate))
 			zType = ts + 1554
 		} else {
@@ -127678,37 +127736,37 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 					zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 				} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					zCol = ts + 28936
+					zCol = ts + 28983
 				} else {
-					zCol = ts + 28666
+					zCol = ts + 28713
 				}
 				zType = ts + 1119
 			} else {
 				zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 				zType = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8))
 			}
-			zRet = Xsqlite3_mprintf(tls, ts+29117, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
+			zRet = Xsqlite3_mprintf(tls, ts+29164, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 5) != 0 {
 			var zOrder uintptr = func() uintptr {
 				if bDesc != 0 {
-					return ts + 28853
+					return ts + 28900
 				}
 				return ts + 1554
 			}()
-			zImpPK = Xsqlite3_mprintf(tls, ts+29137,
+			zImpPK = Xsqlite3_mprintf(tls, ts+29184,
 				libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder))
 		}
-		zImpCols = Xsqlite3_mprintf(tls, ts+29158,
+		zImpCols = Xsqlite3_mprintf(tls, ts+29205,
 			libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate))
 		zWhere = Xsqlite3_mprintf(tls,
-			ts+29191, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
+			ts+29238, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
 		if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) {
 			rc = SQLITE_NOMEM
 		}
 		zCom = ts + 14614
-		zAnd = ts + 21525
+		zAnd = ts + 21572
 		nBind++
 	}
 
@@ -127747,9 +127805,9 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = Xsqlite3_mprintf(tls, ts+29215, libc.VaList(bp, zList, zS, zObj, zCol))
+				zList = Xsqlite3_mprintf(tls, ts+29262, libc.VaList(bp, zList, zS, zObj, zCol))
 			} else {
-				zList = Xsqlite3_mprintf(tls, ts+29227, libc.VaList(bp+32, zList, zS))
+				zList = Xsqlite3_mprintf(tls, ts+29274, libc.VaList(bp+32, zList, zS))
 			}
 			zS = ts + 14614
 			if zList == uintptr(0) {
@@ -127759,7 +127817,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-			zList = rbuMPrintf(tls, p, ts+29236, libc.VaList(bp+48, zList, zObj))
+			zList = rbuMPrintf(tls, p, ts+29283, libc.VaList(bp+48, zList, zObj))
 		}
 	}
 	return zList
@@ -127771,18 +127829,18 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	var zList uintptr = uintptr(0)
 	if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-		zList = rbuMPrintf(tls, p, ts+29251, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
+		zList = rbuMPrintf(tls, p, ts+29298, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
 	} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
 		var zSep uintptr = ts + 1554
 		var i int32
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
-				zList = rbuMPrintf(tls, p, ts+29265, libc.VaList(bp+8, zList, zSep, i, i+1))
-				zSep = ts + 21525
+				zList = rbuMPrintf(tls, p, ts+29312, libc.VaList(bp+8, zList, zSep, i, i+1))
+				zSep = ts + 21572
 			}
 		}
 		zList = rbuMPrintf(tls, p,
-			ts+29277, libc.VaList(bp+40, zList))
+			ts+29324, libc.VaList(bp+40, zList))
 
 	} else {
 		var zSep uintptr = ts + 1554
@@ -127790,8 +127848,8 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = rbuMPrintf(tls, p, ts+29327, libc.VaList(bp+48, zList, zSep, zCol, i+1))
-				zSep = ts + 21525
+				zList = rbuMPrintf(tls, p, ts+29374, libc.VaList(bp+48, zList, zSep, zCol, i+1))
+				zSep = ts + 21572
 			}
 		}
 	}
@@ -127800,7 +127858,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 func rbuBadControlError(tls *libc.TLS, p uintptr) {
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29340, 0)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29387, 0)
 }
 
 func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr {
@@ -127818,15 +127876,15 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr
 			for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 				var c uint8 = *(*uint8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4)))))
 				if int32(c) == 'x' {
-					zList = rbuMPrintf(tls, p, ts+29327,
+					zList = rbuMPrintf(tls, p, ts+29374,
 						libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14614
 				} else if int32(c) == 'd' {
-					zList = rbuMPrintf(tls, p, ts+29366,
+					zList = rbuMPrintf(tls, p, ts+29413,
 						libc.VaList(bp+32, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14614
 				} else if int32(c) == 'f' {
-					zList = rbuMPrintf(tls, p, ts+29396,
+					zList = rbuMPrintf(tls, p, ts+29443,
 						libc.VaList(bp+72, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14614
 				}
@@ -127863,19 +127921,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var z uintptr = uintptr(0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		var zSep uintptr = ts + 29433
+		var zSep uintptr = ts + 29480
 		*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 		*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56, p+64,
-			Xsqlite3_mprintf(tls, ts+28585, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28632, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) {
 			var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 3)
 			if zOrig != 0 && libc.Xstrcmp(tls, zOrig, ts+16155) == 0 {
 				var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 1)
 				if zIdx != 0 {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-						Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp+8, zIdx)))
+						Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp+8, zIdx)))
 				}
 				break
 			}
@@ -127887,15 +127945,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 				var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 2)
 				var zDesc uintptr
 				if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 3) != 0 {
-					zDesc = ts + 28853
+					zDesc = ts + 28900
 				} else {
 					zDesc = ts + 1554
 				}
-				z = rbuMPrintf(tls, p, ts+29446, libc.VaList(bp+16, z, zSep, zCol, zDesc))
+				z = rbuMPrintf(tls, p, ts+29493, libc.VaList(bp+16, z, zSep, zCol, zDesc))
 				zSep = ts + 14614
 			}
 		}
-		z = rbuMPrintf(tls, p, ts+29457, libc.VaList(bp+48, z))
+		z = rbuMPrintf(tls, p, ts+29504, libc.VaList(bp+48, z))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
 	return z
@@ -127915,7 +127973,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		var zPk uintptr = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168, p+64,
-			ts+29461)
+			ts+29508)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168)), 1, tnum)
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168))) {
@@ -127924,7 +127982,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		}
 		if zIdx != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-				Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp, zIdx)))
+				Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp, zIdx)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168)))
 
@@ -127934,23 +127992,23 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 				var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 1)
 				var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 3)
 				var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 4)
-				zCols = rbuMPrintf(tls, p, ts+29511, libc.VaList(bp+8, zCols, zComma,
+				zCols = rbuMPrintf(tls, p, ts+29558, libc.VaList(bp+8, zCols, zComma,
 					iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate))
-				zPk = rbuMPrintf(tls, p, ts+29533, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
+				zPk = rbuMPrintf(tls, p, ts+29580, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
 					if bDesc != 0 {
-						return ts + 28853
+						return ts + 28900
 					}
 					return ts + 1554
 				}()))
 				zComma = ts + 14614
 			}
 		}
-		zCols = rbuMPrintf(tls, p, ts+29543, libc.VaList(bp+80, zCols))
+		zCols = rbuMPrintf(tls, p, ts+29590, libc.VaList(bp+80, zCols))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176)))
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 1, tnum))
 		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+29558,
+			ts+29605,
 			libc.VaList(bp+120, zCols, zPk))
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 0, 0))
 	}
@@ -127976,13 +128034,13 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192, uintptr(0), uintptr(0), uintptr(0))
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 {
-				zPk = ts + 29620
+				zPk = ts + 29667
 			}
-			zSql = rbuMPrintf(tls, p, ts+29633,
+			zSql = rbuMPrintf(tls, p, ts+29680,
 				libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192)),
 					func() uintptr {
 						if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 {
-							return ts + 29660
+							return ts + 29707
 						}
 						return ts + 1554
 					}()))
@@ -127992,16 +128050,16 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
 			var zPk uintptr = rbuWithoutRowidPK(tls, p, pIter)
 			if zPk != 0 {
-				zSql = rbuMPrintf(tls, p, ts+29670, libc.VaList(bp+88, zSql, zPk))
+				zSql = rbuMPrintf(tls, p, ts+29717, libc.VaList(bp+88, zSql, zPk))
 			}
 		}
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 1, tnum))
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29677,
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29724,
 			libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql,
 				func() uintptr {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
-						return ts + 29709
+						return ts + 29756
 					}
 					return ts + 1554
 				}()))
@@ -128018,7 +128076,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis
 	if zBind != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls,
-				ts+29724,
+				ts+29771,
 				libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind)))
 	}
 }
@@ -128055,7 +128113,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(bp + 8)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64,
-			ts+29781)
+			ts+29828)
 	}
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		var rc2 int32
@@ -128160,7 +128218,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 		var zLimit uintptr = uintptr(0)
 
 		if nOffset != 0 {
-			zLimit = Xsqlite3_mprintf(tls, ts+29847, libc.VaList(bp, nOffset))
+			zLimit = Xsqlite3_mprintf(tls, ts+29894, libc.VaList(bp, nOffset))
 			if !(zLimit != 0) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
 			}
@@ -128183,7 +128241,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 0, 1))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 1, tnum))
 			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+29867,
+				ts+29914,
 				libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600)), *(*uintptr)(unsafe.Pointer(bp + 608))))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 0, 0))
 
@@ -128191,13 +128249,13 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64,
-					Xsqlite3_mprintf(tls, ts+29932, libc.VaList(bp+128, zTbl, zBind)))
+					Xsqlite3_mprintf(tls, ts+29979, libc.VaList(bp+128, zTbl, zBind)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64,
-					Xsqlite3_mprintf(tls, ts+29968, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
+					Xsqlite3_mprintf(tls, ts+30015, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
 			}
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -128213,7 +128271,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					}
 
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30002,
+						ts+30049,
 						libc.VaList(bp+160, zCollist,
 							(*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
@@ -128221,9 +128279,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								if zStart != 0 {
 									return func() uintptr {
 										if zPart != 0 {
-											return ts + 30063
+											return ts + 30110
 										}
-										return ts + 30067
+										return ts + 30114
 									}()
 								}
 								return ts + 1554
@@ -128232,20 +128290,20 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					Xsqlite3_free(tls, zStart)
 				} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30073,
+						ts+30120,
 						libc.VaList(bp+216, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart, zCollist, zLimit))
 				} else {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30134,
+						ts+30181,
 						libc.VaList(bp+264, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart,
 							zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
 							func() uintptr {
 								if zPart != 0 {
-									return ts + 30063
+									return ts + 30110
 								}
-								return ts + 30067
+								return ts + 30114
 							}(),
 							zCollist, zLimit))
 				}
@@ -128282,16 +128340,16 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB {
 					return ts + 1554
 				}
-				return ts + 30293
+				return ts + 30340
 			}()
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30302,
+						ts+30349,
 						libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr {
 							if bRbuRowid != 0 {
-								return ts + 30338
+								return ts + 30385
 							}
 							return ts + 1554
 						}(), zBindings)))
@@ -128300,32 +128358,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30348, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
+						ts+30395, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 				var zRbuRowid uintptr = ts + 1554
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-					zRbuRowid = ts + 30376
+					zRbuRowid = ts + 30423
 				}
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-					ts+30388, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
+					ts+30435, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
 						if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
-							return ts + 30464
+							return ts + 30511
 						}
 						return ts + 1554
 					}(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-					ts+30481,
+					ts+30528,
 					libc.VaList(bp+440, zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zNewlist))
 
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-						ts+30780,
+						ts+30827,
 						libc.VaList(bp+512, zWrite, zTbl, zNewlist))
 				}
 
@@ -128338,9 +128396,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				var zOrder uintptr = uintptr(0)
 				if bRbuRowid != 0 {
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-						zRbuRowid = ts + 30879
+						zRbuRowid = ts + 30926
 					} else {
-						zRbuRowid = ts + 30889
+						zRbuRowid = ts + 30936
 					}
 				}
 
@@ -128353,7 +128411,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 						}
 					}
 					if bRbuRowid != 0 {
-						zOrder = rbuMPrintf(tls, p, ts+28936, 0)
+						zOrder = rbuMPrintf(tls, p, ts+28983, 0)
 					} else {
 						zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+1554)
 					}
@@ -128362,11 +128420,11 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz,
 						Xsqlite3_mprintf(tls,
-							ts+30900,
+							ts+30947,
 							libc.VaList(bp+536, zCollist,
 								func() uintptr {
 									if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-										return ts + 30948
+										return ts + 30995
 									}
 									return ts + 1554
 								}(),
@@ -128379,7 +128437,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								}(),
 								func() uintptr {
 									if zOrder != 0 {
-										return ts + 22859
+										return ts + 22906
 									}
 									return ts + 1554
 								}(), zOrder,
@@ -128447,9 +128505,9 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp
 			var zPrefix uintptr = ts + 1554
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB {
-				zPrefix = ts + 30293
+				zPrefix = ts + 30340
 			}
-			zUpdate = Xsqlite3_mprintf(tls, ts+30954,
+			zUpdate = Xsqlite3_mprintf(tls, ts+31001,
 				libc.VaList(bp, zPrefix, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere))
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate)
@@ -128508,7 +128566,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr {
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 16)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8, p+64,
-		Xsqlite3_mprintf(tls, ts+30984, libc.VaList(bp, p+48)))
+		Xsqlite3_mprintf(tls, ts+31031, libc.VaList(bp, p+48)))
 	for *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 		switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0) {
 		case RBU_STATE_STAGE:
@@ -128581,18 +128639,18 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441, SQLITE_FCNTL_RBUCNT, p)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) {
 			var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441)
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31014, libc.VaList(bp, zFile, zFile))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31061, libc.VaList(bp, zFile, zFile))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 {
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31042, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31089, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
 		libc.Xmemcpy(tls, p+48, ts+3286, uint64(4))
 	} else {
 		libc.Xmemcpy(tls, p+48, ts+6441, uint64(4))
 	}
 
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31060, libc.VaList(bp+24, p+48))
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31107, libc.VaList(bp+24, p+48))
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		var bOpen int32 = 0
@@ -128632,11 +128690,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				return
 			}
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31126, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31173, 0)
 		} else {
 			var zTarget uintptr
 			var zExtra uintptr = uintptr(0)
-			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24206, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
+			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24253, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
 				zExtra = (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5
 				for *(*uint8)(unsafe.Pointer(zExtra)) != 0 {
 					if int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zExtra, 1)))) == '?' {
@@ -128648,13 +128706,13 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				}
 			}
 
-			zTarget = Xsqlite3_mprintf(tls, ts+31158,
+			zTarget = Xsqlite3_mprintf(tls, ts+31205,
 				libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441),
 					func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1554
 						}
-						return ts + 31190
+						return ts + 31237
 					}(), func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1554
@@ -128673,21 +128731,21 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31192, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31239, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTmpInsertFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31207, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31254, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuFossilDeltaFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+31224, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31271, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTargetNameFunc})), uintptr(0), uintptr(0))
 	}
@@ -128695,7 +128753,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, SQLITE_FCNTL_RBU, p)
 	}
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31240, 0)
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31287, 0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, SQLITE_FCNTL_RBU, p)
@@ -128703,7 +128761,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31268, 0)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31315, 0)
 	}
 }
 
@@ -128732,14 +128790,14 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
 	if pState == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = 0
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31240, uintptr(0), uintptr(0), uintptr(0))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31287, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var rc2 int32
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CAPTURE
-		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31286, uintptr(0), uintptr(0), uintptr(0))
+		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31333, uintptr(0), uintptr(0), uintptr(0))
 		if rc2 != SQLITE_NOTICE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 		}
@@ -128865,7 +128923,7 @@ func rbuLockDatabase(tls *libc.TLS, db uintptr) int32 {
 
 func rbuExclusiveCheckpoint(tls *libc.TLS, db uintptr) int32 {
 	var zUri uintptr = Xsqlite3_db_filename(tls, db, uintptr(0))
-	return Xsqlite3_uri_boolean(tls, zUri, ts+31321, 0)
+	return Xsqlite3_uri_boolean(tls, zUri, ts+31368, 0)
 }
 
 func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
@@ -128880,8 +128938,8 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441)
 	}
-	zOal = Xsqlite3_mprintf(tls, ts+31346, libc.VaList(bp, zMove))
-	zWal = Xsqlite3_mprintf(tls, ts+31353, libc.VaList(bp+8, zMove))
+	zOal = Xsqlite3_mprintf(tls, ts+31393, libc.VaList(bp, zMove))
+	zWal = Xsqlite3_mprintf(tls, ts+31400, libc.VaList(bp+8, zMove))
 
 	if zWal == uintptr(0) || zOal == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
@@ -128998,7 +129056,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) {
 			(*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 &&
 			Xsqlite3_column_type(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect, i) == SQLITE_NULL {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_MISMATCH
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23844, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23891, 0)
 			return
 		}
 
@@ -129091,7 +129149,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 		var iCookie int32 = 1000000
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8, p+64,
-			ts+31360)
+			ts+31407)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 				iCookie = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0)
@@ -129099,7 +129157,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8)))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31382, libc.VaList(bp, iCookie+1))
+			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31429, libc.VaList(bp, iCookie+1))
 		}
 	}
 }
@@ -129120,7 +129178,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) {
 
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+31409,
+				ts+31456,
 				libc.VaList(bp, p+48,
 					RBU_STATE_STAGE, eStage,
 					RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl,
@@ -129150,9 +129208,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+31567, libc.VaList(bp, zPragma)))
+			Xsqlite3_mprintf(tls, ts+31614, libc.VaList(bp, zPragma)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31582,
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31629,
 				libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 0)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -129166,10 +129224,10 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 
-	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31602, uintptr(0), uintptr(0), p+64)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31649, uintptr(0), uintptr(0), p+64)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+31627)
+			ts+31674)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -129183,12 +129241,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+31735)
+			ts+31782)
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64,
-			ts+31800)
+			ts+31847)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -129200,7 +129258,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
 	}
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31844, uintptr(0), uintptr(0), p+64)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31891, uintptr(0), uintptr(0), p+64)
 	}
 
 	rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp)))
@@ -129228,7 +129286,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 {
 						if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 							rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-								ts+31869, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
+								ts+31916, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 						}
 					} else {
 						rbuObjIterPrepareAll(tls, p, pIter, 0)
@@ -129350,7 +129408,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) {
 
 		if rc == SQLITE_OK && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) {
 			rc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31897, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31944, 0)
 		}
 
 		if rc == SQLITE_OK {
@@ -129366,7 +129424,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	var zOal uintptr = rbuMPrintf(tls, p, ts+31346, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
+	var zOal uintptr = rbuMPrintf(tls, p, ts+31393, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
 	if zOal != 0 {
 		*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, SQLITE_FCNTL_VFS_POINTER, bp+8)
@@ -129383,7 +129441,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) {
 	defer tls.Free(76)
 
 	Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8)
-	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]uint8{})), bp+12, ts+31922, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
+	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]uint8{})), bp+12, ts+31969, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12, uintptr(0))
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12)
@@ -129417,7 +129475,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) {
 
 	rc = prepareFreeAndCollectError(tls, db, bp+8, bp+16,
 		Xsqlite3_mprintf(tls,
-			ts+31933, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
+			ts+31980, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
 	if rc != SQLITE_OK {
 		Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 16)), -1)
 	} else {
@@ -129447,13 +129505,13 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+32005, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+32052, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuIndexCntFunc})), uintptr(0), uintptr(0))
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32019)
+				ts+32066)
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
@@ -129464,7 +129522,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && bExists != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32076)
+				ts+32123)
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
@@ -129538,7 +129596,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd != 0 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32150, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32197, 0)
 			} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_MOVE {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CKPT
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FnStep = 0
@@ -129556,12 +129614,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 			}()
 			if (*Rbu_file)(unsafe.Pointer(pFd)).FiCookie != (*RbuState)(unsafe.Pointer(pState)).FiCookie {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32182,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32229,
 					libc.VaList(bp+8, func() uintptr {
 						if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-							return ts + 32214
+							return ts + 32261
 						}
-						return ts + 32221
+						return ts + 32268
 					}()))
 			}
 		}
@@ -129585,14 +129643,14 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32228, uintptr(0), uintptr(0), p+64)
+						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32275, uintptr(0), uintptr(0), p+64)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 						var frc int32 = Xsqlite3_file_control(tls, db, ts+6441, SQLITE_FCNTL_ZIPVFS, uintptr(0))
 						if frc == SQLITE_OK {
 							(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls,
-								db, ts+32244, uintptr(0), uintptr(0), p+64)
+								db, ts+32291, uintptr(0), uintptr(0), p+64)
 						}
 					}
 
@@ -129646,7 +129704,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr
 	}
 	if zState != 0 {
 		var n int32 = int32(libc.Xstrlen(tls, zState))
-		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32268, zState+uintptr(n-7), uint64(7)) {
+		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32315, zState+uintptr(n-7), uint64(7)) {
 			return rbuMisuseError(tls)
 		}
 	}
@@ -129673,7 +129731,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) {
 		var i uint32
 		var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg)
 		for i = uint32(0); Size_t(i) < nErrmsg-uint64(8); i++ {
-			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30293, uint64(8)) == 0 {
+			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30340, uint64(8)) == 0 {
 				var nDel int32 = 8
 				for int32(*(*uint8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= '0' && int32(*(*uint8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= '9' {
 					nDel++
@@ -129709,7 +129767,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 {
 		rbuObjIterFinalize(tls, p+80)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 {
-			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32276, uintptr(0), uintptr(0), uintptr(0))
+			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32323, uintptr(0), uintptr(0), uintptr(0))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE && rc2 != SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 			}
@@ -129828,12 +129886,12 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 				zBegin = ts + 14503
 			} else {
-				zBegin = ts + 32228
+				zBegin = ts + 32275
 			}
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32228, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32275, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -130179,7 +130237,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 			})(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16)
 			if rc == SQLITE_OK {
 				rc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32303, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32350, 0)
 			} else if rc == SQLITE_NOTFOUND {
 				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p
 				(*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu
@@ -130204,7 +130262,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 	if rc == SQLITE_OK && op == SQLITE_FCNTL_VFSNAME {
 		var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs
 		var zIn uintptr = *(*uintptr)(unsafe.Pointer(pArg))
-		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32326, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
+		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32373, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
 		*(*uintptr)(unsafe.Pointer(pArg)) = zOut
 		if zOut == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -130364,7 +130422,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags
 	}
 
 	if oflags&SQLITE_OPEN_MAIN_DB != 0 &&
-		Xsqlite3_uri_boolean(tls, zName, ts+32337, 0) != 0 {
+		Xsqlite3_uri_boolean(tls, zName, ts+32384, 0) != 0 {
 		oflags = SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE
 		zOpen = uintptr(0)
 	}
@@ -131193,7 +131251,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 		rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0))
 		if rc == SQLITE_OK {
 			zPragma = Xsqlite3_mprintf(tls,
-				ts+32348, 0)
+				ts+32395, 0)
 		} else if rc == SQLITE_ERROR {
 			zPragma = Xsqlite3_mprintf(tls, ts+1554, 0)
 		} else {
@@ -131206,7 +131264,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 			return rc
 		}
 	} else {
-		zPragma = Xsqlite3_mprintf(tls, ts+32469, libc.VaList(bp, zDb, zThis))
+		zPragma = Xsqlite3_mprintf(tls, ts+32516, libc.VaList(bp, zDb, zThis))
 	}
 	if !(zPragma != 0) {
 		*(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0)
@@ -131886,9 +131944,9 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr,
 
 	for i = 0; i < nCol; i++ {
 		if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
-			zRet = Xsqlite3_mprintf(tls, ts+32498,
+			zRet = Xsqlite3_mprintf(tls, ts+32545,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 21525
+			zSep = ts + 21572
 			if zRet == uintptr(0) {
 				break
 			}
@@ -131911,9 +131969,9 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 		if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 {
 			bHave = 1
 			zRet = Xsqlite3_mprintf(tls,
-				ts+32532,
+				ts+32579,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 32573
+			zSep = ts + 32620
 			if zRet == uintptr(0) {
 				break
 			}
@@ -131921,7 +131979,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 	}
 
 	if bHave == 0 {
-		zRet = Xsqlite3_mprintf(tls, ts+7530, 0)
+		zRet = Xsqlite3_mprintf(tls, ts+7519, 0)
 	}
 
 	return zRet
@@ -131932,7 +131990,7 @@ func sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, zTbl uintpt
 	defer tls.Free(40)
 
 	var zRet uintptr = Xsqlite3_mprintf(tls,
-		ts+32578,
+		ts+32625,
 		libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr))
 	return zRet
 }
@@ -131975,7 +132033,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro
 		rc = SQLITE_NOMEM
 	} else {
 		var zStmt uintptr = Xsqlite3_mprintf(tls,
-			ts+32656,
+			ts+32703,
 			libc.VaList(bp, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2))
 		if zStmt == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -132102,7 +132160,7 @@ __6:
 	if !(pzErrMsg != 0) {
 		goto __16
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32709, 0)
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32756, 0)
 __16:
 	;
 	rc = SQLITE_SCHEMA
@@ -132578,7 +132636,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 
 	if 0 == Xsqlite3_stricmp(tls, ts+11348, zTab) {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+32736, libc.VaList(bp, zDb))
+			ts+32783, libc.VaList(bp, zDb))
 		if zSql == uintptr(0) {
 			*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_NOMEM
 		}
@@ -132587,18 +132645,18 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 		var zSep uintptr = ts + 1554
 		*(*SessionBuffer)(unsafe.Pointer(bp + 8)) = SessionBuffer{}
 
-		sessionAppendStr(tls, bp+8, ts+32846, bp+24)
+		sessionAppendStr(tls, bp+8, ts+32893, bp+24)
 		sessionAppendIdent(tls, bp+8, zDb, bp+24)
 		sessionAppendStr(tls, bp+8, ts+1567, bp+24)
 		sessionAppendIdent(tls, bp+8, zTab, bp+24)
-		sessionAppendStr(tls, bp+8, ts+32861, bp+24)
+		sessionAppendStr(tls, bp+8, ts+32908, bp+24)
 		for i = 0; i < nCol; i++ {
 			if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
 				sessionAppendStr(tls, bp+8, zSep, bp+24)
 				sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+24)
-				sessionAppendStr(tls, bp+8, ts+32869, bp+24)
+				sessionAppendStr(tls, bp+8, ts+32916, bp+24)
 				sessionAppendInteger(tls, bp+8, i+1, bp+24)
-				zSep = ts + 21525
+				zSep = ts + 21572
 			}
 		}
 		zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8)).FaBuf
@@ -132707,7 +132765,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 {
 		return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc
 	}
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32875, uintptr(0), uintptr(0), uintptr(0))
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32922, uintptr(0), uintptr(0), uintptr(0))
 	if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
@@ -132799,7 +132857,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	}
 
 	Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24)).FaBuf)
-	Xsqlite3_exec(tls, db, ts+32895, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+32942, uintptr(0), uintptr(0), uintptr(0))
 	Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db))
 	return *(*int32)(unsafe.Pointer(bp + 40))
 }
@@ -133062,7 +133120,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 		rc = sessionInputBuffer(tls, pIn, 9)
 		if rc == SQLITE_OK {
 			if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData {
-				rc = Xsqlite3CorruptError(tls, 219078)
+				rc = Xsqlite3CorruptError(tls, 219169)
 			} else {
 				eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1)))))
 
@@ -133085,7 +133143,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 				rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
 				if rc == SQLITE_OK {
 					if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext {
-						rc = Xsqlite3CorruptError(tls, 219098)
+						rc = Xsqlite3CorruptError(tls, 219189)
 					} else {
 						var enc U8 = func() uint8 {
 							if eType == SQLITE_TEXT {
@@ -133127,7 +133185,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in
 		nRead = nRead + sessionVarintGet(tls, (*SessionInput)(unsafe.Pointer(pIn)).FaData+uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext+nRead), bp)
 
 		if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > 65536 {
-			rc = Xsqlite3CorruptError(tls, 219152)
+			rc = Xsqlite3CorruptError(tls, 219243)
 		} else {
 			rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100)
 			nRead = nRead + *(*int32)(unsafe.Pointer(bp))
@@ -133188,7 +133246,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 {
 			(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
 			sessionBufferGrow(tls, p+72, int64(nByte), bp+4)
 		} else {
-			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219240)
+			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219331)
 		}
 	}
 
@@ -133262,13 +133320,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 	}
 
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219326))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219417))
 	}
 
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op)
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))))
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219332))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219423))
 	}
 
 	if paRec != 0 {
@@ -133330,7 +133388,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 				if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8))
 					if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) {
-						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219376))
+						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219467))
 					}
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0)
 				}
@@ -133703,7 +133761,7 @@ __27:
 	goto __6
 
 __11:
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219741)
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219832)
 	goto finished_invert
 __6:
 	;
@@ -133882,34 +133940,34 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32,
 				(*SessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24
 				libc.Xmemcpy(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(unsafe.Sizeof(U32(0))))
 
-				sessionAppendStr(tls, bp, ts+32913, bp+16)
+				sessionAppendStr(tls, bp, ts+32960, bp+16)
 				sessionAppendIdent(tls, bp, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+16)
-				sessionAppendStr(tls, bp, ts+32926, bp+16)
+				sessionAppendStr(tls, bp, ts+32973, bp+16)
 
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-						sessionAppendStr(tls, bp, ts+32932, bp+16)
+						sessionAppendStr(tls, bp, ts+32979, bp+16)
 						sessionAppendInteger(tls, bp, ii*2+1, bp+16)
 						zSep = ts + 14614
 					}
 				}
 
 				zSep = ts + 1554
-				sessionAppendStr(tls, bp, ts+32861, bp+16)
+				sessionAppendStr(tls, bp, ts+32908, bp+16)
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						if bStat1 != 0 && ii == 1 {
 							sessionAppendStr(tls, bp,
-								ts+32937, bp+16)
+								ts+32984, bp+16)
 						} else {
 							sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-							sessionAppendStr(tls, bp, ts+32869, bp+16)
+							sessionAppendStr(tls, bp, ts+32916, bp+16)
 							sessionAppendInteger(tls, bp, ii*2+2, bp+16)
 						}
-						zSep = ts + 21525
+						zSep = ts + 21572
 					}
 				}
 
@@ -133961,34 +134019,34 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 	var nPk int32 = 0
 
-	sessionAppendStr(tls, bp, ts+33012, bp+16)
+	sessionAppendStr(tls, bp, ts+33059, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+32861, bp+16)
+	sessionAppendStr(tls, bp, ts+32908, bp+16)
 
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 			nPk++
 			sessionAppendStr(tls, bp, zSep, bp+16)
 			sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-			sessionAppendStr(tls, bp, ts+32932, bp+16)
+			sessionAppendStr(tls, bp, ts+32979, bp+16)
 			sessionAppendInteger(tls, bp, i+1, bp+16)
-			zSep = ts + 21525
+			zSep = ts + 21572
 		}
 	}
 
 	if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol {
-		sessionAppendStr(tls, bp, ts+33030, bp+16)
+		sessionAppendStr(tls, bp, ts+33077, bp+16)
 		sessionAppendInteger(tls, bp, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol+1, bp+16)
-		sessionAppendStr(tls, bp, ts+32573, bp+16)
+		sessionAppendStr(tls, bp, ts+32620, bp+16)
 
 		zSep = ts + 1554
 		for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 			if !(int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i)))) != 0) {
 				sessionAppendStr(tls, bp, zSep, bp+16)
 				sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-				sessionAppendStr(tls, bp, ts+32869, bp+16)
+				sessionAppendStr(tls, bp, ts+32916, bp+16)
 				sessionAppendInteger(tls, bp, i+1, bp+16)
-				zSep = ts + 33038
+				zSep = ts + 33085
 			}
 		}
 		sessionAppendStr(tls, bp, ts+4957, bp+16)
@@ -134015,9 +134073,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	var i int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 
-	sessionAppendStr(tls, bp, ts+33043, bp+16)
+	sessionAppendStr(tls, bp, ts+33090, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+21531, bp+16)
+	sessionAppendStr(tls, bp, ts+21578, bp+16)
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if i != 0 {
 			sessionAppendStr(tls, bp, ts+14614, bp+16)
@@ -134025,9 +134083,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 		sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
 	}
 
-	sessionAppendStr(tls, bp, ts+33061, bp+16)
+	sessionAppendStr(tls, bp, ts+33108, bp+16)
 	for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
-		sessionAppendStr(tls, bp, ts+33072, bp+16)
+		sessionAppendStr(tls, bp, ts+33119, bp+16)
 	}
 	sessionAppendStr(tls, bp, ts+4957, bp+16)
 
@@ -134046,11 +134104,11 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 {
 	var rc int32 = sessionSelectRow(tls, db, ts+11348, p)
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+16,
-			ts+33076)
+			ts+33123)
 	}
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+8,
-			ts+33189)
+			ts+33236)
 	}
 	return rc
 }
@@ -134078,7 +134136,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab
 				f func(*libc.TLS, uintptr, int32, uintptr) int32
 			})(unsafe.Pointer(&struct{ uintptr }{xValue})).f(tls, pIter, i, bp)
 			if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
-				rc = Xsqlite3CorruptError(tls, 220219)
+				rc = Xsqlite3CorruptError(tls, 220310)
 			} else {
 				rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp)))
 			}
@@ -134331,7 +134389,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 		if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
 			rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 		} else if *(*int32)(unsafe.Pointer(bp)) != 0 {
-			rc = Xsqlite3_exec(tls, db, ts+33333, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33380, uintptr(0), uintptr(0), uintptr(0))
 			if rc == SQLITE_OK {
 				rc = sessionBindRow(tls, pIter,
 					*(*uintptr)(unsafe.Pointer(&struct {
@@ -134347,7 +134405,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 				rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 			}
 			if rc == SQLITE_OK {
-				rc = Xsqlite3_exec(tls, db, ts+33354, uintptr(0), uintptr(0), uintptr(0))
+				rc = Xsqlite3_exec(tls, db, ts+33401, uintptr(0), uintptr(0), uintptr(0))
 			}
 		}
 	}
@@ -134420,10 +134478,10 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 	(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FbInvertConstraints = libc.BoolInt32(!!(flags&SQLITE_CHANGESETAPPLY_INVERT != 0))
 	Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db))
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
-		rc = Xsqlite3_exec(tls, db, ts+33373, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33420, uintptr(0), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_exec(tls, db, ts+33399, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33446, uintptr(0), uintptr(0), uintptr(0))
 	}
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3changeset_next(tls, pIter) {
 		Xsqlite3changeset_op(tls, pIter, bp+176, bp+184, bp+188, uintptr(0))
@@ -134482,16 +134540,16 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 				if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol == 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33429, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+33476, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol < *(*int32)(unsafe.Pointer(bp + 184)) {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33473,
+						ts+33520,
 						libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 200)), (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol, *(*int32)(unsafe.Pointer(bp + 184))))
 				} else if *(*int32)(unsafe.Pointer(bp + 184)) < nMinCol || libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 192)), uint64(*(*int32)(unsafe.Pointer(bp + 184)))) != 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33544, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+33591, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else {
 					(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FnCol = *(*int32)(unsafe.Pointer(bp + 184))
 					if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), ts+11348) {
@@ -134545,14 +134603,14 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 			}
 		}
 	}
-	Xsqlite3_exec(tls, db, ts+33604, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+33651, uintptr(0), uintptr(0), uintptr(0))
 
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, db, ts+33634, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33681, uintptr(0), uintptr(0), uintptr(0))
 		} else {
-			Xsqlite3_exec(tls, db, ts+33658, uintptr(0), uintptr(0), uintptr(0))
-			Xsqlite3_exec(tls, db, ts+33634, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33705, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33681, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -135800,7 +135858,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) {
 		fts5yy_pop_parser_stack(tls, fts5yypParser)
 	}
 
-	sqlite3Fts5ParseError(tls, pParse, ts+33686, 0)
+	sqlite3Fts5ParseError(tls, pParse, ts+33733, 0)
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -136088,7 +136146,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32
 
 	_ = fts5yymajor
 	sqlite3Fts5ParseError(tls,
-		pParse, ts+33714, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
+		pParse, ts+33761, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -136275,7 +136333,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int
 		if n < 0 {
 			n = int32(libc.Xstrlen(tls, z))
 		}
-		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33745, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
+		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33792, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
 		if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) {
 			*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 		}
@@ -136343,7 +136401,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp
 	var iCol int32
 
 	if nVal != 3 {
-		var zErr uintptr = ts + 33752
+		var zErr uintptr = ts + 33799
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -136525,7 +136583,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
 	var nCol int32
 
 	if nVal != 5 {
-		var zErr uintptr = ts + 33802
+		var zErr uintptr = ts + 33849
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -136849,13 +136907,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(96)
 
 	*(*[3]Builtin)(unsafe.Pointer(bp)) = [3]Builtin{
-		{FzFunc: ts + 33850, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33897, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5SnippetFunction}))},
-		{FzFunc: ts + 33858, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33905, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5HighlightFunction}))},
-		{FzFunc: ts + 33868, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33915, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5Bm25Function}))},
 	}
@@ -137406,7 +137464,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 	var nCmd int32 = int32(libc.Xstrlen(tls, zCmd))
-	if Xsqlite3_strnicmp(tls, ts+33873, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+33920, zCmd, nCmd) == 0 {
 		var nByte int32 = int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))
 		var p uintptr
 		var bFirst int32 = 1
@@ -137433,14 +137491,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 				break
 			}
 			if int32(*(*uint8)(unsafe.Pointer(p))) < '0' || int32(*(*uint8)(unsafe.Pointer(p))) > '9' {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33880, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33927, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
 
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES {
 				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-					ts+33911, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
+					ts+33958, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -137451,7 +137509,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 			}
 
 			if nPre <= 0 || nPre >= 1000 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33944, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33991, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -137464,7 +137522,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+33981, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34028, zCmd, nCmd) == 0 {
 		var p uintptr = zArg
 		var nArg Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zArg) + uint64(1))
 		var azArg uintptr = sqlite3Fts5MallocZero(tls, bp+40, int64(uint64(unsafe.Sizeof(uintptr(0)))*uint64(nArg)))
@@ -137473,7 +137531,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 		if azArg != 0 && pSpace != 0 {
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33990, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34037, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				for nArg = int64(0); p != 0 && *(*uint8)(unsafe.Pointer(p)) != 0; nArg++ {
@@ -137492,7 +137550,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 					}
 				}
 				if p == uintptr(0) {
-					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34023, 0)
+					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34070, 0)
 					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				} else {
 					*(*int32)(unsafe.Pointer(bp + 40)) = sqlite3Fts5GetTokenizer(tls, pGlobal,
@@ -137507,14 +137565,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34057, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34104, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34065, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34112, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			if *(*uint8)(unsafe.Pointer(zArg)) != 0 {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_EXTERNAL
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34097, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34144, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
 			} else {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE
 			}
@@ -137522,9 +137580,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34103, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34150, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34117, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34164, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40, zArg, -1)
@@ -137532,9 +137590,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34155, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34202, zCmd, nCmd) == 0 {
 		if int32(*(*uint8)(unsafe.Pointer(zArg))) != '0' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '1' || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34166, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34213, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zArg))) == '1')
@@ -137546,17 +137604,17 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		*(*[4]Fts5Enum)(unsafe.Pointer(bp + 48)) = [4]Fts5Enum{
 			{FzName: ts + 8026, FeVal: FTS5_DETAIL_NONE},
 			{FzName: ts + 17345},
-			{FzName: ts + 34201, FeVal: FTS5_DETAIL_COLUMNS},
+			{FzName: ts + 34248, FeVal: FTS5_DETAIL_COLUMNS},
 			{},
 		}
 
 		if libc.AssignPtrInt32(bp+40, fts5ConfigSetEnum(tls, bp+48, zArg, pConfig+92)) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34209, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34256, 0)
 		}
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34240, libc.VaList(bp+24, nCmd, zCmd))
+	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34287, libc.VaList(bp+24, nCmd, zCmd))
 	return SQLITE_ERROR
 }
 
@@ -137603,15 +137661,15 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr,
 	defer tls.Free(16)
 
 	var rc int32 = SQLITE_OK
-	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22191) ||
+	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22238) ||
 		0 == Xsqlite3_stricmp(tls, zCol, ts+16267) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34268, libc.VaList(bp, zCol))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34315, libc.VaList(bp, zCol))
 		rc = SQLITE_ERROR
 	} else if zArg != 0 {
-		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34298) {
+		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34345) {
 			*(*U8)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*Fts5Config)(unsafe.Pointer(p)).FnCol))) = U8(1)
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34308, libc.VaList(bp+8, zArg))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34355, libc.VaList(bp+8, zArg))
 			rc = SQLITE_ERROR
 		}
 	}
@@ -137628,13 +137686,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_OK
 	*(*Fts5Buffer)(unsafe.Pointer(bp + 32)) = Fts5Buffer{}
 
-	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34339, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
+	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34386, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
 	if (*Fts5Config)(unsafe.Pointer(p)).FeContent != FTS5_CONTENT_NONE {
 		for i = 0; i < (*Fts5Config)(unsafe.Pointer(p)).FnCol; i++ {
 			if (*Fts5Config)(unsafe.Pointer(p)).FeContent == FTS5_CONTENT_EXTERNAL {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34344, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34391, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
 			} else {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34351, libc.VaList(bp+16, i))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34398, libc.VaList(bp+16, i))
 			}
 		}
 	}
@@ -137672,8 +137730,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 	(*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -1)
 	(*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize = 1
 	(*Fts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL
-	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22191) == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34359, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
+	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22238) == 0 {
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34406, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
 		*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 	}
 
@@ -137705,7 +137763,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 
 		if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK {
 			if z == uintptr(0) {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34388, libc.VaList(bp+8, zOrig))
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34435, libc.VaList(bp+8, zOrig))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				if bOption != 0 {
@@ -137742,14 +137800,14 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 		var zTail uintptr = uintptr(0)
 
 		if (*Fts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL {
-			zTail = ts + 34057
+			zTail = ts + 34104
 		} else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 {
-			zTail = ts + 34408
+			zTail = ts + 34455
 		}
 
 		if zTail != 0 {
 			(*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls,
-				bp+40, ts+34416, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
+				bp+40, ts+34463, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
 		}
 	}
 
@@ -137798,7 +137856,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_OK
 	var zSql uintptr
 
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34427, 0)
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34474, 0)
 	for i = 0; zSql != 0 && i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
 		var zSep uintptr = func() uintptr {
 			if i == 0 {
@@ -137806,10 +137864,10 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 			}
 			return ts + 14614
 		}()
-		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34443, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
+		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34490, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
 	}
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34450,
-		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22191))
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34497,
+		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22238))
 
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql)
@@ -137919,7 +137977,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 
 	var rc int32 = SQLITE_OK
 
-	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34476) {
+	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34523) {
 		var pgsz int32 = 0
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			pgsz = Xsqlite3_value_int(tls, pVal)
@@ -137929,7 +137987,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34481) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34528) {
 		var nHashSize int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nHashSize = Xsqlite3_value_int(tls, pVal)
@@ -137939,7 +137997,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34490) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34537) {
 		var nAutomerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nAutomerge = Xsqlite3_value_int(tls, pVal)
@@ -137952,7 +138010,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34500) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34547) {
 		var nUsermerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nUsermerge = Xsqlite3_value_int(tls, pVal)
@@ -137962,7 +138020,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34510) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34557) {
 		var nCrisisMerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nCrisisMerge = Xsqlite3_value_int(tls, pVal)
@@ -137978,7 +138036,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22191) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22238) {
 		var zIn uintptr = Xsqlite3_value_text(tls, pVal)
 
 		rc = sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8)
@@ -138001,7 +138059,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 	bp := tls.Alloc(52)
 	defer tls.Free(52)
 
-	var zSelect uintptr = ts + 34522
+	var zSelect uintptr = ts + 34569
 	var zSql uintptr
 	*(*uintptr)(unsafe.Pointer(bp + 40)) = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
@@ -138023,7 +138081,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) {
 			var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 0)
 			var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 1)
-			if 0 == Xsqlite3_stricmp(tls, zK, ts+34554) {
+			if 0 == Xsqlite3_stricmp(tls, zK, ts+34601) {
 				iVersion = Xsqlite3_value_int(tls, pVal)
 			} else {
 				*(*int32)(unsafe.Pointer(bp + 48)) = 0
@@ -138037,7 +138095,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 {
 			*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-				ts+34562,
+				ts+34609,
 				libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION))
 		}
 	}
@@ -138135,7 +138193,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 					}
 				}
 				if int32(*(*uint8)(unsafe.Pointer(z2))) == 0 {
-					sqlite3Fts5ParseError(tls, pParse, ts+34627, 0)
+					sqlite3Fts5ParseError(tls, pParse, ts+34674, 0)
 					return FTS5_EOF
 				}
 			}
@@ -138148,20 +138206,20 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 		{
 			var z2 uintptr
 			if sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(z))) == 0 {
-				sqlite3Fts5ParseError(tls, pParse, ts+34647, libc.VaList(bp, z))
+				sqlite3Fts5ParseError(tls, pParse, ts+34694, libc.VaList(bp, z))
 				return FTS5_EOF
 			}
 			tok = FTS5_STRING
 			for z2 = z + 1; sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(z2))) != 0; z2++ {
 			}
 			(*Fts5Token)(unsafe.Pointer(pToken)).Fn = int32((int64(z2) - int64(z)) / 1)
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34678, uint64(2)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34725, uint64(2)) == 0 {
 				tok = FTS5_OR
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34681, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34728, uint64(3)) == 0 {
 				tok = FTS5_NOT
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30063, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30110, uint64(3)) == 0 {
 				tok = FTS5_AND
 			}
 			break
@@ -139939,9 +139997,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34685, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
+	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34732, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
 		sqlite3Fts5ParseError(tls,
-			pParse, ts+33714, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
+			pParse, ts+33761, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
 	}
 }
 
@@ -139957,7 +140015,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p
 				var c uint8 = *(*uint8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))
 				if int32(c) < '0' || int32(c) > '9' {
 					sqlite3Fts5ParseError(tls,
-						pParse, ts+34690, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
+						pParse, ts+34737, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
 					return
 				}
 				nNear = nNear*10 + (int32(*(*uint8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - '0')
@@ -140044,7 +140102,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui
 			}
 		}
 		if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol {
-			sqlite3Fts5ParseError(tls, pParse, ts+20528, libc.VaList(bp, z))
+			sqlite3Fts5ParseError(tls, pParse, ts+20575, libc.VaList(bp, z))
 		} else {
 			pRet = fts5ParseColset(tls, pParse, pColset, iCol)
 		}
@@ -140125,7 +140183,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo
 	*(*uintptr)(unsafe.Pointer(bp)) = pColset
 	if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE {
 		sqlite3Fts5ParseError(tls, pParse,
-			ts+34719, 0)
+			ts+34766, 0)
 	} else {
 		fts5ParseSetColset(tls, pParse, pExpr, pColset, bp)
 	}
@@ -140295,12 +140353,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 1 ||
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*Fts5ExprTerm)(unsafe.Pointer(pPhrase+32)).FbFirst != 0 {
 							sqlite3Fts5ParseError(tls, pParse,
-								ts+34772,
+								ts+34819,
 								libc.VaList(bp, func() uintptr {
 									if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 {
-										return ts + 34822
+										return ts + 34869
 									}
-									return ts + 34685
+									return ts + 34732
 								}()))
 							Xsqlite3_free(tls, pRet)
 							pRet = uintptr(0)
@@ -141243,7 +141301,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK {
 			var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 			rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb,
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34829, iRowid, 0, p+56)
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34876, iRowid, 0, p+56)
 		}
 
 		if rc == SQLITE_ERROR {
@@ -141322,7 +141380,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in
 	if (*Fts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+64, Xsqlite3_mprintf(tls,
-			ts+34835,
+			ts+34882,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 		if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 			return
@@ -141347,7 +141405,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = Xsqlite3_mprintf(tls,
-			ts+34886,
+			ts+34933,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if fts5IndexPrepareStmt(tls, p, p+72, zSql) != 0 {
 			return
@@ -141370,7 +141428,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+88, Xsqlite3_mprintf(tls,
-			ts+34935,
+			ts+34982,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -141609,7 +141667,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 {
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) {
 			(*Fts5Index)(unsafe.Pointer(p)).Frc = fts5IndexPrepareStmt(tls, p, p+112,
-				Xsqlite3_mprintf(tls, ts+34975, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
+				Xsqlite3_mprintf(tls, ts+35022, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
 			if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 				return int64(0)
 			}
@@ -142808,7 +142866,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls,
-			ts+34998,
+			ts+35045,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect
@@ -144274,7 +144332,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls,
-			ts+35082,
+			ts+35129,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 
@@ -145356,13 +145414,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		(*Fts5Index)(unsafe.Pointer(p)).FpConfig = pConfig
 		(*Fts5Index)(unsafe.Pointer(p)).FnWorkUnit = FTS5_WORK_UNIT
-		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35139, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35186, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 {
 			*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+25056, ts+35147, 0, pzErr)
+				pConfig, ts+25103, ts+35194, 0, pzErr)
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 				*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls, pConfig, ts+11488,
-					ts+35182,
+					ts+35229,
 					1, pzErr)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
@@ -145615,7 +145673,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 {
 	sqlite3Fts5Put32(tls, bp, iNew)
 
 	rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl,
-		ts+34829, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
+		ts+34876, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
 	if rc == SQLITE_OK {
 		Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, 4, 0)
 		rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
@@ -145729,7 +145787,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) {
 	}
 
 	fts5IndexPrepareStmt(tls, p, bp+24, Xsqlite3_mprintf(tls,
-		ts+35226,
+		ts+35273,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid)))
 
 	for (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
@@ -145899,7 +145957,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks
 		} else {
 			(*Fts5Buffer)(unsafe.Pointer(bp + 16)).Fn = 0
 			fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp))+96+uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaFirst+1*4)).FiFirst)*120, uintptr(0), bp+16)
-			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35312)
+			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35359)
 			for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fn, bp+32, bp+40) {
 				var iCol int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) >> 32)
 				var iTokOff int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) & int64(0x7FFFFFFF))
@@ -146170,7 +146228,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 {
 
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 {
 		(*Fts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+35317, 0)
+			ts+35364, 0)
 		return SQLITE_ERROR
 	}
 
@@ -146594,7 +146652,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 	(*Fts5Sorter)(unsafe.Pointer(pSorter)).FnIdx = nPhrase
 
 	rc = fts5PrepareStatement(tls, pSorter, pConfig,
-		ts+35356,
+		ts+35403,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			func() uintptr {
 				if zRankArgs != 0 {
@@ -146610,9 +146668,9 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 			}(),
 			func() uintptr {
 				if bDesc != 0 {
-					return ts + 35411
+					return ts + 35458
 				}
-				return ts + 35416
+				return ts + 35463
 			}()))
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter
@@ -146658,12 +146716,12 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr)
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan = FTS5_PLAN_SPECIAL
 
-	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35420, z, n) {
+	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35467, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = I64(sqlite3Fts5IndexReads(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex))
 	} else if n == 2 && 0 == Xsqlite3_strnicmp(tls, ts+5057, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId
 	} else {
-		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35426, libc.VaList(bp, n, z))
+		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35473, libc.VaList(bp, n, z))
 		rc = SQLITE_ERROR
 	}
 
@@ -146694,7 +146752,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs
 
 	if zRankArgs != 0 {
-		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35454, libc.VaList(bp, zRankArgs))
+		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35501, libc.VaList(bp, zRankArgs))
 		if zSql != 0 {
 			*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 			*(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1,
@@ -146725,7 +146783,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 		pAux = fts5FindAuxiliary(tls, pTab, zRank)
 		if pAux == uintptr(0) {
-			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35464, libc.VaList(bp+8, zRank))
+			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35511, libc.VaList(bp+8, zRank))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		}
 	}
@@ -146757,14 +146815,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin
 			*(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_FREE_ZRANK
 		} else if rc == SQLITE_ERROR {
 			(*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35485, libc.VaList(bp, z))
+				ts+35532, libc.VaList(bp, z))
 		}
 	} else {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank != 0 {
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRankArgs
 		} else {
-			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33868
+			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33915
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0)
 		}
 	}
@@ -146820,7 +146878,7 @@ func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintp
 		goto __1
 	}
 	(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+35317, 0)
+		ts+35364, 0)
 	return SQLITE_ERROR
 __1:
 	;
@@ -147037,7 +147095,7 @@ __35:
 		goto __40
 	}
 	*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-		ts+35518, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		ts+35565, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	rc = SQLITE_ERROR
 	goto __41
 __40:
@@ -147182,28 +147240,28 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr)
 	var rc int32 = SQLITE_OK
 	*(*int32)(unsafe.Pointer(bp)) = 0
 
-	if 0 == Xsqlite3_stricmp(tls, ts+35554, zCmd) {
+	if 0 == Xsqlite3_stricmp(tls, ts+35601, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			fts5SetVtabError(tls, pTab,
-				ts+35565, 0)
+				ts+35612, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35645, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35692, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE {
 			fts5SetVtabError(tls, pTab,
-				ts+35653, 0)
+				ts+35700, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
 	} else if 0 == Xsqlite3_stricmp(tls, ts+16934, zCmd) {
 		rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35709, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35756, zCmd) {
 		var nMerge int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageMerge(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, nMerge)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35715, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35762, zCmd) {
 		var iArg int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg)
 	} else {
@@ -147274,12 +147332,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p
 
 		if eType0 == SQLITE_INTEGER && fts5IsContentless(tls, pTab) != 0 {
 			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35731,
+				ts+35778,
 				libc.VaList(bp, func() uintptr {
 					if nArg > 1 {
-						return ts + 20429
+						return ts + 20476
 					}
-					return ts + 35768
+					return ts + 35815
 				}(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		} else if nArg == 1 {
@@ -147909,7 +147967,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 
 	pCsr = fts5CursorFromCsrid(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId)
 	if pCsr == uintptr(0) || (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 {
-		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35780, libc.VaList(bp, iCsrId))
+		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35827, libc.VaList(bp, iCsrId))
 		Xsqlite3_result_error(tls, context, zErr, -1)
 		Xsqlite3_free(tls, zErr)
 	} else {
@@ -148153,7 +148211,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 	}())
 	if pMod == uintptr(0) {
 		rc = SQLITE_ERROR
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35801, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35848, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
 	} else {
 		rc = (*struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
@@ -148172,7 +148230,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 		(*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16
 		if rc != SQLITE_OK {
 			if pzErr != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35823, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35870, 0)
 			}
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls,
@@ -148219,7 +148277,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 	var ppApi uintptr
 	_ = nArg
 
-	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35854)
+	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35901)
 	if ppApi != 0 {
 		*(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal
 	}
@@ -148228,7 +148286,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) {
 	_ = nArg
 	_ = apUnused
-	Xsqlite3_result_text(tls, pCtx, ts+35867, -1, libc.UintptrFromInt32(-1))
+	Xsqlite3_result_text(tls, pCtx, ts+35914, -1, libc.UintptrFromInt32(-1))
 }
 
 func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
@@ -148242,7 +148300,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName2 = [5]uintptr{
-	ts + 35958, ts + 34057, ts + 25056, ts + 34408, ts + 11488,
+	ts + 36005, ts + 34104, ts + 25103, ts + 34455, ts + 11488,
 }
 
 func fts5Init(tls *libc.TLS, db uintptr) int32 {
@@ -148266,7 +148324,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		(*Fts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32
 		}{fts5FindTokenizer}))
-		rc = Xsqlite3_create_module_v2(tls, db, ts+35965, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+36012, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5IndexInit(tls, db)
 		}
@@ -148284,13 +148342,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35965, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+				db, ts+36012, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
 				}{fts5Fts5Func})), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35970, 0,
+				db, ts+36017, 0,
 				SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
 				p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
@@ -148347,17 +148405,17 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p
 
 	if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) {
 		*(*[11]uintptr)(unsafe.Pointer(bp + 128)) = [11]uintptr{
-			ts + 35985,
-			ts + 36053,
-			ts + 36122,
-			ts + 36155,
-			ts + 36194,
-			ts + 36234,
-			ts + 36273,
-			ts + 36314,
-			ts + 36353,
-			ts + 36395,
-			ts + 36435,
+			ts + 36032,
+			ts + 36100,
+			ts + 36169,
+			ts + 36202,
+			ts + 36241,
+			ts + 36281,
+			ts + 36320,
+			ts + 36361,
+			ts + 36400,
+			ts + 36442,
+			ts + 36482,
 		}
 		var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = uintptr(0)
@@ -148459,18 +148517,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 {
 	defer tls.Free(80)
 
 	var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36458,
+		ts+36505,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36562,
+			ts+36609,
 			libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36600,
+			ts+36647,
 			libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	return rc
@@ -148482,7 +148540,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin
 
 	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(pRc)) = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36638,
+			ts+36685,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail))
 	}
 }
@@ -148494,14 +148552,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in
 	var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig
 	*(*int32)(unsafe.Pointer(bp)) = sqlite3Fts5StorageSync(tls, pStorage)
 
-	fts5StorageRenameOne(tls, pConfig, bp, ts+25056, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+25103, zName)
 	fts5StorageRenameOne(tls, pConfig, bp, ts+11488, zName)
-	fts5StorageRenameOne(tls, pConfig, bp, ts+35958, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+36005, zName)
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34408, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34455, zName)
 	}
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34057, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34104, zName)
 	}
 	return *(*int32)(unsafe.Pointer(bp))
 }
@@ -148513,17 +148571,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn
 	var rc int32
 	*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
-	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36680,
+	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36727,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn,
 			func() uintptr {
 				if bWithout != 0 {
-					return ts + 29709
+					return ts + 29756
 				}
 				return ts + 1554
 			}()))
 	if *(*uintptr)(unsafe.Pointer(bp + 64)) != 0 {
 		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-			ts+36710,
+			ts+36757,
 			libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64))))
 		Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
@@ -148560,27 +148618,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre
 			} else {
 				var i int32
 				var iOff int32
-				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36754, 0)
+				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36801, 0)
 				iOff = int32(libc.Xstrlen(tls, zDefn))
 				for i = 0; i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
-					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36777, libc.VaList(bp, i))
+					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36824, libc.VaList(bp, i))
 					iOff = iOff + int32(libc.Xstrlen(tls, zDefn+uintptr(iOff)))
 				}
-				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34057, zDefn, 0, pzErr)
+				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34104, zDefn, 0, pzErr)
 			}
 			Xsqlite3_free(tls, zDefn)
 		}
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+34408, ts+36783, 0, pzErr)
+				pConfig, ts+34455, ts+36830, 0, pzErr)
 		}
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+35958, ts+36815, 1, pzErr)
+				pConfig, ts+36005, ts+36862, 1, pzErr)
 		}
 		if rc == SQLITE_OK {
-			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34554, uintptr(0), FTS5_CURRENT_VERSION)
+			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34601, uintptr(0), FTS5_CURRENT_VERSION)
 		}
 	}
 
@@ -148786,12 +148844,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 	(*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0
 
 	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36832,
+		ts+36879,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36882,
+			ts+36929,
 			libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 
@@ -148799,7 +148857,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 		rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex)
 	}
 	if rc == SQLITE_OK {
-		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34554, uintptr(0), FTS5_CURRENT_VERSION)
+		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34601, uintptr(0), FTS5_CURRENT_VERSION)
 	}
 	return rc
 }
@@ -148975,7 +149033,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr)
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+36911,
+	zSql = Xsqlite3_mprintf(tls, ts+36958,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix))
 	if zSql == uintptr(0) {
 		rc = SQLITE_NOMEM
@@ -149157,14 +149215,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 {
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			*(*I64)(unsafe.Pointer(bp + 48)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34057, bp+48)
+			rc = fts5StorageCount(tls, p, ts+34104, bp+48)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 48)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
 		}
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			*(*I64)(unsafe.Pointer(bp + 56)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34408, bp+56)
+			rc = fts5StorageCount(tls, p, ts+34455, bp+56)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 56)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
@@ -149359,9 +149417,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32,
 			libc.Xmemcpy(tls, p, uintptr(unsafe.Pointer(&aAsciiTokenChar)), uint64(unsafe.Sizeof(aAsciiTokenChar)))
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36943) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36990) {
 					fts5AsciiAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36954) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37001) {
 					fts5AsciiAddExceptions(tls, p, zArg, 0)
 				} else {
 					rc = SQLITE_ERROR
@@ -149576,7 +149634,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 	} else {
 		p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Unicode61Tokenizer{})))
 		if p != 0 {
-			var zCat uintptr = ts + 36965
+			var zCat uintptr = ts + 37012
 			var i int32
 			libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{})))
 
@@ -149588,7 +149646,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 			}
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36974) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37021) {
 					zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
 				}
 			}
@@ -149599,18 +149657,18 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36985) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37032) {
 					if int32(*(*uint8)(unsafe.Pointer(zArg))) != '0' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '1' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '2' || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 {
 						rc = SQLITE_ERROR
 					} else {
 						(*Unicode61Tokenizer)(unsafe.Pointer(p)).FeRemoveDiacritic = int32(*(*uint8)(unsafe.Pointer(zArg))) - '0'
 
 					}
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36943) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36990) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36954) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37001) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 0)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36974) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37021) {
 				} else {
 					rc = SQLITE_ERROR
 				}
@@ -149886,7 +149944,7 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp
 	var rc int32 = SQLITE_OK
 	var pRet uintptr
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
-	var zBase uintptr = ts + 37003
+	var zBase uintptr = ts + 37050
 
 	if nArg > 0 {
 		zBase = *(*uintptr)(unsafe.Pointer(azArg))
@@ -150028,7 +150086,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37013, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37060, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -150036,11 +150094,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37016, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37063, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37021, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37068, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -150048,7 +150106,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'e':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37026, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37073, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -150056,7 +150114,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37029, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37076, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -150064,11 +150122,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37032, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37079, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37037, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37084, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -150076,19 +150134,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37042, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37089, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37046, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37093, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37052, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37099, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37057, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37104, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150096,11 +150154,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'o':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37061, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37108, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37065, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37112, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -150108,7 +150166,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 's':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37068, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37115, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150116,11 +150174,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37072, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37119, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37076, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37123, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150128,7 +150186,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37080, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37127, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150136,7 +150194,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37084, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37131, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150144,7 +150202,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37088, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37135, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150160,24 +150218,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37092, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37072, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37139, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37119, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'b':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37095, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37098, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37142, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37145, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37102, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37088, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37149, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37135, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
@@ -150192,44 +150250,44 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37105, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37152, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37072, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37119, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37113, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37160, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37120, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37167, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 4
 			}
 		}
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37125, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37172, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37021, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37068, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37130, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37177, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37016, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37063, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
 		}
 		break
 
 	case 'e':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37135, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37182, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37088, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37135, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 'g':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37140, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37187, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+15480, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
@@ -150238,91 +150296,91 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37145, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37192, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37098, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37145, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37149, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37196, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37154, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37201, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37057, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37104, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37160, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37207, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37164, uint64(1))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37211, uint64(1))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 1
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37166, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37213, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37080, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37127, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
 		}
 		break
 
 	case 'o':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37172, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37219, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37088, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37135, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37180, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37227, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37072, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37119, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37186, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37233, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37072, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37119, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37191, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37238, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37197, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37244, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37084, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37131, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37205, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37252, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37213, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37260, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37217, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37264, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37080, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37127, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
 		}
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37225, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37272, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37231, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37278, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37084, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37131, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37237, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37284, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37098, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37145, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 3
 			}
 		}
@@ -150337,16 +150395,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37244, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37291, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37029, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37076, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37249, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37296, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -150354,21 +150412,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37254, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37301, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37029, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37076, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37260, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37307, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37029, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37076, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37213, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37260, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150376,7 +150434,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37266, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37313, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
@@ -150384,9 +150442,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37272, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37319, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
@@ -150401,12 +150459,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'e':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37278, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37325, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37282, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37329, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 2
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37285, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37332, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 				ret = 1
@@ -150415,7 +150473,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37288, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37335, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 				ret = 1
@@ -150571,7 +150629,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp
 		(*TrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = 1
 		for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 			var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37292) {
+			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37339) {
 				if int32(*(*uint8)(unsafe.Pointer(zArg))) != '0' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '1' || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 {
 					rc = SQLITE_ERROR
 				} else {
@@ -150751,22 +150809,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(128)
 
 	*(*[4]BuiltinTokenizer)(unsafe.Pointer(bp)) = [4]BuiltinTokenizer{
-		{FzName: ts + 37003, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37050, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5UnicodeCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5UnicodeDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5UnicodeTokenize}))}},
-		{FzName: ts + 37307, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37354, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5AsciiCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5AsciiDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5AsciiTokenize}))}},
-		{FzName: ts + 37313, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37360, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5PorterCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5PorterDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5PorterTokenize}))}},
-		{FzName: ts + 37320, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37367, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5TriCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5TriDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
@@ -151909,14 +151967,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint
 	var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8, zType, -1)
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		sqlite3Fts5Dequote(tls, zCopy)
-		if Xsqlite3_stricmp(tls, zCopy, ts+37328) == 0 {
+		if Xsqlite3_stricmp(tls, zCopy, ts+37375) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37332) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37379) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37336) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37383) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37345, libc.VaList(bp, zCopy))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37392, libc.VaList(bp, zCopy))
 			*(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_ERROR
 		}
 		Xsqlite3_free(tls, zCopy)
@@ -151942,19 +152000,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	defer tls.Free(36)
 
 	*(*[3]uintptr)(unsafe.Pointer(bp + 8)) = [3]uintptr{
-		ts + 37379,
-		ts + 37419,
-		ts + 37454,
+		ts + 37426,
+		ts + 37466,
+		ts + 37501,
 	}
 
 	var pRet uintptr = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
 	var bDb int32
 
-	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23352, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
+	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23399, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
 
 	if argc != 5 && bDb == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37497, 0)
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37544, 0)
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 	} else {
 		var nByte int32
@@ -152087,11 +152145,11 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 
 	if (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 {
 		(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+37530, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+			ts+37577, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 		return SQLITE_ERROR
 	}
 	zSql = sqlite3Fts5Mprintf(tls, bp+64,
-		ts+37561,
+		ts+37608,
 		libc.VaList(bp+16, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 64)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+72, uintptr(0))
@@ -152115,7 +152173,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 			*(*uintptr)(unsafe.Pointer(bp + 72)) = uintptr(0)
 			if *(*int32)(unsafe.Pointer(bp + 64)) == SQLITE_OK {
 				(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-					ts+37612, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+					ts+37659, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 				*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 			}
 		} else {
@@ -152510,7 +152568,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32
 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 {
 	var p uintptr = pGlobal
 
-	return Xsqlite3_create_module_v2(tls, db, ts+37638, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
+	return Xsqlite3_create_module_v2(tls, db, ts+37685, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
 }
 
 var fts5Vocab = Sqlite3_module{
@@ -152532,7 +152590,7 @@ var fts5Vocab = Sqlite3_module{
 // ************* End of stmt.c ***********************************************
 // Return the source-id for this library
 func Xsqlite3_sourceid(tls *libc.TLS) uintptr {
-	return ts + 37648
+	return ts + 37695
 }
 
 func init() {
@@ -153509,5 +153567,5 @@ func init() {
 	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError
 }
 
-var ts1 = "3.41.0\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00"
+var ts1 = "3.41.2\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00"
 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_riscv64.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_riscv64.go
index 3f33db0b..6f21e2c1 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_linux_riscv64.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_riscv64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_riscv64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_riscv64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
@@ -921,11 +921,11 @@ const (
 	NC_OrderAgg                           = 0x8000000
 	NC_PartIdx                            = 0x000002
 	NC_SelfRef                            = 0x00002e
+	NC_Subquery                           = 0x000040
 	NC_UAggInfo                           = 0x000100
 	NC_UBaseReg                           = 0x000400
 	NC_UEList                             = 0x000080
 	NC_UUpsert                            = 0x000200
-	NC_VarSelect                          = 0x000040
 	NDEBUG                                = 1
 	NN                                    = 1
 	NOT_WITHIN                            = 0
@@ -2165,7 +2165,7 @@ const (
 	SQLITE_SHM_UNLOCK                     = 1
 	SQLITE_SORTER_PMASZ                   = 250
 	SQLITE_SOUNDEX                        = 1
-	SQLITE_SOURCE_ID                      = "2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d"
+	SQLITE_SOURCE_ID                      = "2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da"
 	SQLITE_SO_ASC                         = 0
 	SQLITE_SO_DESC                        = 1
 	SQLITE_SO_UNDEFINED                   = -1
@@ -2272,8 +2272,8 @@ const (
 	SQLITE_UTF8                           = 1
 	SQLITE_VDBEINT_H                      = 0
 	SQLITE_VDBE_H                         = 0
-	SQLITE_VERSION                        = "3.41.0"
-	SQLITE_VERSION_NUMBER                 = 3041000
+	SQLITE_VERSION                        = "3.41.2"
+	SQLITE_VERSION_NUMBER                 = 3041002
 	SQLITE_VTABRISK_High                  = 2
 	SQLITE_VTABRISK_Low                   = 0
 	SQLITE_VTABRISK_Normal                = 1
@@ -6123,7 +6123,8 @@ type IndexedExpr1 = struct {
 	FiIdxCur       int32
 	FiIdxCol       int32
 	FbMaybeNullRow U8
-	F__ccgo_pad1   [3]byte
+	Faff           U8
+	F__ccgo_pad1   [2]byte
 	FpIENext       uintptr
 }
 
@@ -6765,17 +6766,18 @@ type Pager = Pager1
 
 // Handle type for pages.
 type PgHdr2 = struct {
-	FpPage      uintptr
-	FpData      uintptr
-	FpExtra     uintptr
-	FpCache     uintptr
-	FpDirty     uintptr
-	FpPager     uintptr
-	Fpgno       Pgno
-	Fflags      U16
-	FnRef       I16
-	FpDirtyNext uintptr
-	FpDirtyPrev uintptr
+	FpPage       uintptr
+	FpData       uintptr
+	FpExtra      uintptr
+	FpCache      uintptr
+	FpDirty      uintptr
+	FpPager      uintptr
+	Fpgno        Pgno
+	Fflags       U16
+	F__ccgo_pad1 [2]byte
+	FnRef        I64
+	FpDirtyNext  uintptr
+	FpDirtyPrev  uintptr
 }
 
 // Handle type for pages.
@@ -6996,14 +6998,14 @@ type PCache2 = struct {
 	FpDirty      uintptr
 	FpDirtyTail  uintptr
 	FpSynced     uintptr
-	FnRefSum     int32
+	FnRefSum     I64
 	FszCache     int32
 	FszSpill     int32
 	FszPage      int32
 	FszExtra     int32
 	FbPurgeable  U8
 	FeCreate     U8
-	F__ccgo_pad1 [2]byte
+	F__ccgo_pad1 [6]byte
 	FxStress     uintptr
 	FpStress     uintptr
 	FpCache      uintptr
@@ -7810,7 +7812,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
 	_ = pMutex
 
 	if op < 0 || op >= int32(uint64(unsafe.Sizeof([10]Sqlite3StatValueType{}))/uint64(unsafe.Sizeof(Sqlite3StatValueType(0)))) {
-		return Xsqlite3MisuseError(tls, 23229)
+		return Xsqlite3MisuseError(tls, 23233)
 	}
 	if statMutex[op] != 0 {
 		pMutex = Xsqlite3Pcache1Mutex(tls)
@@ -15900,7 +15902,7 @@ func closePendingFds(tls *libc.TLS, pFile uintptr) {
 
 	for p = (*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused; p != 0; p = pNext {
 		pNext = (*UnixUnusedFd)(unsafe.Pointer(p)).FpNext
-		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38271)
+		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38275)
 		Xsqlite3_free(tls, p)
 	}
 	(*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused = uintptr(0)
@@ -16377,7 +16379,7 @@ func closeUnixFile(tls *libc.TLS, id uintptr) int32 {
 	var pFile uintptr = id
 	unixUnmapfile(tls, pFile)
 	if (*UnixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
-		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39055)
+		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39059)
 		(*UnixFile)(unsafe.Pointer(pFile)).Fh = -1
 	}
 
@@ -16668,7 +16670,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 {
 	if fd >= 0 {
 		return SQLITE_OK
 	}
-	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40676), ts+3378, bp+8, 40676)
+	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40680), ts+3378, bp+8, 40680)
 }
 
 func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
@@ -16685,14 +16687,14 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
 
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3666, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40717)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3666, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40721)
 	}
 
 	if int32((*UnixFile)(unsafe.Pointer(pFile)).FctrlFlags)&UNIXFILE_DIRSYNC != 0 {
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, bp)
 		if rc == SQLITE_OK {
 			full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0)
-			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40731)
+			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40735)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -16712,7 +16714,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 {
 	rc = robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte)
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40762)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40766)
 	} else {
 		if nByte < (*UnixFile)(unsafe.Pointer(pFile)).FmmapSize {
 			(*UnixFile)(unsafe.Pointer(pFile)).FmmapSize = nByte
@@ -16780,7 +16782,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 {
 		if (*UnixFile)(unsafe.Pointer(pFile)).FszChunk <= 0 {
 			if robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte) != 0 {
 				storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
-				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40883)
+				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40887)
 			}
 		}
 
@@ -17007,7 +17009,7 @@ func unixShmPurge(tls *libc.TLS, pFd uintptr) {
 		}
 		Xsqlite3_free(tls, (*UnixShmNode)(unsafe.Pointer(p)).FapRegion)
 		if (*UnixShmNode)(unsafe.Pointer(p)).FhShm >= 0 {
-			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41442)
+			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41446)
 			(*UnixShmNode)(unsafe.Pointer(p)).FhShm = -1
 		}
 		(*UnixInodeInfo)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0)
@@ -17035,7 +17037,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32
 			rc = unixShmSystemLock(tls, pDbFd, F_WRLCK, (22+SQLITE_SHM_NLOCK)*4+SQLITE_SHM_NLOCK, 1)
 
 			if rc == SQLITE_OK && robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3297, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41499)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3297, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41503)
 			}
 		}
 	} else if int32((*flock)(unsafe.Pointer(bp+8)).Fl_type) == F_WRLCK {
@@ -17134,7 +17136,7 @@ __8:
 	if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) {
 		goto __10
 	}
-	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41624), ts+3261, zShm, 41624)
+	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41628), ts+3261, zShm, 41628)
 	goto shm_open_err
 __10:
 	;
@@ -17264,7 +17266,7 @@ __11:
 		goto __14
 	}
 	zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3332, zFile, 41768)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3332, zFile, 41772)
 	goto shmpage_out
 __14:
 	;
@@ -17310,7 +17312,7 @@ __16:
 	if !(pMem == libc.UintptrFromInt32(-1)) {
 		goto __20
 	}
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3419, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41795)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3419, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41799)
 	goto shmpage_out
 __20:
 	;
@@ -17541,7 +17543,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) {
 	if pNew == libc.UintptrFromInt32(-1) {
 		pNew = uintptr(0)
 		nNew = int64(0)
-		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42169)
+		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42173)
 
 		(*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeMax = int64(0)
 	}
@@ -17675,7 +17677,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 		unixEnterMutex(tls)
 		rc = findInodeInfo(tls, pNew, pNew+16)
 		if rc != SQLITE_OK {
-			robust_close(tls, pNew, h, 42672)
+			robust_close(tls, pNew, h, 42676)
 			h = -1
 		}
 		unixLeaveMutex(tls)
@@ -17696,7 +17698,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 	storeLastErrno(tls, pNew, 0)
 	if rc != SQLITE_OK {
 		if h >= 0 {
-			robust_close(tls, pNew, h, 42757)
+			robust_close(tls, pNew, h, 42761)
 		}
 	} else {
 		(*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle
@@ -18012,7 +18014,7 @@ __15:
 	if !(fd < 0) {
 		goto __19
 	}
-	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43198), ts+3261, zName, 43198)
+	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43202), ts+3261, zName, 43202)
 	if !(rc == SQLITE_OK) {
 		goto __20
 	}
@@ -18103,7 +18105,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == ENOENT {
 			rc = SQLITE_IOERR | int32(23)<<8
 		} else {
-			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3371, zPath, 43337)
+			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3371, zPath, 43341)
 		}
 		return rc
 	}
@@ -18111,9 +18113,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, zPath, bp)
 		if rc == SQLITE_OK {
 			if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3788, zPath, 43347)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3788, zPath, 43351)
 			}
-			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43349)
+			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43353)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -18177,18 +18179,18 @@ func appendOnePathElement(tls *libc.TLS, pPath uintptr, zName uintptr, nName int
 		zIn = (*DbPath)(unsafe.Pointer(pPath)).FzOut
 		if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8)))(tls, zIn, bp) != 0 {
 			if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != ENOENT {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43443), ts+3459, zIn, 43443)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43447), ts+3459, zIn, 43447)
 			}
 		} else if (*stat)(unsafe.Pointer(bp)).Fst_mode&X__mode_t(0170000) == X__mode_t(0120000) {
 			var got Ssize_t
 
 			if libc.PostIncInt32(&(*DbPath)(unsafe.Pointer(pPath)).FnSymlink, 1) > SQLITE_MAX_SYMLINK {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43449)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43453)
 				return
 			}
 			got = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls, zIn, bp+128, uint64(unsafe.Sizeof([4098]uint8{}))-uint64(2))
 			if got <= int64(0) || got >= Ssize_t(unsafe.Sizeof([4098]uint8{}))-int64(2) {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43454), ts+3450, zIn, 43454)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43458), ts+3450, zIn, 43458)
 				return
 			}
 			*(*uint8)(unsafe.Pointer(bp + 128 + uintptr(got))) = uint8(0)
@@ -18228,14 +18230,14 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO
 	(*DbPath)(unsafe.Pointer(bp + 4104)).FzOut = zOut
 	if int32(*(*uint8)(unsafe.Pointer(zPath))) != '/' {
 		if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, bp, uint64(unsafe.Sizeof([4098]uint8{}))-uint64(2)) == uintptr(0) {
-			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43512), ts+3279, zPath, 43512)
+			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43516), ts+3279, zPath, 43516)
 		}
 		appendAllPathElements(tls, bp+4104, bp)
 	}
 	appendAllPathElements(tls, bp+4104, zPath)
 	*(*uint8)(unsafe.Pointer(zOut + uintptr((*DbPath)(unsafe.Pointer(bp+4104)).FnUsed))) = uint8(0)
 	if (*DbPath)(unsafe.Pointer(bp+4104)).Frc != 0 || (*DbPath)(unsafe.Pointer(bp+4104)).FnUsed < 2 {
-		return Xsqlite3CantopenError(tls, 43518)
+		return Xsqlite3CantopenError(tls, 43522)
 	}
 	if (*DbPath)(unsafe.Pointer(bp+4104)).FnSymlink != 0 {
 		return SQLITE_OK | int32(2)<<8
@@ -18336,7 +18338,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in
 			for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == EINTR {
 				got = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*24 + 8)))(tls, fd, zBuf, uint64(nBuf)))
 			}
-			robust_close(tls, uintptr(0), fd, 43619)
+			robust_close(tls, uintptr(0), fd, 43623)
 		}
 
 	}
@@ -19769,7 +19771,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 	libc.Xmemset(tls, pPgHdr+32, 0, uint64(unsafe.Sizeof(PgHdr{}))-uint64(uintptr(0)+32))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpPage = pPage
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpData = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpBuf
-	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*72
+	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*80
 	libc.Xmemset(tls, (*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra, 0, uint64(8))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpCache = pCache
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).Fpgno = pgno
@@ -19799,7 +19801,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 // reference count drops to 0, then it is made eligible for recycling.
 func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) {
 	(*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum--
-	if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 {
+	if libc.PreDecInt64(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1) == int64(0) {
 		if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_CLEAN != 0 {
 			pcacheUnpin(tls, p)
 		} else {
@@ -19850,7 +19852,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) {
 	*(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE))
 	*(*U16)(unsafe.Pointer(p + 52)) |= U16(PGHDR_CLEAN)
 
-	if int32((*PgHdr)(unsafe.Pointer(p)).FnRef) == 0 {
+	if (*PgHdr)(unsafe.Pointer(p)).FnRef == int64(0) {
 		pcacheUnpin(tls, p)
 	}
 }
@@ -19954,8 +19956,8 @@ func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) {
 }
 
 func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr {
-	bp := tls.Alloc(72)
-	defer tls.Free(72)
+	bp := tls.Alloc(80)
+	defer tls.Free(80)
 
 	var pTail uintptr
 	pTail = bp
@@ -20033,13 +20035,13 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr {
 //
 // This is not the total number of pages referenced, but the sum of the
 // reference count for all pages.
-func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 {
+func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) I64 {
 	return (*PCache)(unsafe.Pointer(pCache)).FnRefSum
 }
 
 // Return the number of references to the page supplied as an argument.
-func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 {
-	return int32((*PgHdr)(unsafe.Pointer(p)).FnRef)
+func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) I64 {
+	return (*PgHdr)(unsafe.Pointer(p)).FnRef
 }
 
 // Return the total number of pages in the cache.
@@ -22333,7 +22335,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 {
 
 	pPg = Xsqlite3PagerLookup(tls, pPager, iPg)
 	if pPg != 0 {
-		if Xsqlite3PcachePageRefcount(tls, pPg) == 1 {
+		if Xsqlite3PcachePageRefcount(tls, pPg) == int64(1) {
 			Xsqlite3PcacheDrop(tls, pPg)
 		} else {
 			rc = readDbPage(tls, pPg)
@@ -22766,7 +22768,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr,
 	var pageSize U32 = *(*U32)(unsafe.Pointer(pPageSize))
 
 	if (int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) == 0 || (*Pager)(unsafe.Pointer(pPager)).FdbSize == Pgno(0)) &&
-		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 &&
+		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) &&
 		pageSize != 0 && pageSize != U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) {
 		var pNew uintptr = uintptr(0)
 		*(*I64)(unsafe.Pointer(bp)) = int64(0)
@@ -22918,9 +22920,9 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr
 			Xsqlite3OsUnfetch(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, I64(pgno-Pgno(1))*(*Pager)(unsafe.Pointer(pPager)).FpageSize, pData)
 			return SQLITE_NOMEM
 		}
-		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*72
+		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*80
 		(*PgHdr)(unsafe.Pointer(p)).Fflags = U16(PGHDR_MMAP)
-		(*PgHdr)(unsafe.Pointer(p)).FnRef = int16(1)
+		(*PgHdr)(unsafe.Pointer(p)).FnRef = int64(1)
 		(*PgHdr)(unsafe.Pointer(p)).FpPager = pPager
 	}
 
@@ -23252,7 +23254,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 {
 
 		for rc == SQLITE_OK && pList != 0 {
 			var pNext uintptr = (*PgHdr)(unsafe.Pointer(pList)).FpDirty
-			if int32((*PgHdr)(unsafe.Pointer(pList)).FnRef) == 0 {
+			if (*PgHdr)(unsafe.Pointer(pList)).FnRef == int64(0) {
 				rc = pagerStress(tls, pPager, pList)
 			}
 			pList = pNext
@@ -23402,7 +23404,7 @@ __11:
 		goto __12
 	}
 
-	rc = Xsqlite3CantopenError(tls, 60235)
+	rc = Xsqlite3CantopenError(tls, 60239)
 __12:
 	;
 	if !(rc != SQLITE_OK) {
@@ -23783,7 +23785,7 @@ __7:
 	if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) {
 		goto __10
 	}
-	rc = Xsqlite3CantopenError(tls, 60754)
+	rc = Xsqlite3CantopenError(tls, 60758)
 	Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd)
 __10:
 	;
@@ -23889,7 +23891,7 @@ __24:
 }
 
 func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) {
-	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 {
+	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) {
 		pagerUnlockAndRollback(tls, pPager)
 	}
 }
@@ -23907,7 +23909,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla
 	if !(pgno == Pgno(0)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 60967)
+	return Xsqlite3CorruptError(tls, 60971)
 __1:
 	;
 	*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3)
@@ -23946,7 +23948,7 @@ __5:
 	if !(pgno == (*Pager)(unsafe.Pointer(pPager)).FlckPgno) {
 		goto __7
 	}
-	rc = Xsqlite3CorruptError(tls, 60999)
+	rc = Xsqlite3CorruptError(tls, 61003)
 	goto pager_acquire_err
 __7:
 	;
@@ -24023,7 +24025,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags
 		(int32((*Pager)(unsafe.Pointer(pPager)).FeState) == PAGER_READER || flags&PAGER_GET_READONLY != 0))
 
 	if pgno <= Pgno(1) && pgno == Pgno(0) {
-		return Xsqlite3CorruptError(tls, 61078)
+		return Xsqlite3CorruptError(tls, 61082)
 	}
 
 	if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
@@ -24781,7 +24783,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 {
 
 // Return the number of references to the specified page.
 func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 {
-	return Xsqlite3PcachePageRefcount(tls, pPage)
+	return int32(Xsqlite3PcachePageRefcount(tls, pPage))
 }
 
 // Parameter eStat must be one of SQLITE_DBSTATUS_CACHE_HIT, _MISS, _WRITE,
@@ -25024,9 +25026,9 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno
 	pPgOld = Xsqlite3PagerLookup(tls, pPager, pgno)
 
 	if pPgOld != 0 {
-		if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 {
+		if (*PgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
 			Xsqlite3PagerUnrefNotNull(tls, pPgOld)
-			return Xsqlite3CorruptError(tls, 62623)
+			return Xsqlite3CorruptError(tls, 62627)
 		}
 		*(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC)
 		if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 {
@@ -25783,7 +25785,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 {
 		nCollide = idx
 		for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) {
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 64387)
+				return Xsqlite3CorruptError(tls, 64391)
 			}
 		}
 		*(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaPgno + uintptr(idx-1)*4)) = iPage
@@ -25882,7 +25884,7 @@ __6:
 	if !(version != U32(WAL_MAX_VERSION)) {
 		goto __7
 	}
-	rc = Xsqlite3CantopenError(tls, 64519)
+	rc = Xsqlite3CantopenError(tls, 64523)
 	goto finished
 __7:
 	;
@@ -26468,7 +26470,7 @@ __10:
 		goto __14
 	}
 
-	rc = Xsqlite3CorruptError(tls, 65333)
+	rc = Xsqlite3CorruptError(tls, 65337)
 	goto __15
 __14:
 	Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16)
@@ -26743,7 +26745,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 {
 	}
 
 	if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) {
-		rc = Xsqlite3CantopenError(tls, 65682)
+		rc = Xsqlite3CantopenError(tls, 65686)
 	}
 	if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
 		if rc != SQLITE_OK {
@@ -27216,7 +27218,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr
 				iRead = iFrame
 			}
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 66419)
+				return Xsqlite3CorruptError(tls, 66423)
 			}
 			iKey = walNextHash(tls, iKey)
 		}
@@ -27721,7 +27723,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
 
 	if rc == SQLITE_OK {
 		if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf {
-			rc = Xsqlite3CorruptError(tls, 67138)
+			rc = Xsqlite3CorruptError(tls, 67142)
 		} else {
 			rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
 		}
@@ -28379,7 +28381,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32
 		}
 		Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
 		if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
-			rc = Xsqlite3CorruptError(tls, 69249)
+			rc = Xsqlite3CorruptError(tls, 69253)
 		} else {
 			rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
 		}
@@ -28516,7 +28518,7 @@ __1:
 	if !(key == Pgno(0)) {
 		goto __2
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69430)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69434)
 	return
 __2:
 	;
@@ -28533,7 +28535,7 @@ __3:
 		goto __4
 	}
 
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69443)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69447)
 	goto ptrmap_exit
 __4:
 	;
@@ -28541,7 +28543,7 @@ __4:
 	if !(offset < 0) {
 		goto __5
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69448)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69452)
 	goto ptrmap_exit
 __5:
 	;
@@ -28584,7 +28586,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 	offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1)))
 	if offset < 0 {
 		Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
-		return Xsqlite3CorruptError(tls, 69493)
+		return Xsqlite3CorruptError(tls, 69497)
 	}
 
 	*(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
@@ -28594,7 +28596,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 
 	Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
 	if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 {
-		return Xsqlite3CorruptError(tls, 69501)
+		return Xsqlite3CorruptError(tls, 69505)
 	}
 	return SQLITE_OK
 }
@@ -28844,7 +28846,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr,
 	if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 		var ovfl Pgno
 		if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) {
-			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69893)
+			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69897)
 			return
 		}
 		ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4))
@@ -28891,7 +28893,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 {
 	if !(iFree > usableSize-4) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 69951)
+	return Xsqlite3CorruptError(tls, 69955)
 __2:
 	;
 	if !(iFree != 0) {
@@ -28901,7 +28903,7 @@ __2:
 	if !(iFree2 > usableSize-4) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 69954)
+	return Xsqlite3CorruptError(tls, 69958)
 __4:
 	;
 	if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) {
@@ -28914,7 +28916,7 @@ __4:
 	if !(top >= iFree) {
 		goto __6
 	}
-	return Xsqlite3CorruptError(tls, 69962)
+	return Xsqlite3CorruptError(tls, 69966)
 __6:
 	;
 	if !(iFree2 != 0) {
@@ -28923,14 +28925,14 @@ __6:
 	if !(iFree+sz > iFree2) {
 		goto __9
 	}
-	return Xsqlite3CorruptError(tls, 69965)
+	return Xsqlite3CorruptError(tls, 69969)
 __9:
 	;
 	sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1)))
 	if !(iFree2+sz2 > usableSize) {
 		goto __10
 	}
-	return Xsqlite3CorruptError(tls, 69967)
+	return Xsqlite3CorruptError(tls, 69971)
 __10:
 	;
 	libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz)))
@@ -28940,7 +28942,7 @@ __7:
 	if !(iFree+sz > usableSize) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 69971)
+	return Xsqlite3CorruptError(tls, 69975)
 __11:
 	;
 __8:
@@ -29004,7 +29006,7 @@ __19:
 	if !(pc < iCellStart || pc > iCellLast) {
 		goto __22
 	}
-	return Xsqlite3CorruptError(tls, 70004)
+	return Xsqlite3CorruptError(tls, 70008)
 __22:
 	;
 	size = int32((*struct {
@@ -29014,7 +29016,7 @@ __22:
 	if !(cbrk < iCellStart || pc+size > usableSize) {
 		goto __23
 	}
-	return Xsqlite3CorruptError(tls, 70010)
+	return Xsqlite3CorruptError(tls, 70014)
 __23:
 	;
 	*(*U8)(unsafe.Pointer(pAddr1)) = U8(cbrk >> 8)
@@ -29036,7 +29038,7 @@ defragment_out:
 	if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) {
 		goto __24
 	}
-	return Xsqlite3CorruptError(tls, 70024)
+	return Xsqlite3CorruptError(tls, 70028)
 __24:
 	;
 	*(*uint8)(unsafe.Pointer(data + uintptr(hdr+5))) = U8(cbrk >> 8)
@@ -29071,7 +29073,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 				*(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x)))
 				return aData + uintptr(pc)
 			} else if x+pc > maxPC {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70081)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70085)
 				return uintptr(0)
 			} else {
 				*(*U8)(unsafe.Pointer(aData + uintptr(pc+2))) = U8(x >> 8)
@@ -29084,13 +29086,13 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 		pc = int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1)))
 		if pc <= iAddr {
 			if pc != 0 {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70096)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70100)
 			}
 			return uintptr(0)
 		}
 	}
 	if pc > maxPC+nByte-4 {
-		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70103)
+		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70107)
 	}
 	return uintptr(0)
 }
@@ -29115,7 +29117,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 		if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) {
 			top = 65536
 		} else {
-			return Xsqlite3CorruptError(tls, 70152)
+			return Xsqlite3CorruptError(tls, 70156)
 		}
 	}
 
@@ -29126,7 +29128,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 
 			*(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1))
 			if g2 <= gap {
-				return Xsqlite3CorruptError(tls, 70170)
+				return Xsqlite3CorruptError(tls, 70174)
 			} else {
 				return SQLITE_OK
 			}
@@ -29178,22 +29180,22 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 				if int32(iFreeBlk) == 0 {
 					break
 				}
-				return Xsqlite3CorruptError(tls, 70249)
+				return Xsqlite3CorruptError(tls, 70253)
 			}
 			iPtr = iFreeBlk
 		}
 		if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) {
-			return Xsqlite3CorruptError(tls, 70254)
+			return Xsqlite3CorruptError(tls, 70258)
 		}
 
 		if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) {
 			nFrag = U8(U32(iFreeBlk) - iEnd)
 			if iEnd > U32(iFreeBlk) {
-				return Xsqlite3CorruptError(tls, 70266)
+				return Xsqlite3CorruptError(tls, 70270)
 			}
 			iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1)))))
 			if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-				return Xsqlite3CorruptError(tls, 70269)
+				return Xsqlite3CorruptError(tls, 70273)
 			}
 			iSize = U16(iEnd - U32(iStart))
 			iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1))))
@@ -29203,7 +29205,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1))))
 			if iPtrEnd+3 >= int32(iStart) {
 				if iPtrEnd > int32(iStart) {
-					return Xsqlite3CorruptError(tls, 70282)
+					return Xsqlite3CorruptError(tls, 70286)
 				}
 				nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd))
 				iSize = U16(iEnd - U32(iPtr))
@@ -29211,7 +29213,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			}
 		}
 		if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) {
-			return Xsqlite3CorruptError(tls, 70288)
+			return Xsqlite3CorruptError(tls, 70292)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag))
 	}
@@ -29219,10 +29221,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 	x = U16(int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1))))
 	if int32(iStart) <= int32(x) {
 		if int32(iStart) < int32(x) {
-			return Xsqlite3CorruptError(tls, 70297)
+			return Xsqlite3CorruptError(tls, 70301)
 		}
 		if int32(iPtr) != int32(hdr)+1 {
-			return Xsqlite3CorruptError(tls, 70298)
+			return Xsqlite3CorruptError(tls, 70302)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8)
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk)
@@ -29282,7 +29284,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70357)
+			return Xsqlite3CorruptError(tls, 70361)
 		}
 	} else {
 		(*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize = U8(4)
@@ -29318,7 +29320,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70381)
+			return Xsqlite3CorruptError(tls, 70385)
 		}
 	}
 	return SQLITE_OK
@@ -29348,11 +29350,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 		var next U32
 		var size U32
 		if pc < top {
-			return Xsqlite3CorruptError(tls, 70432)
+			return Xsqlite3CorruptError(tls, 70436)
 		}
 		for 1 != 0 {
 			if pc > iCellLast {
-				return Xsqlite3CorruptError(tls, 70437)
+				return Xsqlite3CorruptError(tls, 70441)
 			}
 			next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1))))
 			size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1))))
@@ -29363,15 +29365,15 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 			pc = int32(next)
 		}
 		if next > U32(0) {
-			return Xsqlite3CorruptError(tls, 70447)
+			return Xsqlite3CorruptError(tls, 70451)
 		}
 		if U32(pc)+size > uint32(usableSize) {
-			return Xsqlite3CorruptError(tls, 70451)
+			return Xsqlite3CorruptError(tls, 70455)
 		}
 	}
 
 	if nFree > usableSize || nFree < iCellFirst {
-		return Xsqlite3CorruptError(tls, 70463)
+		return Xsqlite3CorruptError(tls, 70467)
 	}
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst))
 	return SQLITE_OK
@@ -29399,14 +29401,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 {
 		pc = int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2) + 1)))
 
 		if pc < iCellFirst || pc > iCellLast {
-			return Xsqlite3CorruptError(tls, 70494)
+			return Xsqlite3CorruptError(tls, 70498)
 		}
 		sz = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
 		})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc)))
 
 		if pc+sz > usableSize {
-			return Xsqlite3CorruptError(tls, 70499)
+			return Xsqlite3CorruptError(tls, 70503)
 		}
 	}
 	return SQLITE_OK
@@ -29420,7 +29422,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 	data = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 {
-		return Xsqlite3CorruptError(tls, 70531)
+		return Xsqlite3CorruptError(tls, 70535)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1))
@@ -29432,7 +29434,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1))))
 	if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) {
-		return Xsqlite3CorruptError(tls, 70545)
+		return Xsqlite3CorruptError(tls, 70549)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = -1
@@ -29535,7 +29537,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	rc = Xsqlite3CorruptError(tls, 70700)
+	rc = Xsqlite3CorruptError(tls, 70704)
 	goto getAndInitPage_error1
 __1:
 	;
@@ -29563,7 +29565,7 @@ __3:
 	if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) {
 		goto __5
 	}
-	rc = Xsqlite3CorruptError(tls, 70721)
+	rc = Xsqlite3CorruptError(tls, 70725)
 	goto getAndInitPage_error2
 __5:
 	;
@@ -29602,7 +29604,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 {
 			releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
 			*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
-			return Xsqlite3CorruptError(tls, 70787)
+			return Xsqlite3CorruptError(tls, 70791)
 		}
 		(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0)
 	} else {
@@ -30485,7 +30487,7 @@ __16:
 	if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) {
 		goto __18
 	}
-	rc = Xsqlite3CorruptError(tls, 71722)
+	rc = Xsqlite3CorruptError(tls, 71726)
 	goto page1_init_failed
 	goto __19
 __18:
@@ -30900,7 +30902,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 	if int32(eType) == PTRMAP_OVERFLOW2 {
 		if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
-			return Xsqlite3CorruptError(tls, 72143)
+			return Xsqlite3CorruptError(tls, 72147)
 		}
 		Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo)
 	} else {
@@ -30926,7 +30928,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp)
 				if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 					if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-						return Xsqlite3CorruptError(tls, 72162)
+						return Xsqlite3CorruptError(tls, 72166)
 					}
 					if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) {
 						Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo)
@@ -30935,7 +30937,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				}
 			} else {
 				if pCell+uintptr(4) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-					return Xsqlite3CorruptError(tls, 72171)
+					return Xsqlite3CorruptError(tls, 72175)
 				}
 				if Xsqlite3Get4byte(tls, pCell) == iFrom {
 					Xsqlite3Put4byte(tls, pCell, iTo)
@@ -30946,7 +30948,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 		if i == nCell {
 			if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom {
-				return Xsqlite3CorruptError(tls, 72183)
+				return Xsqlite3CorruptError(tls, 72187)
 			}
 			Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo)
 		}
@@ -30962,7 +30964,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag
 	var pPager uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPager
 
 	if iDbPage < Pgno(3) {
-		return Xsqlite3CorruptError(tls, 72218)
+		return Xsqlite3CorruptError(tls, 72222)
 	}
 
 	*(*int32)(unsafe.Pointer(bp)) = Xsqlite3PagerMovepage(tls, pPager, (*MemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -31023,7 +31025,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 			return rc
 		}
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE {
-			return Xsqlite3CorruptError(tls, 72316)
+			return Xsqlite3CorruptError(tls, 72320)
 		}
 
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE {
@@ -31058,7 +31060,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 				if *(*Pgno)(unsafe.Pointer(bp + 40)) > dbSize {
 					releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
-					return Xsqlite3CorruptError(tls, 72368)
+					return Xsqlite3CorruptError(tls, 72372)
 				}
 			}
 
@@ -31118,7 +31120,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 {
 		var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree)
 
 		if nOrig < nFin || nFree >= nOrig {
-			rc = Xsqlite3CorruptError(tls, 72436)
+			rc = Xsqlite3CorruptError(tls, 72440)
 		} else if nFree > Pgno(0) {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
 			if rc == SQLITE_OK {
@@ -31157,7 +31159,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 
 		nOrig = btreePagecount(tls, pBt)
 		if ptrmapPageno(tls, pBt, nOrig) == nOrig || nOrig == U32(Xsqlite3PendingByte)/(*BtShared)(unsafe.Pointer(pBt)).FpageSize+U32(1) {
-			return Xsqlite3CorruptError(tls, 72487)
+			return Xsqlite3CorruptError(tls, 72491)
 		}
 
 		nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
@@ -31188,7 +31190,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 		}
 		nFin = finalDbSize(tls, pBt, nOrig, nVac)
 		if nFin > nOrig {
-			return Xsqlite3CorruptError(tls, 72514)
+			return Xsqlite3CorruptError(tls, 72518)
 		}
 		if nFin < nOrig {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -31529,7 +31531,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u
 
 	if iTable <= Pgno(1) {
 		if iTable < Pgno(1) {
-			return Xsqlite3CorruptError(tls, 72978)
+			return Xsqlite3CorruptError(tls, 72982)
 		} else if btreePagecount(tls, pBt) == Pgno(0) {
 			iTable = Pgno(0)
 		}
@@ -31773,14 +31775,14 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt
 
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
-		return Xsqlite3CorruptError(tls, 73385)
+		return Xsqlite3CorruptError(tls, 73389)
 	}
 
 	getCellInfo(tls, pCur)
 	aPayload = (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
 
 	if Uptr((int64(aPayload)-int64((*MemPage)(unsafe.Pointer(pPage)).FaData))/1) > Uptr((*BtShared)(unsafe.Pointer(pBt)).FusableSize-U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal)) {
-		return Xsqlite3CorruptError(tls, 73400)
+		return Xsqlite3CorruptError(tls, 73404)
 	}
 
 	if offset < U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -31825,7 +31827,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 
 		for *(*Pgno)(unsafe.Pointer(bp)) != 0 {
 			if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage {
-				return Xsqlite3CorruptError(tls, 73462)
+				return Xsqlite3CorruptError(tls, 73466)
 			}
 
 			*(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp))
@@ -31874,7 +31876,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	}
 
 	if rc == SQLITE_OK && amt > U32(0) {
-		return Xsqlite3CorruptError(tls, 73547)
+		return Xsqlite3CorruptError(tls, 73551)
 	}
 	return rc
 }
@@ -31954,7 +31956,7 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt
 
 func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 {
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 {
-		return Xsqlite3CorruptError(tls, 73684)
+		return Xsqlite3CorruptError(tls, 73688)
 	}
 	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	*(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl))
@@ -32045,7 +32047,7 @@ __2:
 	if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 73823)
+	return Xsqlite3CorruptError(tls, 73827)
 __11:
 	;
 skip_init:
@@ -32065,7 +32067,7 @@ __12:
 	if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) {
 		goto __16
 	}
-	return Xsqlite3CorruptError(tls, 73835)
+	return Xsqlite3CorruptError(tls, 73839)
 __16:
 	;
 	subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8))
@@ -32275,7 +32277,7 @@ __19:
 	if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __21
 	}
-	return Xsqlite3CorruptError(tls, 74077)
+	return Xsqlite3CorruptError(tls, 74081)
 __21:
 	;
 	goto __19
@@ -32479,7 +32481,7 @@ __2:
 	if !!(int32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit) != 0) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 74273)
+	return Xsqlite3CorruptError(tls, 74277)
 __4:
 	;
 	goto bypass_moveto_root
@@ -32544,7 +32546,7 @@ __15:
 	if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) {
 		goto __17
 	}
-	rc = Xsqlite3CorruptError(tls, 74360)
+	rc = Xsqlite3CorruptError(tls, 74364)
 	goto moveto_index_finish
 __17:
 	;
@@ -32592,7 +32594,7 @@ __22:
 	if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) {
 		goto __24
 	}
-	rc = Xsqlite3CorruptError(tls, 74392)
+	rc = Xsqlite3CorruptError(tls, 74396)
 __24:
 	;
 	goto moveto_index_finish
@@ -32711,7 +32713,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 {
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1))
 	if !(int32((*MemPage)(unsafe.Pointer(pPage)).FisInit) != 0) || Xsqlite3FaultSim(tls, 412) != 0 {
-		return Xsqlite3CorruptError(tls, 74508)
+		return Xsqlite3CorruptError(tls, 74512)
 	}
 
 	if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
@@ -32871,7 +32873,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr
 	if !(n >= mxPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74688)
+	return Xsqlite3CorruptError(tls, 74692)
 __1:
 	;
 	if !(n > U32(0)) {
@@ -32936,7 +32938,7 @@ __15:
 	if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) {
 		goto __16
 	}
-	rc = Xsqlite3CorruptError(tls, 74744)
+	rc = Xsqlite3CorruptError(tls, 74748)
 	goto __17
 __16:
 	rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0)
@@ -32972,7 +32974,7 @@ __19:
 		goto __22
 	}
 
-	rc = Xsqlite3CorruptError(tls, 74773)
+	rc = Xsqlite3CorruptError(tls, 74777)
 	goto end_allocate_page
 	goto __23
 __22:
@@ -33016,7 +33018,7 @@ __27:
 	if !(iNewTrunk > mxPage) {
 		goto __32
 	}
-	rc = Xsqlite3CorruptError(tls, 74807)
+	rc = Xsqlite3CorruptError(tls, 74811)
 	goto end_allocate_page
 __32:
 	;
@@ -33128,7 +33130,7 @@ __40:
 	if !(iPage > mxPage || iPage < Pgno(2)) {
 		goto __51
 	}
-	rc = Xsqlite3CorruptError(tls, 74872)
+	rc = Xsqlite3CorruptError(tls, 74876)
 	goto end_allocate_page
 __51:
 	;
@@ -33286,7 +33288,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 {
 	if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74999)
+	return Xsqlite3CorruptError(tls, 75003)
 __1:
 	;
 	if !(pMemPage != 0) {
@@ -33343,7 +33345,7 @@ __7:
 	if !(iTrunk > btreePagecount(tls, pBt)) {
 		goto __10
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75046)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75050)
 	goto freepage_out
 __10:
 	;
@@ -33359,7 +33361,7 @@ __11:
 	if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) {
 		goto __12
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75057)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75061)
 	goto freepage_out
 __12:
 	;
@@ -33433,7 +33435,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 	var ovflPageSize U32
 
 	if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 75146)
+		return Xsqlite3CorruptError(tls, 75150)
 	}
 	ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
 	pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt
@@ -33445,7 +33447,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 		*(*Pgno)(unsafe.Pointer(bp + 8)) = Pgno(0)
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 		if ovflPgno < Pgno(2) || ovflPgno > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 75163)
+			return Xsqlite3CorruptError(tls, 75167)
 		}
 		if nOvfl != 0 {
 			rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8)
@@ -33456,7 +33458,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 
 		if (*(*uintptr)(unsafe.Pointer(bp)) != 0 || libc.AssignPtrUintptr(bp, btreePageLookup(tls, pBt, ovflPgno)) != uintptr(0)) &&
 			Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 {
-			rc = Xsqlite3CorruptError(tls, 75183)
+			rc = Xsqlite3CorruptError(tls, 75187)
 		} else {
 			rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp)), ovflPgno)
 		}
@@ -33621,7 +33623,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
 	hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75436)
+		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75440)
 		return
 	}
 	rc = freeSpace(tls, pPage, uint16(pc), uint16(sz))
@@ -33900,12 +33902,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 
 		if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) {
 			if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) {
-				return Xsqlite3CorruptError(tls, 75737)
+				return Xsqlite3CorruptError(tls, 75741)
 			}
 			pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1)
 		} else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) &&
 			Uptr(pCell) < Uptr(pSrcEnd) {
-			return Xsqlite3CorruptError(tls, 75742)
+			return Xsqlite3CorruptError(tls, 75746)
 		}
 
 		pData -= uintptr(sz)
@@ -33913,7 +33915,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 		*(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1)
 		pCellptr += uintptr(2)
 		if pData < pCellptr {
-			return Xsqlite3CorruptError(tls, 75748)
+			return Xsqlite3CorruptError(tls, 75752)
 		}
 		libc.Xmemmove(tls, pData, pCell, uint64(sz))
 
@@ -33973,7 +33975,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr,
 
 		if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) &&
 			Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) {
-			Xsqlite3CorruptError(tls, 75833)
+			Xsqlite3CorruptError(tls, 75837)
 			return 1
 		}
 		libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz))
@@ -34062,7 +34064,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC
 	if !(nShift > nCell) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 75947)
+	return Xsqlite3CorruptError(tls, 75951)
 __2:
 	;
 	libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2))
@@ -34178,7 +34180,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr
 	var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt
 
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
-		return Xsqlite3CorruptError(tls, 76060)
+		return Xsqlite3CorruptError(tls, 76064)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 136)) = allocateBtreePage(tls, pBt, bp, bp+8, uint32(0), uint8(0))
@@ -34498,7 +34500,7 @@ __22:
 	if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) {
 		goto __25
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76481)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76485)
 	goto balance_cleanup
 __25:
 	;
@@ -34509,7 +34511,7 @@ __25:
 	if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) {
 		goto __27
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76505)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76509)
 	goto balance_cleanup
 __27:
 	;
@@ -34667,7 +34669,7 @@ __52:
 	if !(k > NB+2) {
 		goto __55
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76606)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76610)
 	goto balance_cleanup
 __55:
 	;
@@ -34741,7 +34743,7 @@ __65:
 	}()) {
 		goto __67
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76639)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76643)
 	goto balance_cleanup
 __67:
 	;
@@ -34804,7 +34806,7 @@ __73:
 	}()) {
 		goto __75
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76683)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76687)
 	goto balance_cleanup
 __75:
 	;
@@ -34832,7 +34834,7 @@ __76:
 		*(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) {
 		goto __81
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76716)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76720)
 __81:
 	;
 	if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) {
@@ -35093,7 +35095,7 @@ __120:
 	if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) {
 		goto __121
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76916)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76920)
 	goto balance_cleanup
 __121:
 	;
@@ -35285,7 +35287,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 {
 		if pOther != pCur &&
 			int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID &&
 			(*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage {
-			return Xsqlite3CorruptError(tls, 77146)
+			return Xsqlite3CorruptError(tls, 77150)
 		}
 	}
 	return SQLITE_OK
@@ -35323,7 +35325,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 {
 				break
 			}
 		} else if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) > 1 {
-			rc = Xsqlite3CorruptError(tls, 77206)
+			rc = Xsqlite3CorruptError(tls, 77210)
 		} else {
 			var pParent uintptr = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-1)*8))
 			var iIdx int32 = int32(*(*U16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-1)*2)))
@@ -35429,7 +35431,7 @@ func btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 			return rc
 		}
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
-			rc = Xsqlite3CorruptError(tls, 77370)
+			rc = Xsqlite3CorruptError(tls, 77374)
 		} else {
 			if U32(iOffset)+ovflPageSize < U32(nTotal) {
 				ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -35454,7 +35456,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 
 	if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd ||
 		(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FcellOffset) {
-		return Xsqlite3CorruptError(tls, 77398)
+		return Xsqlite3CorruptError(tls, 77402)
 	}
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
 		return btreeOverwriteContent(tls, pPage, (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX,
@@ -35524,7 +35526,7 @@ __2:
 		goto __3
 	}
 
-	return Xsqlite3CorruptError(tls, 77479)
+	return Xsqlite3CorruptError(tls, 77483)
 __3:
 	;
 __1:
@@ -35637,7 +35639,7 @@ __7:
 		goto __21
 	}
 
-	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77602)
+	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77606)
 	goto __22
 __21:
 	*(*int32)(unsafe.Pointer(bp + 120)) = btreeComputeFreeSpace(tls, pPage)
@@ -35697,6 +35699,7 @@ __30:
 __25:
 	;
 	idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
+	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !(*(*int32)(unsafe.Pointer(bp)) == 0) {
 		goto __31
 	}
@@ -35704,7 +35707,7 @@ __25:
 	if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) {
 		goto __33
 	}
-	return Xsqlite3CorruptError(tls, 77640)
+	return Xsqlite3CorruptError(tls, 77645)
 __33:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage)
@@ -35742,13 +35745,13 @@ __37:
 	if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) {
 		goto __39
 	}
-	return Xsqlite3CorruptError(tls, 77667)
+	return Xsqlite3CorruptError(tls, 77672)
 __39:
 	;
 	if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 124))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __40
 	}
-	return Xsqlite3CorruptError(tls, 77670)
+	return Xsqlite3CorruptError(tls, 77675)
 __40:
 	;
 	libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 124))))
@@ -35779,7 +35782,6 @@ __32:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 124)), uintptr(0), uint32(0))
 
-	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) {
 		goto __44
 	}
@@ -35854,7 +35856,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 	nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
 	aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
 	if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 77773)
+		return Xsqlite3CorruptError(tls, 77777)
 	}
 	nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
 	if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -35879,7 +35881,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 
 		if nRem > nIn {
 			if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-				return Xsqlite3CorruptError(tls, 77798)
+				return Xsqlite3CorruptError(tls, 77802)
 			}
 			ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
 		}
@@ -35980,7 +35982,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 				return *(*int32)(unsafe.Pointer(bp + 24))
 			}
 		} else {
-			return Xsqlite3CorruptError(tls, 77894)
+			return Xsqlite3CorruptError(tls, 77898)
 		}
 	}
 
@@ -35988,11 +35990,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 	iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
-		return Xsqlite3CorruptError(tls, 77903)
+		return Xsqlite3CorruptError(tls, 77907)
 	}
 	pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx) + 1)))))
 	if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 {
-		return Xsqlite3CorruptError(tls, 77907)
+		return Xsqlite3CorruptError(tls, 77911)
 	}
 
 	bPreserve = U8(libc.Bool32(int32(flags)&BTREE_SAVEPOSITION != 0))
@@ -36067,7 +36069,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 		}
 		pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)) + 1)))))
 		if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 {
-			return Xsqlite3CorruptError(tls, 77998)
+			return Xsqlite3CorruptError(tls, 78002)
 		}
 		nCell = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
@@ -36136,7 +36138,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 
 		Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp)
 		if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 78114)
+			return Xsqlite3CorruptError(tls, 78118)
 		}
 		*(*Pgno)(unsafe.Pointer(bp))++
 
@@ -36165,7 +36167,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 			}
 			*(*int32)(unsafe.Pointer(bp + 40)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp)), bp+32, bp+36)
 			if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE {
-				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78162)
+				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78166)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -36241,7 +36243,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 78252)
+	return Xsqlite3CorruptError(tls, 78256)
 __1:
 	;
 	*(*int32)(unsafe.Pointer(bp + 32)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0)
@@ -36255,7 +36257,7 @@ __2:
 		Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) {
 		goto __3
 	}
-	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78259)
+	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78263)
 	goto cleardatabasepage_out
 __3:
 	;
@@ -36389,7 +36391,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3
 	var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt
 
 	if iTable > btreePagecount(tls, pBt) {
-		return Xsqlite3CorruptError(tls, 78363)
+		return Xsqlite3CorruptError(tls, 78367)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 12)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0))
@@ -38859,7 +38861,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32,
 	var rc int32
 	(*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null)
 	if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) {
-		return Xsqlite3CorruptError(tls, 81630)
+		return Xsqlite3CorruptError(tls, 81634)
 	}
 	if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) {
 		rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz)
@@ -39508,7 +39510,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		return Xsqlite3GetVarint32(tls, a, bp)
 	}())
 	if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) {
-		return Xsqlite3CorruptError(tls, 82270)
+		return Xsqlite3CorruptError(tls, 82274)
 	}
 	iField = *(*int32)(unsafe.Pointer(bp))
 	for i = 0; i <= iCol; i++ {
@@ -39523,14 +39525,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		}())
 
 		if iHdr > *(*int32)(unsafe.Pointer(bp)) {
-			return Xsqlite3CorruptError(tls, 82276)
+			return Xsqlite3CorruptError(tls, 82280)
 		}
 		szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4))))
 		iField = iField + szField
 	}
 
 	if iField > nRec {
-		return Xsqlite3CorruptError(tls, 82282)
+		return Xsqlite3CorruptError(tls, 82286)
 	}
 	if pMem == uintptr(0) {
 		pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db))
@@ -41834,7 +41836,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 {
 		return rc
 	}
 	if *(*int32)(unsafe.Pointer(bp)) != 0 {
-		return Xsqlite3CorruptError(tls, 86058)
+		return Xsqlite3CorruptError(tls, 86062)
 	}
 	(*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0)
 	(*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE)
@@ -42385,7 +42387,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		i = 0
 	}
 	if d1 > uint32(nKey1) {
-		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86985))
+		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86989))
 		return 0
 	}
 
@@ -42450,7 +42452,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 
 				if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) ||
 					int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87062))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87066))
 					return 0
 				} else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 {
 					(*Mem)(unsafe.Pointer(bp + 8)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc
@@ -42484,7 +42486,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 				var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2))
 
 				if d1+U32(nStr) > uint32(nKey1) {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87092))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87096))
 					return 0
 				} else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 {
 					if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) {
@@ -42534,7 +42536,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		}
 		idx1 = idx1 + U32(Xsqlite3VarintLen(tls, uint64(*(*U32)(unsafe.Pointer(bp + 64)))))
 		if idx1 >= *(*U32)(unsafe.Pointer(bp + 4)) {
-			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87136))
+			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87140))
 			return 0
 		}
 	}
@@ -42680,7 +42682,7 @@ __5:
 	if !(szHdr+nStr > nKey1) {
 		goto __7
 	}
-	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87299))
+	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87303))
 	return 0
 __7:
 	;
@@ -42851,7 +42853,7 @@ __6:
 idx_rowid_corruption:
 	;
 	Xsqlite3VdbeMemReleaseMalloc(tls, bp)
-	return Xsqlite3CorruptError(tls, 87457)
+	return Xsqlite3CorruptError(tls, 87461)
 }
 
 // Compare the key of the index entry that cursor pC is pointing to against
@@ -42877,7 +42879,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
 
 	if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) {
 		*(*int32)(unsafe.Pointer(res)) = 0
-		return Xsqlite3CorruptError(tls, 87490)
+		return Xsqlite3CorruptError(tls, 87494)
 	}
 	Xsqlite3VdbeMemInit(tls, bp, db, uint16(0))
 	rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp)
@@ -43151,7 +43153,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 {
 		var v uintptr = pStmt
 		var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb
 		if vdbeSafety(tls, v) != 0 {
-			return Xsqlite3MisuseError(tls, 87854)
+			return Xsqlite3MisuseError(tls, 87858)
 		}
 		Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) {
@@ -43791,7 +43793,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 {
 	var db uintptr
 
 	if vdbeSafetyNotNull(tls, v) != 0 {
-		return Xsqlite3MisuseError(tls, 88544)
+		return Xsqlite3MisuseError(tls, 88548)
 	}
 	db = (*Vdbe)(unsafe.Pointer(v)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -44311,7 +44313,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 
 	var pVar uintptr
 	if vdbeSafetyNotNull(tls, p) != 0 {
-		return Xsqlite3MisuseError(tls, 89208)
+		return Xsqlite3MisuseError(tls, 89212)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 	if int32((*Vdbe)(unsafe.Pointer(p)).FeVdbeState) != VDBE_READY_STATE {
@@ -44319,7 +44321,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 		Xsqlite3_log(tls, SQLITE_MISUSE,
 			ts+5357, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql))
-		return Xsqlite3MisuseError(tls, 89216)
+		return Xsqlite3MisuseError(tls, 89220)
 	}
 	if i >= uint32((*Vdbe)(unsafe.Pointer(p)).FnVar) {
 		Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE)
@@ -44734,7 +44736,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89707)
+	rc = Xsqlite3MisuseError(tls, 89711)
 	goto preupdate_old_out
 __1:
 	;
@@ -44878,7 +44880,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89809)
+	rc = Xsqlite3MisuseError(tls, 89813)
 	goto preupdate_new_out
 __1:
 	;
@@ -45322,10 +45324,6 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 {
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Real != 0 {
 			h = h + U64(Xsqlite3VdbeIntValue(tls, p))
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 {
-			h = h + U64((*Mem)(unsafe.Pointer(p)).Fn)
-			if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Zero != 0 {
-				h = h + U64(*(*int32)(unsafe.Pointer(p)))
-			}
 		}
 	}
 	return h
@@ -47973,7 +47971,7 @@ op_column_corrupt:
 	goto __9
 	goto __425
 __424:
-	rc = Xsqlite3CorruptError(tls, 93317)
+	rc = Xsqlite3CorruptError(tls, 93320)
 	goto abort_due_to_error
 __425:
 	;
@@ -49733,7 +49731,7 @@ notExistsWithKey:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) {
 		goto __682
 	}
-	rc = Xsqlite3CorruptError(tls, 95560)
+	rc = Xsqlite3CorruptError(tls, 95563)
 	goto __683
 __682:
 	goto jump_to_p2
@@ -50511,7 +50509,7 @@ __767:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) {
 		goto __770
 	}
-	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96635, ts+5866)
+	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96638, ts+5866)
 	goto abort_due_to_error
 __770:
 	;
@@ -50621,7 +50619,7 @@ __780:
 	if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) {
 		goto __781
 	}
-	rc = Xsqlite3CorruptError(tls, 96840)
+	rc = Xsqlite3CorruptError(tls, 96843)
 	goto abort_due_to_error
 __781:
 	;
@@ -50815,7 +50813,7 @@ __802:
 		goto __803
 	}
 
-	rc = Xsqlite3CorruptError(tls, 97092)
+	rc = Xsqlite3CorruptError(tls, 97095)
 __803:
 	;
 	Xsqlite3DbFreeNN(tls, db, zSql)
@@ -52182,7 +52180,7 @@ __955:
 	if !(rc == SQLITE_IOERR|int32(33)<<8) {
 		goto __957
 	}
-	rc = Xsqlite3CorruptError(tls, 99031)
+	rc = Xsqlite3CorruptError(tls, 99034)
 __957:
 	;
 __956:
@@ -52702,7 +52700,7 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99516)
+		return Xsqlite3MisuseError(tls, 99519)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -52785,7 +52783,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99616)
+		return Xsqlite3MisuseError(tls, 99619)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -56225,14 +56223,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			;
 			Xsqlite3WalkExpr(tls, pWalker, (*Expr)(unsafe.Pointer(pExpr)).FpLeft)
 			if 0 == Xsqlite3ExprCanBeNull(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
-				if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6764
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsTrue)
-				} else {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6769
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
-				}
-				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
+				*(*int32)(unsafe.Pointer(pExpr + 8)) = libc.Bool32(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL)
+				*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IntValue)
+				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_INTEGER)
+
 				i = 0
 				p = pNC
 			__4:
@@ -56276,7 +56270,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_GenCol) != 0 {
-					notValidImpl(tls, pParse, pNC, ts+6775, uintptr(0), pExpr)
+					notValidImpl(tls, pParse, pNC, ts+6764, uintptr(0), pExpr)
 				}
 
 				pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight
@@ -56340,7 +56334,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 						(*Expr)(unsafe.Pointer(pExpr)).FiTable = exprProbability(tls, (*ExprList_item)(unsafe.Pointer(pList+8+1*32)).FpExpr)
 						if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 {
 							Xsqlite3ErrorMsg(tls, pParse,
-								ts+6792, libc.VaList(bp, pExpr))
+								ts+6781, libc.VaList(bp, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
 					} else {
@@ -56356,7 +56350,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 					var auth int32 = Xsqlite3AuthCheck(tls, pParse, SQLITE_FUNCTION, uintptr(0), (*FuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0))
 					if auth != SQLITE_OK {
 						if auth == SQLITE_DENY {
-							Xsqlite3ErrorMsg(tls, pParse, ts+6856,
+							Xsqlite3ErrorMsg(tls, pParse, ts+6845,
 								libc.VaList(bp+8, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
@@ -56370,7 +56364,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				}
 				if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_CONSTANT) == U32(0) {
 					if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_PartIdx|NC_GenCol) != 0 {
-						notValidImpl(tls, pParse, pNC, ts+6892, uintptr(0), pExpr)
+						notValidImpl(tls, pParse, pNC, ts+6881, uintptr(0), pExpr)
 					}
 
 				} else {
@@ -56393,30 +56387,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			if 0 == libc.Bool32(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 				if pDef != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+6920, libc.VaList(bp+16, pExpr))
+						ts+6909, libc.VaList(bp+16, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowAgg == 0 ||
 					is_agg != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) ||
 					is_agg != 0 && pWin != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowWin == 0 {
 					var zType uintptr
 					if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 {
-						zType = ts + 6963
+						zType = ts + 6952
 					} else {
-						zType = ts + 6970
+						zType = ts + 6959
 					}
-					Xsqlite3ErrorMsg(tls, pParse, ts+6980, libc.VaList(bp+24, zType, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6969, libc.VaList(bp+24, zType, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 					is_agg = 0
 				} else if no_such_func != 0 && int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7008, libc.VaList(bp+40, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6997, libc.VaList(bp+40, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if wrong_num_args != 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7030,
+					Xsqlite3ErrorMsg(tls, pParse, ts+7019,
 						libc.VaList(bp+48, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg == 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7074,
+						ts+7063,
 						libc.VaList(bp+56, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				}
@@ -56488,15 +56482,15 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_SelfRef != 0 {
-					notValidImpl(tls, pParse, pNC, ts+7122, pExpr, pExpr)
+					notValidImpl(tls, pParse, pNC, ts+7111, pExpr, pExpr)
 				} else {
 					Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32)))
 				}
 
 				if nRef != (*NameContext)(unsafe.Pointer(pNC)).FnRef {
 					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_VarSelect)
-					*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_VarSelect
 				}
+				*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_Subquery
 			}
 			break
 
@@ -56504,7 +56498,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 	case TK_VARIABLE:
 		{
 			if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IsCheck|NC_PartIdx|NC_IdxExpr|NC_GenCol) != 0 {
-				notValidImpl(tls, pParse, pNC, ts+7133, pExpr, pExpr)
+				notValidImpl(tls, pParse, pNC, ts+7122, pExpr, pExpr)
 			}
 
 			break
@@ -56635,7 +56629,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3
 	defer tls.Free(24)
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+7144, libc.VaList(bp, i, zType, mx))
+		ts+7133, libc.VaList(bp, i, zType, mx))
 	Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pError)
 }
 
@@ -56655,7 +56649,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	}
 	db = (*Parse)(unsafe.Pointer(pParse)).Fdb
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7200, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7189, 0)
 		return 1
 	}
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
@@ -56690,7 +56684,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 			}
 			if Xsqlite3ExprIsInteger(tls, pE, bp+8) != 0 {
 				if *(*int32)(unsafe.Pointer(bp + 8)) <= 0 || *(*int32)(unsafe.Pointer(bp + 8)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr {
-					resolveOutOfRangeError(tls, pParse, ts+7234, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
+					resolveOutOfRangeError(tls, pParse, ts+7223, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
 					return 1
 				}
 			} else {
@@ -56747,7 +56741,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
 		if int32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2) == 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+7240, libc.VaList(bp, i+1))
+				ts+7229, libc.VaList(bp, i+1))
 			return 1
 		}
 	}
@@ -56775,7 +56769,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr,
 		return 0
 	}
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7301, libc.VaList(bp, zType))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7290, libc.VaList(bp, zType))
 		return 1
 	}
 	pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList
@@ -56989,7 +56983,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		*(*int32)(unsafe.Pointer(bp + 40)) |= NC_UEList
 		if (*Select)(unsafe.Pointer(p)).FpHaving != 0 {
 			if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Aggregate) == U32(0) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7332, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+7321, 0)
 				return WRC_Abort
 			}
 			if Xsqlite3ResolveExprNames(tls, bp, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 {
@@ -57029,7 +57023,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 
 		if (*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) &&
 			isCompound <= nCompound &&
-			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7234) != 0 {
+			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7223) != 0 {
 			return WRC_Abort
 		}
 		if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -57040,7 +57034,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		if pGroupBy != 0 {
 			var pItem uintptr
 
-			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7371) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
+			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7360) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 				return WRC_Abort
 			}
 			i = 0
@@ -57052,7 +57046,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 			{
 				if (*Expr)(unsafe.Pointer((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr)).Fflags&U32(EP_Agg) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7377, 0)
+						ts+7366, 0)
 					return WRC_Abort
 				}
 
@@ -57916,7 +57910,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32
 	var mxHeight int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4))
 	if nHeight > mxHeight {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+7436, libc.VaList(bp, mxHeight))
+			ts+7425, libc.VaList(bp, mxHeight))
 		rc = SQLITE_ERROR
 	}
 	return rc
@@ -58165,10 +58159,10 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList
 			nExprElem = 1
 		}
 		if nExprElem != nElem {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7484,
+			Xsqlite3ErrorMsg(tls, pParse, ts+7473,
 				libc.VaList(bp, nExprElem, func() uintptr {
 					if nExprElem > 1 {
-						return ts + 7528
+						return ts + 7517
 					}
 					return ts + 1554
 				}(), nElem))
@@ -58209,7 +58203,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt
 		!(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 		Xsqlite3ExprDeferredDelete(tls, pParse, pLeft)
 		Xsqlite3ExprDeferredDelete(tls, pParse, pRight)
-		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7530)
+		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7519)
 	} else {
 		return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight)
 	}
@@ -58235,7 +58229,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u
 	if pList != 0 &&
 		(*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) &&
 		!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7532, libc.VaList(bp, pToken))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7521, libc.VaList(bp, pToken))
 	}
 	*(*uintptr)(unsafe.Pointer(pNew + 32)) = pList
 	*(*U32)(unsafe.Pointer(pNew + 4)) |= U32(EP_HasFunc)
@@ -58263,7 +58257,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD
 	if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromDDL) != U32(0) {
 		if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_DIRECT) != U32(0) ||
 			(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) == uint64(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7566, libc.VaList(bp, pExpr))
+			Xsqlite3ErrorMsg(tls, pParse, ts+7555, libc.VaList(bp, pExpr))
 		}
 	}
 }
@@ -58310,7 +58304,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 			}
 
 			if bOk == 0 || *(*I64)(unsafe.Pointer(bp + 8)) < int64(1) || *(*I64)(unsafe.Pointer(bp + 8)) > I64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7586,
+				Xsqlite3ErrorMsg(tls, pParse, ts+7575,
 					libc.VaList(bp, *(*int32)(unsafe.Pointer(db + 136 + 9*4))))
 				Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 				return
@@ -58335,7 +58329,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 	}
 	(*Expr)(unsafe.Pointer(pExpr)).FiColumn = x
 	if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7629, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7618, 0)
 		Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 	}
 }
@@ -58910,7 +58904,7 @@ __2:
 	if !(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_SELECT && (*IdList)(unsafe.Pointer(pColumns)).FnId != libc.AssignInt32(&n, Xsqlite3ExprVectorSize(tls, pExpr))) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7652,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7641,
 		libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n))
 	goto vector_append_error
 __3:
@@ -59033,7 +59027,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr,
 	var mx int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4))
 
 	if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7682, libc.VaList(bp, zObject))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7671, libc.VaList(bp, zObject))
 	}
 }
 
@@ -59089,10 +59083,10 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int
 //	  "false"                        EP_IsFalse
 //	  anything else                  0
 func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 {
-	if Xsqlite3StrICmp(tls, zIn, ts+6764) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7694) == 0 {
 		return U32(EP_IsTrue)
 	}
-	if Xsqlite3StrICmp(tls, zIn, ts+6769) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7699) == 0 {
 		return U32(EP_IsFalse)
 	}
 	return U32(0)
@@ -60166,7 +60160,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 {
 	}
 	if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
-		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7530)
+		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7519)
 		if pLimit != 0 {
 			(*Expr)(unsafe.Pointer(pLimit)).FaffExpr = uint8(SQLITE_AFF_NUMERIC)
 			pLimit = Xsqlite3PExpr(tls, pParse, TK_NE,
@@ -60604,6 +60598,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr
 func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) {
 	var iAddr int32
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
+	var nErr int32 = (*Parse)(unsafe.Pointer(pParse)).FnErr
 
 	if (*Parse)(unsafe.Pointer(pParse)).FiSelfTab > 0 {
 		iAddr = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Parse)(unsafe.Pointer(pParse)).FiSelfTab-1, 0, regOut)
@@ -60617,6 +60612,9 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr
 	if iAddr != 0 {
 		Xsqlite3VdbeJumpHere(tls, v, iAddr)
 	}
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr > nErr {
+		(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FerrByteOffset = -1
+	}
 }
 
 // Generate code to extract the value of the iCol-th column of a table.
@@ -60835,6 +60833,7 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 	var p uintptr
 	var v uintptr
 	for p = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr; p != 0; p = (*IndexedExpr)(unsafe.Pointer(p)).FpIENext {
+		var exprAff U8
 		var iDataCur int32 = (*IndexedExpr)(unsafe.Pointer(p)).FiDataCur
 		if iDataCur < 0 {
 			continue
@@ -60848,6 +60847,14 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 		if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IndexedExpr)(unsafe.Pointer(p)).FpExpr, iDataCur) != 0 {
 			continue
 		}
+
+		exprAff = Xsqlite3ExprAffinity(tls, pExpr)
+		if int32(exprAff) <= SQLITE_AFF_BLOB && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_BLOB ||
+			int32(exprAff) == SQLITE_AFF_TEXT && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_TEXT ||
+			int32(exprAff) >= SQLITE_AFF_NUMERIC && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_NUMERIC {
+			continue
+		}
+
 		v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 
 		if (*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow != 0 {
@@ -61621,7 +61628,7 @@ __121:
 	if !((*Expr)(unsafe.Pointer(pExpr)).FiTable != n1) {
 		goto __122
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7652,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7641,
 		libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1))
 __122:
 	;
@@ -61643,11 +61650,10 @@ __49:
 	return target
 
 __50:
-	if !(!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) &&
-		(*Expr)(unsafe.Pointer(pExpr)).FpLeft != 0 &&
-		int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_FUNCTION) {
+	if !!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) {
 		goto __123
 	}
+
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	if !(inReg != target) {
 		goto __125
@@ -61718,13 +61724,19 @@ __129:
 	;
 __127:
 	;
-	addrINR = Xsqlite3VdbeAddOp1(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable)
+	addrINR = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable, 0, target)
 
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = U8(0)
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = okConstFactor
+	if !(inReg != target) {
+		goto __130
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, inReg, target)
+	inReg = target
+__130:
+	;
 	Xsqlite3VdbeJumpHere(tls, v, addrINR)
-	Xsqlite3VdbeChangeP3(tls, v, addrINR, inReg)
 	goto __5
 
 __56:
@@ -61737,15 +61749,15 @@ __56:
 	nExpr = (*ExprList)(unsafe.Pointer(pEList)).FnExpr
 	endLabel = Xsqlite3VdbeMakeLabel(tls, pParse)
 	if !(libc.AssignUintptr(&pX, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) != uintptr(0)) {
-		goto __130
+		goto __131
 	}
 	pDel = Xsqlite3ExprDup(tls, db1, pX, 0)
 	if !((*Sqlite3)(unsafe.Pointer(db1)).FmallocFailed != 0) {
-		goto __131
+		goto __132
 	}
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	goto __5
-__131:
+__132:
 	;
 	exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+40))
 
@@ -61755,22 +61767,22 @@ __131:
 	pTest = bp + 120
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = 0
-__130:
+__131:
 	;
 	i1 = 0
-__132:
+__133:
 	if !(i1 < nExpr-1) {
-		goto __134
+		goto __135
 	}
 	if !(pX != 0) {
-		goto __135
+		goto __136
 	}
 
 	(*Expr)(unsafe.Pointer(bp + 120)).FpRight = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
-	goto __136
-__135:
-	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+	goto __137
 __136:
+	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+__137:
 	;
 	nextCase = Xsqlite3VdbeMakeLabel(tls, pParse)
 
@@ -61779,21 +61791,21 @@ __136:
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(aListelem+uintptr(i1+1)*32)).FpExpr, target)
 	Xsqlite3VdbeGoto(tls, v, endLabel)
 	Xsqlite3VdbeResolveLabel(tls, v, nextCase)
-	goto __133
-__133:
-	i1 = i1 + 2
-	goto __132
 	goto __134
 __134:
+	i1 = i1 + 2
+	goto __133
+	goto __135
+__135:
 	;
 	if !(nExpr&1 != 0) {
-		goto __137
+		goto __138
 	}
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(pEList+8+uintptr(nExpr-1)*32)).FpExpr, target)
-	goto __138
-__137:
-	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+	goto __139
 __138:
+	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+__139:
 	;
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	setDoNotMergeFlagOnCopy(tls, v)
@@ -61803,27 +61815,27 @@ __138:
 __57:
 	;
 	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).FpTriggerTab) != 0) && !(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0)) {
-		goto __139
+		goto __140
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
 		ts+8082, 0)
 	return 0
-__139:
-	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
-		goto __140
-	}
-	Xsqlite3MayAbort(tls, pParse)
 __140:
 	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
 		goto __141
 	}
+	Xsqlite3MayAbort(tls, pParse)
+__141:
+	;
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+		goto __142
+	}
 	Xsqlite3VdbeAddOp4(tls,
 		v, OP_Halt, SQLITE_OK, OE_Ignore, 0, *(*uintptr)(unsafe.Pointer(pExpr + 8)), 0)
 
-	goto __142
-__141:
+	goto __143
+__142:
 	Xsqlite3HaltConstraint(tls, pParse,
 		func() int32 {
 			if (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab != 0 {
@@ -61832,7 +61844,7 @@ __141:
 			return SQLITE_ERROR
 		}(),
 		int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr), *(*uintptr)(unsafe.Pointer(pExpr + 8)), int8(0), uint8(0))
-__142:
+__143:
 	;
 	goto __5
 
@@ -64500,7 +64512,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 		return SQLITE_NOMEM
 	}
 	if Xsqlite3_strnicmp(tls, zSql, ts+10922, 7) != 0 {
-		return Xsqlite3CorruptError(tls, 113494)
+		return Xsqlite3CorruptError(tls, 113516)
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 {
 		if bTemp != 0 {
@@ -64517,7 +64529,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 	}
 	if rc == SQLITE_OK &&
 		((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
-		rc = Xsqlite3CorruptError(tls, 113505)
+		rc = Xsqlite3CorruptError(tls, 113527)
 	}
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
@@ -65438,7 +65450,7 @@ __1:
 		goto __2
 	}
 
-	rc = Xsqlite3CorruptError(tls, 114441)
+	rc = Xsqlite3CorruptError(tls, 114463)
 	goto drop_column_done
 __2:
 	;
@@ -69801,6 +69813,12 @@ __10:
 
 	pExpr = Xsqlite3PExpr(tls, pParse, TK_UPLUS, pExpr, uintptr(0))
 __11:
+	;
+	if !(pExpr != 0 && int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_RAISE) {
+		goto __12
+	}
+	(*Expr)(unsafe.Pointer(pExpr)).FaffExpr = (*Column)(unsafe.Pointer(pCol)).Faffinity
+__12:
 	;
 	Xsqlite3ColumnSetExpr(tls, pParse, pTab, pCol, pExpr)
 	pExpr = uintptr(0)
@@ -70966,7 +70984,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 {
 		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3286, 4) == 0 {
 			return 0
 		}
-		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7133, 10) == 0 {
+		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7122, 10) == 0 {
 			return 0
 		}
 		return 1
@@ -72212,7 +72230,7 @@ __81:
 		goto __101
 	}
 	Xsqlite3ErrorMsg(tls, pParse, ts+14140, 0)
-	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121835)
+	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121859)
 	goto exit_create_index
 __101:
 	;
@@ -74262,7 +74280,7 @@ __20:
 	goto __16
 __15:
 	wcf = U16(WHERE_ONEPASS_DESIRED | WHERE_DUPLICATES_OK)
-	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_VarSelect != 0) {
+	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_Subquery != 0) {
 		goto __23
 	}
 	bComplex = 1
@@ -80730,7 +80748,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca
 	if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) {
 		goto __1
 	}
-	return Xsqlite3MisuseError(tls, 131895)
+	return Xsqlite3MisuseError(tls, 131931)
 __1:
 	;
 	if !(zSql == uintptr(0)) {
@@ -82129,7 +82147,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh
 		} else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) {
 			zType = ts + 17513
 		} else {
-			zType = ts + 7528
+			zType = ts + 7517
 		}
 		Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17515,
 			libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin,
@@ -82290,6 +82308,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p
 	var zErr2 uintptr
 	var k3 int32
 	var pCheck uintptr
+	var jmp7 int32
 	var jmp6 int32
 	var iCol1 int32
 	var uniqOk int32
@@ -83608,7 +83627,7 @@ __215:
 		goto __217
 	}
 	pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7528, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7517, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
 	goto __216
 __216:
 	j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext
@@ -83624,7 +83643,7 @@ __218:
 	if !(i6 < int32(uint64(unsafe.Sizeof(aPragmaName))/uint64(unsafe.Sizeof(PragmaName{})))) {
 		goto __220
 	}
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7528, libc.VaList(bp+272, aPragmaName[i6].FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7517, libc.VaList(bp+272, aPragmaName[i6].FzName))
 	goto __219
 __219:
 	i6++
@@ -84429,80 +84448,94 @@ __344:
 	jmp4 = integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, jmp21)
 
+	if !((*Table)(unsafe.Pointer(pTab9)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) {
+		goto __345
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_IdxRowid, *(*int32)(unsafe.Pointer(bp + 616))+j4, 3)
+	jmp7 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 3, 0, r1+int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)-1)
+
+	Xsqlite3VdbeLoadString(tls, v, 3,
+		ts+17929)
+	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17965)
+	Xsqlite3VdbeGoto(tls, v, jmp5-1)
+	Xsqlite3VdbeJumpHere(tls, v, jmp7)
+__345:
+	;
 	label6 = 0
 	kk = 0
-__345:
+__346:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __347
-	}
-	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __348
 	}
-	goto __346
-__348:
-	;
-	if !(label6 == 0) {
+	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __349
 	}
-	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+	goto __347
 __349:
+	;
+	if !(label6 == 0) {
+		goto __350
+	}
+	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+__350:
 	;
 	Xsqlite3VdbeAddOp3(tls, v, OP_Column, *(*int32)(unsafe.Pointer(bp + 616))+j4, kk, 3)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Ne, 3, label6, r1+kk)
-	goto __346
-__346:
-	kk++
-	goto __345
 	goto __347
 __347:
+	kk++
+	goto __346
+	goto __348
+__348:
 	;
 	if !(label6 != 0) {
-		goto __350
+		goto __351
 	}
 	jmp6 = Xsqlite3VdbeAddOp0(tls, v, OP_Goto)
 	Xsqlite3VdbeResolveLabel(tls, v, label6)
 	Xsqlite3VdbeLoadString(tls, v, 3, ts+17903)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
-	Xsqlite3VdbeLoadString(tls, v, 4, ts+17929)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17976)
 	Xsqlite3VdbeGoto(tls, v, jmp5-1)
 	Xsqlite3VdbeJumpHere(tls, v, jmp6)
-__350:
+__351:
 	;
 	if !(int32((*Index)(unsafe.Pointer(pIdx5)).FonError) != OE_None) {
-		goto __351
+		goto __352
 	}
 	uniqOk = Xsqlite3VdbeMakeLabel(tls, pParse)
 	kk = 0
-__352:
+__353:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __354
+		goto __355
 	}
 	iCol1 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2)))
 
 	if !(iCol1 >= 0 && uint32(int32(*(*uint8)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*24 + 8))&0xf>>0)) != 0) {
-		goto __355
+		goto __356
 	}
-	goto __353
-__355:
+	goto __354
+__356:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_IsNull, r1+kk, uniqOk)
 
-	goto __353
-__353:
-	kk++
-	goto __352
 	goto __354
 __354:
+	kk++
+	goto __353
+	goto __355
+__355:
 	;
 	jmp61 = Xsqlite3VdbeAddOp1(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 616))+j4)
 	Xsqlite3VdbeGoto(tls, v, uniqOk)
 	Xsqlite3VdbeJumpHere(tls, v, jmp61)
 	Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, *(*int32)(unsafe.Pointer(bp + 616))+j4, uniqOk, r1,
 		int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol))
-	Xsqlite3VdbeLoadString(tls, v, 3, ts+17956)
+	Xsqlite3VdbeLoadString(tls, v, 3, ts+18003)
 	Xsqlite3VdbeGoto(tls, v, jmp5)
 	Xsqlite3VdbeResolveLabel(tls, v, uniqOk)
-__351:
+__352:
 	;
 	Xsqlite3VdbeJumpHere(tls, v, jmp4)
 	Xsqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 632)))
@@ -84519,20 +84552,20 @@ __340:
 	Xsqlite3VdbeAddOp2(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 612)), loopTop)
 	Xsqlite3VdbeJumpHere(tls, v, loopTop-1)
 	if !!(isQuick != 0) {
-		goto __356
+		goto __357
 	}
-	Xsqlite3VdbeLoadString(tls, v, 2, ts+17983)
+	Xsqlite3VdbeLoadString(tls, v, 2, ts+18030)
 	j4 = 0
 	pIdx5 = (*Table)(unsafe.Pointer(pTab9)).FpIndex
-__357:
+__358:
 	if !(pIdx5 != 0) {
-		goto __359
-	}
-	if !(pPk1 == pIdx5) {
 		goto __360
 	}
-	goto __358
-__360:
+	if !(pPk1 == pIdx5) {
+		goto __361
+	}
+	goto __359
+__361:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_Count, *(*int32)(unsafe.Pointer(bp + 616))+j4, 3)
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 8+j4, 0, 3)
@@ -84541,21 +84574,21 @@ __360:
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 2, 3)
 	integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
-	goto __358
-__358:
-	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
-	j4++
-	goto __357
 	goto __359
 __359:
+	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
+	j4++
+	goto __358
+	goto __360
+__360:
 	;
 	if !(pPk1 != 0) {
-		goto __361
+		goto __362
 	}
 	Xsqlite3ReleaseTempRange(tls, pParse, r2, int32((*Index)(unsafe.Pointer(pPk1)).FnKeyCol))
-__361:
+__362:
 	;
-__356:
+__357:
 	;
 	goto __291
 __291:
@@ -84573,14 +84606,14 @@ __266:
 	;
 	aOp2 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(endCode))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&endCode)), iLn5)
 	if !(aOp2 != 0) {
-		goto __362
+		goto __363
 	}
 	(*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = 1 - *(*int32)(unsafe.Pointer(bp + 608))
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1)
-	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 18012
+	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 18059
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 5*24)).Fp4type = int8(-1)
 	*(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT)
-__362:
+__363:
 	;
 	Xsqlite3VdbeChangeP3(tls, v, 0, Xsqlite3VdbeCurrentAddr(tls, v)-2)
 
@@ -84588,27 +84621,27 @@ __362:
 
 __45:
 	if !!(zRight != 0) {
-		goto __363
+		goto __364
 	}
 	if !(Xsqlite3ReadSchema(tls, pParse) != 0) {
-		goto __365
-	}
-	goto pragma_out
-__365:
-	;
-	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
-	goto __364
-__363:
-	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
 		goto __366
 	}
+	goto pragma_out
+__366:
+	;
+	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
+	goto __365
+__364:
+	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
+		goto __367
+	}
 	pEnc = uintptr(unsafe.Pointer(&encnames1))
-__367:
+__368:
 	if !((*EncName)(unsafe.Pointer(pEnc)).FzName != 0) {
-		goto __369
+		goto __370
 	}
 	if !(0 == Xsqlite3StrICmp(tls, zRight, (*EncName)(unsafe.Pointer(pEnc)).FzName)) {
-		goto __370
+		goto __371
 	}
 	if (*EncName)(unsafe.Pointer(pEnc)).Fenc != 0 {
 		enc = (*EncName)(unsafe.Pointer(pEnc)).Fenc
@@ -84622,25 +84655,25 @@ __367:
 	}
 	(*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema)).Fenc = enc
 	Xsqlite3SetTextEncoding(tls, db, enc)
-	goto __369
-__370:
-	;
-	goto __368
-__368:
-	pEnc += 16
-	goto __367
-	goto __369
-__369:
-	;
-	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
-		goto __371
-	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18015, libc.VaList(bp+456, zRight))
+	goto __370
 __371:
 	;
-__366:
+	goto __369
+__369:
+	pEnc += 16
+	goto __368
+	goto __370
+__370:
 	;
-__364:
+	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
+		goto __372
+	}
+	Xsqlite3ErrorMsg(tls, pParse, ts+18062, libc.VaList(bp+456, zRight))
+__372:
+	;
+__367:
+	;
+__365:
 	;
 	goto __15
 
@@ -84648,15 +84681,15 @@ __46:
 	iCookie = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiArg)
 	Xsqlite3VdbeUsesBtree(tls, v, iDb)
 	if !(zRight != 0 && int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_ReadOnly == 0) {
-		goto __372
+		goto __373
 	}
 
 	aOp3 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(setCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&setCookie)), 0)
 	if !(0 != 0) {
-		goto __374
+		goto __375
 	}
 	goto __15
-__374:
+__375:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp3)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp1 = iDb
@@ -84664,41 +84697,41 @@ __374:
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp3 = Xsqlite3Atoi(tls, zRight)
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp5 = U16(1)
 	if !(iCookie == BTREE_SCHEMA_VERSION && (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0)) {
-		goto __375
+		goto __376
 	}
 
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fopcode = U8(OP_Noop)
-__375:
+__376:
 	;
-	goto __373
-__372:
+	goto __374
+__373:
 	;
 	aOp4 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(readCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&readCookie)), 0)
 	if !(0 != 0) {
-		goto __376
+		goto __377
 	}
 	goto __15
-__376:
+__377:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp4)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp3 = iCookie
 	Xsqlite3VdbeReusable(tls, v)
-__373:
+__374:
 	;
 	goto __15
 
 __47:
 	i10 = 0
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 1
-__377:
+__378:
 	if !(libc.AssignUintptr(&zOpt, Xsqlite3_compileoption_get(tls, libc.PostIncInt32(&i10, 1))) != uintptr(0)) {
-		goto __378
+		goto __379
 	}
 	Xsqlite3VdbeLoadString(tls, v, 1, zOpt)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1)
-	goto __377
-__378:
+	goto __378
+__379:
 	;
 	Xsqlite3VdbeReusable(tls, v)
 
@@ -84713,31 +84746,31 @@ __48:
 	}()
 	eMode2 = SQLITE_CHECKPOINT_PASSIVE
 	if !(zRight != 0) {
-		goto __379
-	}
-	if !(Xsqlite3StrICmp(tls, zRight, ts+17345) == 0) {
 		goto __380
 	}
+	if !(Xsqlite3StrICmp(tls, zRight, ts+17345) == 0) {
+		goto __381
+	}
 	eMode2 = SQLITE_CHECKPOINT_FULL
-	goto __381
-__380:
-	if !(Xsqlite3StrICmp(tls, zRight, ts+18040) == 0) {
-		goto __382
+	goto __382
+__381:
+	if !(Xsqlite3StrICmp(tls, zRight, ts+18087) == 0) {
+		goto __383
 	}
 	eMode2 = SQLITE_CHECKPOINT_RESTART
-	goto __383
-__382:
+	goto __384
+__383:
 	if !(Xsqlite3StrICmp(tls, zRight, ts+17498) == 0) {
-		goto __384
+		goto __385
 	}
 	eMode2 = SQLITE_CHECKPOINT_TRUNCATE
+__385:
+	;
 __384:
 	;
-__383:
+__382:
 	;
-__381:
-	;
-__379:
+__380:
 	;
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 3
 	Xsqlite3VdbeAddOp3(tls, v, OP_Checkpoint, iBt, eMode2, 1)
@@ -84747,10 +84780,10 @@ __379:
 
 __49:
 	if !(zRight != 0) {
-		goto __385
+		goto __386
 	}
 	Xsqlite3_wal_autocheckpoint(tls, db, Xsqlite3Atoi(tls, zRight))
-__385:
+__386:
 	;
 	returnSingleInt(tls, v,
 		func() int64 {
@@ -84770,19 +84803,19 @@ __50:
 
 __51:
 	if !(zRight != 0) {
-		goto __386
+		goto __387
 	}
 	opMask = U32(Xsqlite3Atoi(tls, zRight))
 	if !(opMask&U32(0x02) == U32(0)) {
-		goto __388
+		goto __389
 	}
 	goto __15
-__388:
+__389:
 	;
-	goto __387
-__386:
-	opMask = U32(0xfffe)
+	goto __388
 __387:
+	opMask = U32(0xfffe)
+__388:
 	;
 	iTabCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1)
 	iDbLast = func() int32 {
@@ -84791,86 +84824,86 @@ __387:
 		}
 		return (*Sqlite3)(unsafe.Pointer(db)).FnDb - 1
 	}()
-__389:
+__390:
 	if !(iDb <= iDbLast) {
-		goto __391
-	}
-	if !(iDb == 1) {
 		goto __392
 	}
-	goto __390
-__392:
+	if !(iDb == 1) {
+		goto __393
+	}
+	goto __391
+__393:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
 	pSchema = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema
 	k4 = (*Hash)(unsafe.Pointer(pSchema + 8)).Ffirst
-__393:
+__394:
 	if !(k4 != 0) {
-		goto __395
+		goto __396
 	}
 	pTab10 = (*HashElem)(unsafe.Pointer(k4)).Fdata
 
 	if !((*Table)(unsafe.Pointer(pTab10)).FtabFlags&U32(TF_StatsUsed) == U32(0)) {
-		goto __396
+		goto __397
 	}
-	goto __394
-__396:
+	goto __395
+__397:
 	;
 	szThreshold = LogEst(int32((*Table)(unsafe.Pointer(pTab10)).FnRowLogEst) + 46)
 	pIdx6 = (*Table)(unsafe.Pointer(pTab10)).FpIndex
-__397:
+__398:
 	if !(pIdx6 != 0) {
-		goto __399
-	}
-	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
 		goto __400
 	}
+	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
+		goto __401
+	}
 	szThreshold = int16(0)
-	goto __399
-__400:
+	goto __400
+__401:
 	;
-	goto __398
-__398:
-	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
-	goto __397
 	goto __399
 __399:
+	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
+	goto __398
+	goto __400
+__400:
 	;
 	if !(szThreshold != 0) {
-		goto __401
+		goto __402
 	}
 	Xsqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab10, OP_OpenRead)
 	Xsqlite3VdbeAddOp3(tls, v, OP_IfSmaller, iTabCur,
 		int32(U32(Xsqlite3VdbeCurrentAddr(tls, v)+2)+opMask&U32(1)), int32(szThreshold))
 
-__401:
+__402:
 	;
-	zSubSql = Xsqlite3MPrintf(tls, db, ts+18048,
+	zSubSql = Xsqlite3MPrintf(tls, db, ts+18095,
 		libc.VaList(bp+464, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab10)).FzName))
 	if !(opMask&U32(0x01) != 0) {
-		goto __402
+		goto __403
 	}
 	r11 = Xsqlite3GetTempReg(tls, pParse)
 	Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, r11, 0, zSubSql, -6)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, r11, 1)
-	goto __403
-__402:
-	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+	goto __404
 __403:
+	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+__404:
 	;
-	goto __394
-__394:
-	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
-	goto __393
 	goto __395
 __395:
+	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
+	goto __394
+	goto __396
+__396:
 	;
-	goto __390
-__390:
-	iDb++
-	goto __389
 	goto __391
 __391:
+	iDb++
+	goto __390
+	goto __392
+__392:
 	;
 	Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
 	goto __15
@@ -84878,36 +84911,36 @@ __391:
 __52:
 	;
 	if !(zRight != 0) {
-		goto __404
+		goto __405
 	}
 	Xsqlite3_busy_timeout(tls, db, Xsqlite3Atoi(tls, zRight))
-__404:
+__405:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout))
 	goto __15
 
 __53:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+640) == SQLITE_OK) {
-		goto __405
+		goto __406
 	}
 	Xsqlite3_soft_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 640)))
-__405:
+__406:
 	;
 	returnSingleInt(tls, v, Xsqlite3_soft_heap_limit64(tls, int64(-1)))
 	goto __15
 
 __54:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+648) == SQLITE_OK) {
-		goto __406
+		goto __407
 	}
 	iPrior = Xsqlite3_hard_heap_limit64(tls, int64(-1))
 	if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 648)) > int64(0) && (iPrior == int64(0) || iPrior > *(*Sqlite3_int64)(unsafe.Pointer(bp + 648)))) {
-		goto __407
+		goto __408
 	}
 	Xsqlite3_hard_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 648)))
-__407:
+__408:
 	;
-__406:
+__407:
 	;
 	returnSingleInt(tls, v, Xsqlite3_hard_heap_limit64(tls, int64(-1)))
 	goto __15
@@ -84916,10 +84949,10 @@ __55:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+656) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 656)) >= int64(0)) {
-		goto __408
+		goto __409
 	}
 	Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 656))&int64(0x7fffffff)))
-__408:
+__409:
 	;
 	returnSingleInt(tls, v, int64(Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, -1)))
 	goto __15
@@ -84928,10 +84961,10 @@ __56:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+664) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 664)) >= int64(0)) {
-		goto __409
+		goto __410
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 664)) & int64(0x7fffffff))
-__409:
+__410:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit))
 	goto __15
@@ -84939,10 +84972,10 @@ __409:
 __15:
 	;
 	if !(int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_NoColumns1 != 0 && zRight != 0) {
-		goto __410
+		goto __411
 	}
 
-__410:
+__411:
 	;
 pragma_out:
 	Xsqlite3DbFree(tls, db, zLeft)
@@ -84994,14 +85027,14 @@ var endCode = [7]VdbeOpList{
 	{Fopcode: U8(OP_Goto), Fp2: int8(3)},
 }
 var encnames1 = [9]EncName{
-	{FzName: ts + 18066, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18071, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18077, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18086, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18095, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18103, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18111},
-	{FzName: ts + 18118},
+	{FzName: ts + 18113, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18118, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18124, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18133, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18142, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18150, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18158},
+	{FzName: ts + 18165},
 	{},
 }
 var setCookie = [2]VdbeOpList{
@@ -85053,7 +85086,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	_ = argc
 	_ = argv
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), bp+64, int32(unsafe.Sizeof([200]uint8{})), 0)
-	Xsqlite3_str_appendall(tls, bp+32, ts+18124)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18171)
 	i = 0
 	j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName)
 __1:
@@ -85061,7 +85094,7 @@ __1:
 		goto __3
 	}
 	{
-		Xsqlite3_str_appendf(tls, bp+32, ts+18139, libc.VaList(bp, int32(cSep), pragCName[j]))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18186, libc.VaList(bp, int32(cSep), pragCName[j]))
 		cSep = uint8(',')
 
 	}
@@ -85074,16 +85107,16 @@ __2:
 __3:
 	;
 	if i == 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18146, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18193, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
 		i++
 	}
 	j = 0
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_Result1 != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18152)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18199)
 		j++
 	}
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(PragFlg_SchemaOpt|PragFlg_SchemaReq) != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18164)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18211)
 		j++
 	}
 	Xsqlite3_str_append(tls, bp+32, ts+4957, 1)
@@ -85266,13 +85299,13 @@ __2:
 __3:
 	;
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4)))
-	Xsqlite3_str_appendall(tls, bp+32, ts+18179)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18226)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18187, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18234, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
 	}
 	Xsqlite3_str_appendall(tls, bp+32, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18191, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18238, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
 	}
 	zSql = Xsqlite3StrAccumFinish(tls, bp+32)
 	if zSql == uintptr(0) {
@@ -85349,12 +85382,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 	} else if *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) != uintptr(0) {
 	} else if (*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask) != 0 {
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db,
-			ts+18195, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
+			ts+18242, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
 				azAlterType[(*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask)-U32(1)],
 				zExtra))
 		(*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR
 	} else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137196)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137249)
 	} else {
 		var z uintptr
 		var zObj uintptr
@@ -85363,19 +85396,19 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 		} else {
 			zObj = ts + 5008
 		}
-		z = Xsqlite3MPrintf(tls, db, ts+18223, libc.VaList(bp+32, zObj))
+		z = Xsqlite3MPrintf(tls, db, ts+18270, libc.VaList(bp+32, zObj))
 		if zExtra != 0 && *(*uint8)(unsafe.Pointer(zExtra)) != 0 {
-			z = Xsqlite3MPrintf(tls, db, ts+18254, libc.VaList(bp+40, z, zExtra))
+			z = Xsqlite3MPrintf(tls, db, ts+18301, libc.VaList(bp+40, z, zExtra))
 		}
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137203)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137256)
 	}
 }
 
 var azAlterType = [3]uintptr{
-	ts + 18262,
-	ts + 18269,
-	ts + 18281,
+	ts + 18309,
+	ts + 18316,
+	ts + 18328,
 }
 
 // Check to see if any sibling index (another index on the same table)
@@ -85467,7 +85500,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr
 		var pIndex uintptr
 		pIndex = Xsqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName)
 		if pIndex == uintptr(0) {
-			corruptSchema(tls, pData, argv, ts+18292)
+			corruptSchema(tls, pData, argv, ts+18339)
 		} else if Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2) ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage ||
@@ -85515,7 +85548,7 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl
 	}())
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 16 + 1*8))
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 3*8)) = ts + 7938
-	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18305
+	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18352
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 5*8)) = uintptr(0)
 	(*InitData)(unsafe.Pointer(bp + 64)).Fdb = db
 	(*InitData)(unsafe.Pointer(bp + 64)).FiDb = iDb
@@ -85644,7 +85677,7 @@ __18:
 	if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) {
 		goto __19
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+18377)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+18424)
 	rc = SQLITE_ERROR
 	goto initone_error_out
 __19:
@@ -85658,7 +85691,7 @@ __20:
 	(*InitData)(unsafe.Pointer(bp + 64)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt)
 
 	zSql = Xsqlite3MPrintf(tls, db,
-		ts+18401,
+		ts+18448,
 		libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zSchemaTabName))
 
 	xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth
@@ -85990,7 +86023,7 @@ __4:
 		goto __8
 	}
 	zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName
-	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18435, libc.VaList(bp, zDb))
+	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18482, libc.VaList(bp, zDb))
 
 	goto end_prepare
 __8:
@@ -86020,7 +86053,7 @@ __9:
 	if !(nBytes > mxLen) {
 		goto __12
 	}
-	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18465, 0)
+	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18512, 0)
 	rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG)
 	goto end_prepare
 __12:
@@ -86116,7 +86149,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 137995)
+		return Xsqlite3MisuseError(tls, 138048)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	Xsqlite3BtreeEnterAll(tls, db)
@@ -86215,7 +86248,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 138143)
+		return Xsqlite3MisuseError(tls, 138196)
 	}
 	if nBytes >= 0 {
 		var sz int32
@@ -86547,13 +86580,13 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC
 			zSp2++
 		}
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+18484, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
+			ts+18531, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
 		jointype = JT_INNER
 	}
 	return jointype
 }
 
-var zKeyText = *(*[34]uint8)(unsafe.Pointer(ts + 18514))
+var zKeyText = *(*[34]uint8)(unsafe.Pointer(ts + 18561))
 var aKeyword = [7]struct {
 	Fi     U8
 	FnChar U8
@@ -86728,7 +86761,7 @@ __1:
 			var pUsing uintptr = uintptr(0)
 			if uint32(int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+18548, libc.VaList(bp, 0))
+					ts+18595, libc.VaList(bp, 0))
 				return 1
 			}
 			for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ {
@@ -86773,7 +86806,7 @@ __1:
 					tableAndColumnIndex(tls, pSrc, 0, i, zName, bp+24, bp+28,
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) == 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+18598, libc.VaList(bp+8, zName))
+						ts+18645, libc.VaList(bp+8, zName))
 					return 1
 				}
 				pE1 = Xsqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 28)))
@@ -86784,7 +86817,7 @@ __1:
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) != 0 {
 						if int32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 60 + 4))&0x400>>10) == 0 ||
 							Xsqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 72)), zName) < 0 {
-							Xsqlite3ErrorMsg(tls, pParse, ts+18662,
+							Xsqlite3ErrorMsg(tls, pParse, ts+18709,
 								libc.VaList(bp+16, zName))
 							break
 						}
@@ -87412,16 +87445,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr {
 	var z uintptr
 	switch id {
 	case TK_ALL:
-		z = ts + 18699
+		z = ts + 18746
 		break
 	case TK_INTERSECT:
-		z = ts + 18709
+		z = ts + 18756
 		break
 	case TK_EXCEPT:
-		z = ts + 18719
+		z = ts + 18766
 		break
 	default:
-		z = ts + 18726
+		z = ts + 18773
 		break
 	}
 	return z
@@ -87431,7 +87464,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18732, libc.VaList(bp, zUsage))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18779, libc.VaList(bp, zUsage))
 }
 
 func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) {
@@ -87457,9 +87490,9 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n
 	var nRefKey int32 = 0
 	var aOutEx uintptr = (*Select)(unsafe.Pointer(p)).FpEList + 8
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18755, libc.VaList(bp, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18802, libc.VaList(bp, func() uintptr {
 		if (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 {
-			return ts + 18786
+			return ts + 18833
 		}
 		return ts + 1554
 	}()))
@@ -87803,7 +87836,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr)
 		} else {
 			var z uintptr = (*ExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32)).FzEName
 			if z == uintptr(0) {
-				z = Xsqlite3MPrintf(tls, db, ts+18801, libc.VaList(bp+16, i+1))
+				z = Xsqlite3MPrintf(tls, db, ts+18848, libc.VaList(bp+16, i+1))
 			} else {
 				z = Xsqlite3DbStrDup(tls, db, z)
 			}
@@ -87903,7 +87936,7 @@ __1:
 		if zName != 0 && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) {
 			zName = Xsqlite3DbStrDup(tls, db, zName)
 		} else {
-			zName = Xsqlite3MPrintf(tls, db, ts+18801, libc.VaList(bp, i+1))
+			zName = Xsqlite3MPrintf(tls, db, ts+18848, libc.VaList(bp, i+1))
 		}
 
 		*(*U32)(unsafe.Pointer(bp + 56)) = U32(0)
@@ -87919,7 +87952,7 @@ __1:
 					nName = j
 				}
 			}
-			zName = Xsqlite3MPrintf(tls, db, ts+18810, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
+			zName = Xsqlite3MPrintf(tls, db, ts+18857, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
 			Xsqlite3ProgressCheck(tls, pParse)
 			if *(*U32)(unsafe.Pointer(bp + 56)) > U32(3) {
 				Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56)
@@ -88002,8 +88035,6 @@ __1:
 		(*Column)(unsafe.Pointer(pCol)).Faffinity = Xsqlite3ExprAffinity(tls, p)
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) <= SQLITE_AFF_NONE {
 			(*Column)(unsafe.Pointer(pCol)).Faffinity = aff
-		} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
-			(*Column)(unsafe.Pointer(pCol)).Faffinity = uint8(SQLITE_AFF_FLEXNUM)
 		}
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_TEXT && (*Select)(unsafe.Pointer(pSelect)).FpNext != 0 {
 			var m int32 = 0
@@ -88018,12 +88049,15 @@ __1:
 			} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && m&0x02 != 0 {
 				(*Column)(unsafe.Pointer(pCol)).Faffinity = uint8(SQLITE_AFF_BLOB)
 			}
+			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
+				(*Column)(unsafe.Pointer(pCol)).Faffinity = uint8(SQLITE_AFF_FLEXNUM)
+			}
 		}
 		zType = columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0))
 		if zType == uintptr(0) || int32((*Column)(unsafe.Pointer(pCol)).Faffinity) != int32(Xsqlite3AffinityType(tls, zType, uintptr(0))) {
 			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_NUMERIC ||
 				int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_FLEXNUM {
-				zType = ts + 18818
+				zType = ts + 18865
 			} else {
 				zType = uintptr(0)
 				for j = 1; j < SQLITE_N_STDTYPE; j++ {
@@ -88239,7 +88273,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest
 	if !((*Select)(unsafe.Pointer(p)).FpWin != 0) {
 		goto __1
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18822, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18869, 0)
 	return
 __1:
 	;
@@ -88330,7 +88364,7 @@ __12:
 	if !((*Select)(unsafe.Pointer(pFirstRec)).FselFlags&U32(SF_Aggregate) != 0) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18871, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18918, 0)
 	goto end_of_recursive_query
 __15:
 	;
@@ -88350,7 +88384,7 @@ __14:
 	;
 	pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18913, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18960, 0)
 	rc = Xsqlite3Select(tls, pParse, pSetup, bp)
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = p
 	if !(rc != 0) {
@@ -88387,7 +88421,7 @@ __20:
 	Xsqlite3VdbeResolveLabel(tls, v, addrCont)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18919, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18966, 0)
 	Xsqlite3Select(tls, pParse, p, bp)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup
@@ -88421,11 +88455,11 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 		p = (*Select)(unsafe.Pointer(p)).FpPrior
 		nRow = nRow + bShowAll
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18934, libc.VaList(bp, nRow, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18981, libc.VaList(bp, nRow, func() uintptr {
 		if nRow == 1 {
 			return ts + 1554
 		}
-		return ts + 18957
+		return ts + 19004
 	}()))
 	for p != 0 {
 		selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1)
@@ -88526,8 +88560,8 @@ __6:
 	if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) {
 		goto __8
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18959, 0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18974, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19006, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19021, 0)
 __8:
 	;
 	switch int32((*Select)(unsafe.Pointer(p)).Fop) {
@@ -88574,7 +88608,7 @@ __16:
 	;
 __15:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18699, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18746, 0)
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+16)
 
@@ -88641,7 +88675,7 @@ __23:
 	pLimit = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 64)).FeDest = op
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18993, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19040, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+64)
 
@@ -88703,7 +88737,7 @@ __26:
 	pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 104)).FiSDParm = tab2
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18993, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19040, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+104)
 
@@ -88856,10 +88890,10 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr)
 	defer tls.Free(8)
 
 	if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Values) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19014, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+19061, 0)
 	} else {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+19060,
+			ts+19107,
 			libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 	}
 }
@@ -89113,8 +89147,8 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	(*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0)
 
 	(*Select)(unsafe.Pointer(pPrior)).FpOrderBy = Xsqlite3ExprListDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7234)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7234)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7223)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7223)
 
 	computeLimitRegisters(tls, pParse, p, labelEnd)
 	if (*Select)(unsafe.Pointer(p)).FiLimit != 0 && op == TK_ALL {
@@ -89141,13 +89175,13 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	Xsqlite3SelectDestInit(tls, bp+8, SRT_Coroutine, regAddrA)
 	Xsqlite3SelectDestInit(tls, bp+48, SRT_Coroutine, regAddrB)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19142, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19189, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	addrSelectA = Xsqlite3VdbeCurrentAddr(tls, v) + 1
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA)
 
 	(*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19153, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19200, 0)
 	Xsqlite3Select(tls, pParse, pPrior, bp+8)
 	Xsqlite3VdbeEndCoroutine(tls, v, regAddrA)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
@@ -89159,7 +89193,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset
 	(*Select)(unsafe.Pointer(p)).FiLimit = regLimitB
 	(*Select)(unsafe.Pointer(p)).FiOffset = 0
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19158, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19205, 0)
 	Xsqlite3Select(tls, pParse, p, bp+48)
 	(*Select)(unsafe.Pointer(p)).FiLimit = savedLimit
 	(*Select)(unsafe.Pointer(p)).FiOffset = savedOffset
@@ -89347,7 +89381,8 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr {
 				Xsqlite3VectorErrorMsg(tls, (*SubstContext)(unsafe.Pointer(pSubst)).FpParse, pCopy)
 			} else {
 				var db uintptr = (*Parse)(unsafe.Pointer((*SubstContext)(unsafe.Pointer(pSubst)).FpParse)).Fdb
-				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 && int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN {
+				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 &&
+					(int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN || (*Expr)(unsafe.Pointer(pCopy)).FiTable != (*SubstContext)(unsafe.Pointer(pSubst)).FiNewTable) {
 					libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(Expr{})))
 					(*Expr)(unsafe.Pointer(bp)).Fop = U8(TK_IF_NULL_ROW)
 					(*Expr)(unsafe.Pointer(bp)).FpLeft = pCopy
@@ -90246,7 +90281,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	for pIdx = (*Table)(unsafe.Pointer(pTab)).FpIndex; pIdx != 0 && Xsqlite3StrICmp(tls, (*Index)(unsafe.Pointer(pIdx)).FzName, zIndexedBy) != 0; pIdx = (*Index)(unsafe.Pointer(pIdx)).FpNext {
 	}
 	if !(pIdx != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19164, libc.VaList(bp, zIndexedBy, 0))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19211, libc.VaList(bp, zIndexedBy, 0))
 		(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 		return SQLITE_ERROR
 	}
@@ -90329,7 +90364,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 {
 	defer tls.Free(8)
 
 	if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19182, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19229, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
 		return 1
 	}
 	return 0
@@ -90458,7 +90493,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		*(*U32)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= U32(SF_CopyCte)
 
 		if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19205, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
+			Xsqlite3ErrorMsg(tls, pParse, ts+19252, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
 			return 2
 		}
 		libc.SetBitFieldPtr16Uint32(pFrom+60+4, uint32(1), 8, 0x100)
@@ -90481,7 +90516,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 					libc.SetBitFieldPtr16Uint32(pItem+60+4, uint32(1), 6, 0x40)
 					if (*Select)(unsafe.Pointer(pRecTerm)).FselFlags&U32(SF_Recursive) != 0 {
 						Xsqlite3ErrorMsg(tls, pParse,
-							ts+19225, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
+							ts+19272, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
 						return 2
 					}
 					*(*U32)(unsafe.Pointer(pRecTerm + 4)) |= U32(SF_Recursive)
@@ -90497,7 +90532,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 			pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior
 		}
 
-		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19268
+		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19315
 		pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith
 		(*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 48))
 		if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
@@ -90523,7 +90558,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		pEList = (*Select)(unsafe.Pointer(pLeft)).FpEList
 		if (*Cte)(unsafe.Pointer(pCte)).FpCols != 0 {
 			if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr != (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19291,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19338,
 					libc.VaList(bp+24, (*Cte)(unsafe.Pointer(pCte)).FzName, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr))
 				(*Parse)(unsafe.Pointer(pParse)).FpWith = pSavedWith
 				return 2
@@ -90534,9 +90569,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		Xsqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8)
 		if bMayRecursive != 0 {
 			if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19329
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19376
 			} else {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19363
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19410
 			}
 			Xsqlite3WalkSelect(tls, pWalker, pSel)
 		}
@@ -90583,7 +90618,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	if (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 {
 		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3DbStrDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias)
 	} else {
-		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19401, libc.VaList(bp, pFrom))
+		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19448, libc.VaList(bp, pFrom))
 	}
 	for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 {
 		pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior
@@ -90695,7 +90730,7 @@ __1:
 				return WRC_Abort
 			}
 			if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19405,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19452,
 					libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 				(*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0)
 				return WRC_Abort
@@ -90714,7 +90749,7 @@ __1:
 				if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW {
 					if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) &&
 						(*Table)(unsafe.Pointer(pTab)).FpSchema != (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19444,
+						Xsqlite3ErrorMsg(tls, pParse, ts+19491,
 							libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName))
 					}
 					(*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, *(*uintptr)(unsafe.Pointer(pTab + 64)), 0)
@@ -90838,7 +90873,7 @@ __3:
 							if pNew != 0 {
 								var pX uintptr = pNew + 8 + uintptr((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1)*32
 
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19475, libc.VaList(bp+24, zUName))
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19522, libc.VaList(bp+24, zUName))
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(ENAME_TAB), 0, 0x3)
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(1), 7, 0x80)
 							}
@@ -90903,7 +90938,7 @@ __3:
 								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(pNestedFrom+8+uintptr(j)*32)).FzEName)
 
 							} else {
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19480,
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19527,
 									libc.VaList(bp+32, zSchemaName, zTabName, zName))
 
 							}
@@ -90934,9 +90969,9 @@ __3:
 				;
 				if !(tableSeen != 0) {
 					if zTName != 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19489, libc.VaList(bp+72, zTName))
+						Xsqlite3ErrorMsg(tls, pParse, ts+19536, libc.VaList(bp+72, zTName))
 					} else {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19507, 0)
+						Xsqlite3ErrorMsg(tls, pParse, ts+19554, 0)
 					}
 				}
 			}
@@ -90946,7 +90981,7 @@ __3:
 	}
 	if (*Select)(unsafe.Pointer(p)).FpEList != 0 {
 		if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19527, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+19574, 0)
 			return WRC_Abort
 		}
 		if elistFlags&U32(EP_HasFunc|EP_Subquery) != U32(0) {
@@ -91084,7 +91119,7 @@ func optimizeAggregateUseOfIndexedExpr(tls *libc.TLS, pParse uintptr, pSelect ui
 	(*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn = (*AggInfo)(unsafe.Pointer(pAggInfo)).FnAccumulator
 	if int32((*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn) > 0 {
 		if (*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn == 0 {
-			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(0)
+			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpGroupBy)).FnExpr)
 		} else {
 			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(int32((*AggInfo_col)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaCol+uintptr((*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn-1)*24)).FiSorterColumn) + 1)
 		}
@@ -91168,13 +91203,13 @@ __1:
 
 			if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != 1 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+19558, 0)
+					ts+19605, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1
 			} else {
 				var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral,
 					(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -8)
-				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19609, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
+				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19656, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
 			}
 		}
 
@@ -91363,11 +91398,11 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt
 
 	if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 {
 		var bCover int32 = libc.Bool32(pIdx != uintptr(0) && ((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0) || !(int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY)))
-		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19642,
+		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19689,
 			libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName,
 				func() uintptr {
 					if bCover != 0 {
-						return ts + 19654
+						return ts + 19701
 					}
 					return ts + 1554
 				}(),
@@ -91695,7 +91730,7 @@ __5:
 		goto __7
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+19677,
+		ts+19724,
 		libc.VaList(bp, func() uintptr {
 			if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 {
 				return (*SrcItem)(unsafe.Pointer(p0)).FzAlias
@@ -91756,7 +91791,7 @@ __14:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19731,
+	Xsqlite3ErrorMsg(tls, pParse, ts+19778,
 		libc.VaList(bp+8, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr))
 	goto select_end
 __15:
@@ -91898,7 +91933,7 @@ __33:
 
 	(*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19771, libc.VaList(bp+32, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19818, libc.VaList(bp+32, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	libc.SetBitFieldPtr16Uint32(pItem1+60+4, uint32(1), 5, 0x20)
@@ -91957,7 +91992,7 @@ __43:
 	;
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19786, libc.VaList(bp+40, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19833, libc.VaList(bp+40, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	if !(onceAddr != 0) {
@@ -92428,9 +92463,9 @@ __101:
 	explainTempTable(tls, pParse,
 		func() uintptr {
 			if (*DistinctCtx)(unsafe.Pointer(bp+136)).FisTnct != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct) == U32(0) {
-				return ts + 19802
+				return ts + 19849
 			}
-			return ts + 19811
+			return ts + 19858
 		}())
 
 	groupBySort = 1
@@ -92781,7 +92816,7 @@ __65:
 	if !(int32((*DistinctCtx)(unsafe.Pointer(bp+136)).FeTnctType) == WHERE_DISTINCT_UNORDERED) {
 		goto __146
 	}
-	explainTempTable(tls, pParse, ts+19802)
+	explainTempTable(tls, pParse, ts+19849)
 __146:
 	;
 	if !((*SortCtx)(unsafe.Pointer(bp+48)).FpOrderBy != 0) {
@@ -92886,7 +92921,7 @@ __5:
 	}
 	Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg)
 	(*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+19820, 0)
+		ts+19867, 0)
 	(*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 	return 1
 __11:
@@ -93119,7 +93154,7 @@ func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2
 	if !((*Token)(unsafe.Pointer(pName2)).Fn > uint32(0)) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19885, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19932, 0)
 	goto trigger_cleanup
 __3:
 	;
@@ -93163,7 +93198,7 @@ __7:
 	goto trigger_cleanup
 __8:
 	;
-	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+19931, *(*uintptr)(unsafe.Pointer(bp + 32)))
+	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+19978, *(*uintptr)(unsafe.Pointer(bp + 32)))
 	if !(Xsqlite3FixSrcList(tls, bp+40, pTableName) != 0) {
 		goto __9
 	}
@@ -93181,7 +93216,7 @@ __10:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB) {
 		goto __11
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19939, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19986, 0)
 	goto trigger_orphan_error
 __11:
 	;
@@ -93193,7 +93228,7 @@ __11:
 	goto trigger_cleanup
 __12:
 	;
-	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19931, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
+	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19978, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
 		goto __13
 	}
 	goto trigger_cleanup
@@ -93208,11 +93243,12 @@ __13:
 	if !!(noErr != 0) {
 		goto __16
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19980, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20027, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
 	goto __17
 __16:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
+
 __17:
 	;
 	goto trigger_cleanup
@@ -93223,19 +93259,19 @@ __14:
 	if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+6381, 7) == 0) {
 		goto __18
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20006, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20053, 0)
 	goto trigger_cleanup
 __18:
 	;
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW && tr_tm != TK_INSTEAD) {
 		goto __19
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20044,
+	Xsqlite3ErrorMsg(tls, pParse, ts+20091,
 		libc.VaList(bp+8, func() uintptr {
 			if tr_tm == TK_BEFORE {
-				return ts + 20081
+				return ts + 20128
 			}
-			return ts + 20088
+			return ts + 20135
 		}(), pTableName+8))
 	goto trigger_orphan_error
 __19:
@@ -93244,7 +93280,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20094, libc.VaList(bp+24, pTableName+8))
+		ts+20141, libc.VaList(bp+24, pTableName+8))
 	goto trigger_orphan_error
 __20:
 	;
@@ -93393,7 +93429,7 @@ __2:
 __3:
 	;
 	Xsqlite3TokenInit(tls, bp+56, (*Trigger)(unsafe.Pointer(pTrig)).FzName)
-	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+19931, bp+56)
+	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+19978, bp+56)
 	if !(Xsqlite3FixTriggerStep(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 ||
 		Xsqlite3FixExpr(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0) {
 		goto __4
@@ -93426,7 +93462,7 @@ __9:
 		goto __12
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20140,
+		ts+20187,
 		libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrig)).FzName, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget))
 	goto triggerfinish_cleanup
 __12:
@@ -93451,13 +93487,13 @@ __13:
 	z = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pAll)).Fz, uint64((*Token)(unsafe.Pointer(pAll)).Fn))
 
 	Xsqlite3NestedParse(tls, pParse,
-		ts+20188,
+		ts+20235,
 		libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName,
 			(*Trigger)(unsafe.Pointer(pTrig)).Ftable, z))
 	Xsqlite3DbFree(tls, db, z)
 	Xsqlite3ChangeCookie(tls, pParse, iDb)
 	Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb,
-		Xsqlite3MPrintf(tls, db, ts+20263, libc.VaList(bp+48, zName)), uint16(0))
+		Xsqlite3MPrintf(tls, db, ts+20310, libc.VaList(bp+48, zName)), uint16(0))
 __7:
 	;
 __6:
@@ -93713,7 +93749,7 @@ __5:
 	if !!(noErr != 0) {
 		goto __9
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20292, libc.VaList(bp, pName+8))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20339, libc.VaList(bp, pName+8))
 	goto __10
 __9:
 	Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb)
@@ -93766,7 +93802,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) {
 
 	if libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse)) != uintptr(0) {
 		Xsqlite3NestedParse(tls, pParse,
-			ts+20312,
+			ts+20359,
 			libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Trigger)(unsafe.Pointer(pTrigger)).FzName))
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 		Xsqlite3VdbeAddOp4(tls, v, OP_DropTrigger, iDb, 0, 0, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, 0)
@@ -93880,12 +93916,12 @@ __9:
 		goto __15
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20374,
+		ts+20421,
 		libc.VaList(bp, func() uintptr {
 			if op == TK_DELETE {
-				return ts + 20422
+				return ts + 20469
 			}
-			return ts + 20429
+			return ts + 20476
 		}()))
 __15:
 	;
@@ -93999,7 +94035,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 {
 	if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK {
 		return 0
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20436, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20483, 0)
 	return 1
 }
 
@@ -94065,7 +94101,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab
 	}
 	Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(bp)).FpEList)
 	pNew = sqlite3ExpandReturning(tls, pParse, (*Returning)(unsafe.Pointer(pReturning)).FpReturnEL, pTab)
-	if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) {
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 {
 		libc.Xmemset(tls, bp+240, 0, uint64(unsafe.Sizeof(NameContext{})))
 		if (*Returning)(unsafe.Pointer(pReturning)).FnRetCol == 0 {
 			(*Returning)(unsafe.Pointer(pReturning)).FnRetCol = (*ExprList)(unsafe.Pointer(pNew)).FnExpr
@@ -94229,7 +94265,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt
 	if v != 0 {
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 {
 			Xsqlite3VdbeChangeP4(tls, v, -1,
-				Xsqlite3MPrintf(tls, db, ts+20478, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
+				Xsqlite3MPrintf(tls, db, ts+20525, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
 		}
 
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FpWhen != 0 {
@@ -94822,7 +94858,7 @@ __25:
 	}
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20492,
+		ts+20539,
 		libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*24)).FzCnName))
 	goto update_cleanup
 __27:
@@ -94854,7 +94890,7 @@ __21:
 	iRowidExpr = i
 	goto __30
 __29:
-	Xsqlite3ErrorMsg(tls, pParse, ts+20528, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20575, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
 	(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 	goto update_cleanup
 __30:
@@ -95180,7 +95216,12 @@ __74:
 	goto __77
 __76:
 	flags = WHERE_ONEPASS_DESIRED
-	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) && !(pTrigger != 0) && !(hasFK != 0) && !(chngKey != 0) && !(*(*int32)(unsafe.Pointer(bp + 104)) != 0)) {
+	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) &&
+		!(pTrigger != 0) &&
+		!(hasFK != 0) &&
+		!(chngKey != 0) &&
+		!(*(*int32)(unsafe.Pointer(bp + 104)) != 0) &&
+		(*NameContext)(unsafe.Pointer(bp+40)).FncFlags&NC_Subquery == 0) {
 		goto __78
 	}
 	flags = flags | WHERE_ONEPASS_MULTIROW
@@ -95734,7 +95775,7 @@ __168:
 	if !(regRowCount != 0) {
 		goto __169
 	}
-	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20547)
+	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20594)
 __169:
 	;
 update_cleanup:
@@ -96040,10 +96081,10 @@ __1:
 			if nClause == 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) {
 				*(*uint8)(unsafe.Pointer(bp + 216)) = uint8(0)
 			} else {
-				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]uint8{})), bp+216, ts+20560, libc.VaList(bp, nClause+1))
+				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]uint8{})), bp+216, ts+20607, libc.VaList(bp, nClause+1))
 			}
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+20564, libc.VaList(bp+8, bp+216))
+				ts+20611, libc.VaList(bp+8, bp+216))
 			return SQLITE_ERROR
 		}
 
@@ -96166,7 +96207,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 {
 		var zSubSql uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
 
 		if zSubSql != 0 &&
-			(libc.Xstrncmp(tls, zSubSql, ts+20637, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20641, uint64(3)) == 0) {
+			(libc.Xstrncmp(tls, zSubSql, ts+20684, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20688, uint64(3)) == 0) {
 			rc = execSql(tls, db, pzErrMsg, zSubSql)
 			if rc != SQLITE_OK {
 				break
@@ -96314,14 +96355,14 @@ func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p
 	if !!(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) {
 		goto __1
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20645)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20692)
 	return SQLITE_ERROR
 __1:
 	;
 	if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) {
 		goto __2
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20685)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20732)
 	return SQLITE_ERROR
 __2:
 	;
@@ -96332,7 +96373,7 @@ __2:
 	if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) {
 		goto __5
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20728)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20775)
 	return SQLITE_ERROR
 __5:
 	;
@@ -96360,7 +96401,7 @@ __4:
 	isMemDb = Xsqlite3PagerIsMemdb(tls, Xsqlite3BtreePager(tls, pMain))
 
 	nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb
-	rc = execSqlF(tls, db, pzErrMsg, ts+20746, libc.VaList(bp, zOut))
+	rc = execSqlF(tls, db, pzErrMsg, ts+20793, libc.VaList(bp, zOut))
 	(*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags
 	if !(rc != SQLITE_OK) {
 		goto __6
@@ -96380,7 +96421,7 @@ __6:
 		goto __8
 	}
 	rc = SQLITE_ERROR
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20769)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20816)
 	goto end_of_vacuum
 __8:
 	;
@@ -96440,7 +96481,7 @@ __12:
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb)
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20796,
+		ts+20843,
 		libc.VaList(bp+8, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __13
@@ -96449,7 +96490,7 @@ __12:
 __13:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20904,
+		ts+20951,
 		libc.VaList(bp+16, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __14
@@ -96460,7 +96501,7 @@ __14:
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
 
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20958,
+		ts+21005,
 		libc.VaList(bp+24, zDbMain))
 
 	*(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))
@@ -96471,7 +96512,7 @@ __14:
 __15:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+21109,
+		ts+21156,
 		libc.VaList(bp+32, zDbMain))
 	if !(rc != 0) {
 		goto __16
@@ -96900,11 +96941,11 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		if pEnd != 0 {
 			(*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32((int64((*Token)(unsafe.Pointer(pEnd)).Fz)-int64((*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz))/1)) + (*Token)(unsafe.Pointer(pEnd)).Fn
 		}
-		zStmt = Xsqlite3MPrintf(tls, db, ts+21239, libc.VaList(bp, pParse+272))
+		zStmt = Xsqlite3MPrintf(tls, db, ts+21286, libc.VaList(bp, pParse+272))
 
 		iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema)
 		Xsqlite3NestedParse(tls, pParse,
-			ts+21263,
+			ts+21310,
 			libc.VaList(bp+8, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
@@ -96914,7 +96955,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 
 		Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
-		zWhere = Xsqlite3MPrintf(tls, db, ts+21362, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
+		zWhere = Xsqlite3MPrintf(tls, db, ts+21409, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
 		Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0))
 		Xsqlite3DbFree(tls, db, zStmt)
 
@@ -96975,7 +97016,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	for pCtx = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx; pCtx != 0; pCtx = (*VtabCtx)(unsafe.Pointer(pCtx)).FpPrior {
 		if (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db,
-				ts+21381, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
+				ts+21428, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 			return SQLITE_LOCKED
 		}
 	}
@@ -97003,9 +97044,11 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FbDeclared = 0
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32
+	(*Table)(unsafe.Pointer(pTab)).FnTabRef++
 	rc = (*struct {
 		f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32
 	})(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+64)
+	Xsqlite3DeleteTable(tls, db, pTab)
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior
 	if rc == SQLITE_NOMEM {
 		Xsqlite3OomFault(tls, db)
@@ -97013,7 +97056,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 
 	if SQLITE_OK != rc {
 		if *(*uintptr)(unsafe.Pointer(bp + 64)) == uintptr(0) {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21423, libc.VaList(bp+8, zModuleName))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21470, libc.VaList(bp+8, zModuleName))
 		} else {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+3663, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64))))
 			Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
@@ -97025,7 +97068,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 		(*Module)(unsafe.Pointer(pMod)).FnRefModule++
 		(*VTable)(unsafe.Pointer(pVTable)).FnRef = 1
 		if (*VtabCtx)(unsafe.Pointer(bp+32)).FbDeclared == 0 {
-			var zFormat uintptr = ts + 21453
+			var zFormat uintptr = ts + 21500
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName))
 			Xsqlite3VtabUnlock(tls, pVTable)
 			rc = SQLITE_ERROR
@@ -97099,7 +97142,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32
 
 	if !(pMod != 0) {
 		var zModule uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pTab + 64 + 8))))
-		Xsqlite3ErrorMsg(tls, pParse, ts+21499, libc.VaList(bp, zModule))
+		Xsqlite3ErrorMsg(tls, pParse, ts+21546, libc.VaList(bp, zModule))
 		rc = SQLITE_ERROR
 	} else {
 		*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
@@ -97157,7 +97200,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr,
 	pMod = Xsqlite3HashFind(tls, db+576, zMod)
 
 	if pMod == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21499, libc.VaList(bp, zMod))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21546, libc.VaList(bp, zMod))
 		rc = SQLITE_ERROR
 	} else {
 		rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr)
@@ -97191,7 +97234,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3
 	if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
 		Xsqlite3Error(tls, db, SQLITE_MISUSE)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
-		return Xsqlite3MisuseError(tls, 151030)
+		return Xsqlite3MisuseError(tls, 151102)
 	}
 	pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab
 
@@ -97644,7 +97687,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	if !(p != 0) {
-		rc = Xsqlite3MisuseError(tls, 151521)
+		rc = Xsqlite3MisuseError(tls, 151593)
 	} else {
 		ap = va
 		switch op {
@@ -97671,7 +97714,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 			fallthrough
 		default:
 			{
-				rc = Xsqlite3MisuseError(tls, 151539)
+				rc = Xsqlite3MisuseError(tls, 151611)
 				break
 
 			}
@@ -97902,7 +97945,7 @@ type InLoop = struct {
 func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr {
 	i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2)))
 	if i == -2 {
-		return ts + 21518
+		return ts + 21565
 	}
 	if i == -1 {
 		return ts + 16267
@@ -97914,11 +97957,11 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	var i int32
 
 	if bAnd != 0 {
-		Xsqlite3_str_append(tls, pStr, ts+21525, 5)
+		Xsqlite3_str_append(tls, pStr, ts+21572, 5)
 	}
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21531, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21578, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97933,7 +97976,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	Xsqlite3_str_append(tls, pStr, zOp, 1)
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21531, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21578, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97959,27 +98002,27 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) {
 	if int32(nEq) == 0 && (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT|WHERE_TOP_LIMIT) == U32(0) {
 		return
 	}
-	Xsqlite3_str_append(tls, pStr, ts+21533, 2)
+	Xsqlite3_str_append(tls, pStr, ts+21580, 2)
 	for i = 0; i < int32(nEq); i++ {
 		var z uintptr = explainIndexColumnName(tls, pIndex, i)
 		if i != 0 {
-			Xsqlite3_str_append(tls, pStr, ts+21525, 5)
+			Xsqlite3_str_append(tls, pStr, ts+21572, 5)
 		}
 		Xsqlite3_str_appendf(tls, pStr, func() uintptr {
 			if i >= int32(nSkip) {
-				return ts + 21536
+				return ts + 21583
 			}
-			return ts + 21541
+			return ts + 21588
 		}(), libc.VaList(bp, z))
 	}
 
 	j = i
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21549)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21596)
 		i = 1
 	}
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_TOP_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21551)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21598)
 	}
 	Xsqlite3_str_append(tls, pStr, ts+4957, 1)
 }
@@ -98022,11 +98065,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 
 		Xsqlite3StrAccumInit(tls, bp+64, db, bp+96, int32(unsafe.Sizeof([100]uint8{})), SQLITE_MAX_LENGTH)
 		(*StrAccum)(unsafe.Pointer(bp + 64)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-		Xsqlite3_str_appendf(tls, bp+64, ts+21553, libc.VaList(bp, func() uintptr {
+		Xsqlite3_str_appendf(tls, bp+64, ts+21600, libc.VaList(bp, func() uintptr {
 			if isSearch != 0 {
-				return ts + 21559
+				return ts + 21606
 			}
-			return ts + 21566
+			return ts + 21613
 		}(), pItem))
 		if flags&U32(WHERE_IPK|WHERE_VIRTUALTABLE) == U32(0) {
 			var zFmt uintptr = uintptr(0)
@@ -98039,40 +98082,40 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 					zFmt = ts + 10976
 				}
 			} else if flags&U32(WHERE_PARTIALIDX) != 0 {
-				zFmt = ts + 21571
+				zFmt = ts + 21618
 			} else if flags&U32(WHERE_AUTO_INDEX) != 0 {
-				zFmt = ts + 21604
+				zFmt = ts + 21651
 			} else if flags&U32(WHERE_IDX_ONLY) != 0 {
-				zFmt = ts + 21629
+				zFmt = ts + 21676
 			} else {
-				zFmt = ts + 21647
+				zFmt = ts + 21694
 			}
 			if zFmt != 0 {
-				Xsqlite3_str_append(tls, bp+64, ts+21656, 7)
+				Xsqlite3_str_append(tls, bp+64, ts+21703, 7)
 				Xsqlite3_str_appendf(tls, bp+64, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName))
 				explainIndexRange(tls, bp+64, pLoop)
 			}
 		} else if flags&U32(WHERE_IPK) != U32(0) && flags&U32(WHERE_CONSTRAINT) != U32(0) {
 			var cRangeOp uint8
 			var zRowid uintptr = ts + 16267
-			Xsqlite3_str_appendf(tls, bp+64, ts+21664, libc.VaList(bp+24, zRowid))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21711, libc.VaList(bp+24, zRowid))
 			if flags&U32(WHERE_COLUMN_EQ|WHERE_COLUMN_IN) != 0 {
 				cRangeOp = uint8('=')
 			} else if flags&U32(WHERE_BOTH_LIMIT) == U32(WHERE_BOTH_LIMIT) {
-				Xsqlite3_str_appendf(tls, bp+64, ts+21695, libc.VaList(bp+32, zRowid))
+				Xsqlite3_str_appendf(tls, bp+64, ts+21742, libc.VaList(bp+32, zRowid))
 				cRangeOp = uint8('<')
 			} else if flags&U32(WHERE_BTM_LIMIT) != 0 {
 				cRangeOp = uint8('>')
 			} else {
 				cRangeOp = uint8('<')
 			}
-			Xsqlite3_str_appendf(tls, bp+64, ts+21705, libc.VaList(bp+40, int32(cRangeOp)))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21752, libc.VaList(bp+40, int32(cRangeOp)))
 		} else if flags&U32(WHERE_VIRTUALTABLE) != U32(0) {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21710,
+			Xsqlite3_str_appendf(tls, bp+64, ts+21757,
 				libc.VaList(bp+48, *(*int32)(unsafe.Pointer(pLoop + 24)), *(*uintptr)(unsafe.Pointer(pLoop + 24 + 16))))
 		}
 		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&JT_LEFT != 0 {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21737, 0)
+			Xsqlite3_str_appendf(tls, bp+64, ts+21784, 0)
 		}
 		zMsg = Xsqlite3StrAccumFinish(tls, bp+64)
 
@@ -98104,22 +98147,22 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp
 
 	Xsqlite3StrAccumInit(tls, bp+24, db, bp+56, int32(unsafe.Sizeof([100]uint8{})), SQLITE_MAX_LENGTH)
 	(*StrAccum)(unsafe.Pointer(bp + 24)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-	Xsqlite3_str_appendf(tls, bp+24, ts+21748, libc.VaList(bp, pItem))
+	Xsqlite3_str_appendf(tls, bp+24, ts+21795, libc.VaList(bp, pItem))
 	pLoop = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_IPK) != 0 {
 		var pTab uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FpTab
 		if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21536, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21583, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
 		} else {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21769, 0)
+			Xsqlite3_str_appendf(tls, bp+24, ts+21816, 0)
 		}
 	} else {
 		for i = int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip); i < int32(*(*U16)(unsafe.Pointer(pLoop + 24))); i++ {
 			var z uintptr = explainIndexColumnName(tls, *(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)), i)
 			if i > int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip) {
-				Xsqlite3_str_append(tls, bp+24, ts+21525, 5)
+				Xsqlite3_str_append(tls, bp+24, ts+21572, 5)
 			}
-			Xsqlite3_str_appendf(tls, bp+24, ts+21536, libc.VaList(bp+16, z))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21583, libc.VaList(bp+16, z))
 		}
 	}
 	Xsqlite3_str_append(tls, bp+24, ts+4957, 1)
@@ -99716,7 +99759,7 @@ __134:
 	;
 __126:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21777, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21824, 0)
 	ii = 0
 __135:
 	if !(ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm) {
@@ -99744,7 +99787,7 @@ __139:
 	pOrExpr = pAndExpr
 __140:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21792, libc.VaList(bp, ii+1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21839, libc.VaList(bp, ii+1))
 
 	pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0),
 		uint16(WHERE_OR_SUBCLAUSE), iCovCur)
@@ -100262,7 +100305,7 @@ func Xsqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
 	var mAll Bitmask = uint64(0)
 	var k int32
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21801, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21848, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
 
 	for k = 0; k < iLevel; k++ {
 		var iIdxCur int32
@@ -100623,7 +100666,7 @@ var aOp = [4]Op2{
 	{FzOp: ts + 16116, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)},
 	{FzOp: ts + 15447, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)},
 	{FzOp: ts + 14967, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)},
-	{FzOp: ts + 21815, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
+	{FzOp: ts + 21862, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
 }
 
 func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) {
@@ -101113,12 +101156,12 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			extraRight = x - uint64(1)
 
 			if prereqAll>>1 >= x {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21822, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21869, 0)
 				return
 			}
 		} else if prereqAll>>1 >= x {
 			if (*SrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*SrcItem)(unsafe.Pointer(pSrc+8)).Ffg.Fjointype)&JT_LTORJ != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21822, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21869, 0)
 				return
 			}
 			*(*U32)(unsafe.Pointer(pExpr + 4)) &= libc.Uint32FromInt32(libc.CplInt32(EP_InnerON))
@@ -101197,7 +101240,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_OuterON) != U32(0)) &&
 			0 == Xsqlite3ExprCanBeNull(tls, pLeft) {
 			(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
-			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6769
+			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 7699
 			*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0)
@@ -101291,7 +101334,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 		}
 		zCollSeqName = func() uintptr {
 			if *(*int32)(unsafe.Pointer(bp + 20)) != 0 {
-				return ts + 21863
+				return ts + 21910
 			}
 			return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))
 		}()
@@ -101667,7 +101710,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 			k++
 		}
 		if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21870,
+			Xsqlite3ErrorMsg(tls, pParse, ts+21917,
 				libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j))
 			return
 		}
@@ -101683,7 +101726,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 		pRhs = Xsqlite3PExpr(tls, pParse, TK_UPLUS,
 			Xsqlite3ExprDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*ExprList_item)(unsafe.Pointer(pArgs+8+uintptr(j)*32)).FpExpr, 0), uintptr(0))
 		pTerm = Xsqlite3PExpr(tls, pParse, TK_EQ, pColRef, pRhs)
-		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ) != 0 {
+		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ|JT_RIGHT) != 0 {
 			joinType = U32(EP_OuterON)
 		} else {
 			joinType = U32(EP_InnerON)
@@ -102401,7 +102444,7 @@ __4:
 		goto __6
 	}
 	Xsqlite3_log(tls, SQLITE_WARNING|int32(1)<<8,
-		ts+21906, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
+		ts+21953, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
 			(*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*24)).FzCnName))
 	sentWarning = U8(1)
 __6:
@@ -102472,7 +102515,7 @@ __13:
 __14:
 	;
 	*(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)) = pIdx
-	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21932
+	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21979
 	(*Index)(unsafe.Pointer(pIdx)).FpTable = pTable
 	n = 0
 	idxCols = uint64(0)
@@ -102646,6 +102689,10 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 	var pLoop uintptr = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	var iCur int32
+	var saved_pIdxEpr uintptr
+
+	saved_pIdxEpr = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = uintptr(0)
 
 	addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once)
 	for __ccgo := true; __ccgo; __ccgo = iLevel < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel) {
@@ -102689,9 +102736,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 			var r1 int32 = Xsqlite3GetTempRange(tls, pParse, n)
 			var jj int32
 			for jj = 0; jj < n; jj++ {
-				var iCol int32 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(jj)*2)))
-
-				Xsqlite3ExprCodeGetColumnOfTable(tls, v, (*Index)(unsafe.Pointer(pIdx)).FpTable, iCur, iCol, r1+jj)
+				Xsqlite3ExprCodeLoadIndexColumn(tls, pParse, pIdx, iCur, jj, r1+jj)
 			}
 			Xsqlite3VdbeAddOp4Int(tls, v, OP_FilterAdd, (*WhereLevel)(unsafe.Pointer(pLevel)).FregFilter, 0, r1, n)
 			Xsqlite3ReleaseTempRange(tls, pParse, r1, n)
@@ -102725,6 +102770,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 		}
 	}
 	Xsqlite3VdbeJumpHere(tls, v, addrOnce)
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = saved_pIdxEpr
 }
 
 func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr {
@@ -102983,11 +103029,16 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro
 
 	_ = pParse
 
+	if !((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) && int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol)
+	} else {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnColumn)
+	}
 	nField = func() int32 {
-		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < (*Index)(unsafe.Pointer(pIdx)).FnSample {
+		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < nField {
 			return int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField)
 		}
-		return (*Index)(unsafe.Pointer(pIdx)).FnSample
+		return nField
 	}()
 	iCol = 0
 	iSample = (*Index)(unsafe.Pointer(pIdx)).FnSample * nField
@@ -104568,7 +104619,7 @@ __4:
 				j >= (*WhereClause)(unsafe.Pointer(pWC)).FnTerm ||
 				*(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) ||
 				int32((*sqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21943, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+				Xsqlite3ErrorMsg(tls, pParse, ts+21990, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 				return SQLITE_ERROR
 			}
@@ -104626,7 +104677,7 @@ __6:
 	(*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm = U16(mxTerm + 1)
 	for i = 0; i <= mxTerm; i++ {
 		if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21943, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+			Xsqlite3ErrorMsg(tls, pParse, ts+21990, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 			return SQLITE_ERROR
 		}
@@ -105024,7 +105075,7 @@ __1:
 		mPrior = mPrior | (*WhereLoop)(unsafe.Pointer(pNew)).FmaskSelf
 		if rc != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 			if rc == SQLITE_DONE {
-				Xsqlite3_log(tls, SQLITE_WARNING, ts+21969, 0)
+				Xsqlite3_log(tls, SQLITE_WARNING, ts+22016, 0)
 				rc = SQLITE_OK
 			} else {
 				goto __3
@@ -105631,7 +105682,7 @@ __3:
 	}
 
 	if nFrom == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22004, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+22051, 0)
 		Xsqlite3DbFreeNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pSpace)
 		return SQLITE_ERROR
 	}
@@ -105666,6 +105717,10 @@ __3:
 			if int32((*WherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*ExprList)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr {
 				(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_ORDERED)
 			}
+			if (*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 &&
+				int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr {
+				(*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = I8((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr)
+			}
 		} else {
 			(*WhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*WherePath)(unsafe.Pointer(pFrom)).FrevLoop
 			if int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 {
@@ -105960,6 +106015,9 @@ func whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur in
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCur = iIdxCur
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCol = i
 		(*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow = U8(bMaybeNullRow)
+		if Xsqlite3IndexAffinityStr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pIdx) != 0 {
+			(*IndexedExpr)(unsafe.Pointer(p)).Faff = *(*uint8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(i)))
+		}
 		(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = p
 		if (*IndexedExpr)(unsafe.Pointer(p)).FpIENext == uintptr(0) {
 			Xsqlite3ParserAddCleanup(tls, pParse, *(*uintptr)(unsafe.Pointer(&struct {
@@ -106112,7 +106170,7 @@ __1:
 	if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22022, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+22069, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
 	return uintptr(0)
 __2:
 	;
@@ -106176,7 +106234,7 @@ __6:
 	(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE)
 __7:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22050, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22097, 0)
 	goto __5
 __4:
 	ii = 0
@@ -107058,7 +107116,7 @@ __1:
 
 error_out:
 	Xsqlite3_result_error(tls,
-		pCtx, ts+22068, -1)
+		pCtx, ts+22115, -1)
 }
 
 func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
@@ -107191,7 +107249,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 			(*NtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 			if (*NtileCtx)(unsafe.Pointer(p)).FnParam <= int64(0) {
 				Xsqlite3_result_error(tls,
-					pCtx, ts+22124, -1)
+					pCtx, ts+22171, -1)
 			}
 		}
 		(*NtileCtx)(unsafe.Pointer(p)).FnTotal++
@@ -107281,17 +107339,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
 	}
 }
 
-var row_numberName = *(*[11]uint8)(unsafe.Pointer(ts + 22169))
-var dense_rankName = *(*[11]uint8)(unsafe.Pointer(ts + 22180))
-var rankName = *(*[5]uint8)(unsafe.Pointer(ts + 22191))
-var percent_rankName = *(*[13]uint8)(unsafe.Pointer(ts + 22196))
-var cume_distName = *(*[10]uint8)(unsafe.Pointer(ts + 22209))
-var ntileName = *(*[6]uint8)(unsafe.Pointer(ts + 22219))
-var last_valueName = *(*[11]uint8)(unsafe.Pointer(ts + 22225))
-var nth_valueName = *(*[10]uint8)(unsafe.Pointer(ts + 22236))
-var first_valueName = *(*[12]uint8)(unsafe.Pointer(ts + 22246))
-var leadName = *(*[5]uint8)(unsafe.Pointer(ts + 22258))
-var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22263))
+var row_numberName = *(*[11]uint8)(unsafe.Pointer(ts + 22216))
+var dense_rankName = *(*[11]uint8)(unsafe.Pointer(ts + 22227))
+var rankName = *(*[5]uint8)(unsafe.Pointer(ts + 22238))
+var percent_rankName = *(*[13]uint8)(unsafe.Pointer(ts + 22243))
+var cume_distName = *(*[10]uint8)(unsafe.Pointer(ts + 22256))
+var ntileName = *(*[6]uint8)(unsafe.Pointer(ts + 22266))
+var last_valueName = *(*[11]uint8)(unsafe.Pointer(ts + 22272))
+var nth_valueName = *(*[10]uint8)(unsafe.Pointer(ts + 22283))
+var first_valueName = *(*[12]uint8)(unsafe.Pointer(ts + 22293))
+var leadName = *(*[5]uint8)(unsafe.Pointer(ts + 22305))
+var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22310))
 
 func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) {
 	_ = p
@@ -107337,7 +107395,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin
 		}
 	}
 	if p == uintptr(0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22267, libc.VaList(bp, zName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+22314, libc.VaList(bp, zName))
 	}
 	return p
 }
@@ -107381,12 +107439,12 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin
 		((*Window)(unsafe.Pointer(pWin)).FpStart != 0 || (*Window)(unsafe.Pointer(pWin)).FpEnd != 0) &&
 		((*Window)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*ExprList)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != 1) {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+22286, 0)
+			ts+22333, 0)
 	} else if (*FuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
 		if (*Window)(unsafe.Pointer(pWin)).FpFilter != 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22357, 0)
+				ts+22404, 0)
 		} else {
 			*(*[8]WindowUpdate)(unsafe.Pointer(bp)) = [8]WindowUpdate{
 				{FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT},
@@ -107615,7 +107673,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr
 
 	if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) {
 		Xsqlite3ErrorMsg(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse,
-			ts+22420, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
+			ts+22467, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
 	}
 	return WRC_Continue
 }
@@ -107731,7 +107789,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 {
 
 		if *(*uintptr)(unsafe.Pointer(bp + 48)) == uintptr(0) {
 			*(*uintptr)(unsafe.Pointer(bp + 48)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0),
-				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7530))
+				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7519))
 		}
 
 		pSub = Xsqlite3SelectNew(tls,
@@ -107846,7 +107904,7 @@ __1:
 		eStart == TK_FOLLOWING && (eEnd == TK_PRECEDING || eEnd == TK_CURRENT)) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22446, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22493, 0)
 	goto windowAllocErr
 __2:
 	;
@@ -107911,15 +107969,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint
 			var zErr uintptr = uintptr(0)
 
 			if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 {
-				zErr = ts + 22478
+				zErr = ts + 22525
 			} else if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0 {
-				zErr = ts + 22495
+				zErr = ts + 22542
 			} else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 {
-				zErr = ts + 22511
+				zErr = ts + 22558
 			}
 			if zErr != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+22531, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
+					ts+22578, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
 			} else {
 				(*Window)(unsafe.Pointer(pWin)).FpPartition = Xsqlite3ExprListDup(tls, db, (*Window)(unsafe.Pointer(pExist)).FpPartition, 0)
 				if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 {
@@ -107940,7 +107998,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr
 		(*Window)(unsafe.Pointer(pWin)).FpOwner = p
 		if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Distinct) != 0 && int32((*Window)(unsafe.Pointer(pWin)).FeFrmType) != TK_FILTER {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22564, 0)
+				ts+22611, 0)
 		}
 	} else {
 		Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin)
@@ -108096,11 +108154,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) {
 }
 
 var azErr = [5]uintptr{
-	ts + 22611,
-	ts + 22664,
-	ts + 22068,
-	ts + 22715,
-	ts + 22767,
+	ts + 22658,
+	ts + 22711,
+	ts + 22115,
+	ts + 22762,
+	ts + 22814,
 }
 var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge}
 
@@ -109495,19 +109553,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) {
 			}
 			cnt++
 			if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*Select)(unsafe.Pointer(pLoop)).FpLimit != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+22817,
+				Xsqlite3ErrorMsg(tls, pParse, ts+22864,
 					libc.VaList(bp, func() uintptr {
 						if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) {
-							return ts + 22859
+							return ts + 22906
 						}
-						return ts + 22868
+						return ts + 22915
 					}(),
 						Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(pNext)).Fop))))
 				break
 			}
 		}
 		if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_MultiValue) == U32(0) && libc.AssignInt32(&mxSelect, *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 4*4))) > 0 && cnt > mxSelect {
-			Xsqlite3ErrorMsg(tls, pParse, ts+22874, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+22921, 0)
 		}
 	}
 
@@ -109575,7 +109633,7 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT
 	var p uintptr = Xsqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0))
 	if (hasCollate != 0 || sortOrder != -1) &&
 		int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22908,
+		Xsqlite3ErrorMsg(tls, pParse, ts+22955,
 			libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz))
 	}
 	Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1)
@@ -110672,7 +110730,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) {
 		yy_pop_parser_stack(tls, yypParser)
 	}
 
-	Xsqlite3ErrorMsg(tls, pParse, ts+22946, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22993, 0)
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
 }
@@ -111651,7 +111709,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(TF_WithoutRowid | TF_NoVisibleRowid)
 				} else {
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22968, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23015, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			break
@@ -111661,7 +111719,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(TF_Strict)
 				} else {
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22968, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23015, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			*(*U32)(unsafe.Pointer(yymsp + 8)) = *(*U32)(unsafe.Pointer(bp + 40))
@@ -112404,7 +112462,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 		case uint32(157):
 			{
 				Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8)), yymsp+libc.UintptrFromInt32(-4)*24+8)
-				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+22995)
+				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+23042)
 				if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) != 0 {
 					var pFromClause uintptr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8))
 					if (*SrcList)(unsafe.Pointer(pFromClause)).FnSrc > 1 {
@@ -112568,7 +112626,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*Token)(unsafe.Pointer(bp + 128)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 
 					if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+23004, libc.VaList(bp+32, bp+128))
+						Xsqlite3ErrorMsg(tls, pParse, ts+23051, libc.VaList(bp+32, bp+128))
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0)
 					} else {
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0))
@@ -112785,9 +112843,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					Xsqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
 					*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_STRING, func() uintptr {
 						if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8)) != 0 {
-							return ts + 6764
+							return ts + 7694
 						}
-						return ts + 6769
+						return ts + 7699
 					}())
 					if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) != 0 {
 						Xsqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
@@ -113071,19 +113129,19 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 			{
 				*(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23028, 0)
+					ts+23075, 0)
 			}
 			break
 		case uint32(271):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23123, 0)
+					ts+23170, 0)
 			}
 			break
 		case uint32(272):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23207, 0)
+					ts+23254, 0)
 			}
 			break
 		case uint32(273):
@@ -113462,9 +113520,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To
 
 	_ = yymajor
 	if *(*uint8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8)).Fz)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23004, libc.VaList(bp, bp+8))
+		Xsqlite3ErrorMsg(tls, pParse, ts+23051, libc.VaList(bp, bp+8))
 	} else {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23292, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+23339, 0)
 	}
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
@@ -114232,7 +114290,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 			} else {
 				(*Token)(unsafe.Pointer(bp + 2464)).Fz = zSql
 				(*Token)(unsafe.Pointer(bp + 2464)).Fn = uint32(n)
-				Xsqlite3ErrorMsg(tls, pParse, ts+23309, libc.VaList(bp, bp+2464))
+				Xsqlite3ErrorMsg(tls, pParse, ts+23356, libc.VaList(bp, bp+2464))
 				break
 			}
 		}
@@ -114255,7 +114313,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 		if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) {
 			(*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+3663, libc.VaList(bp+8, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc)))
 		}
-		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23334, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
+		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23381, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
 		nErr++
 	}
 	(*Parse)(unsafe.Pointer(pParse)).FzTail = zSql
@@ -114428,7 +114486,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'C':
 						{
-							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23345, 6) == 0 {
+							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23392, 6) == 0 {
 								token = U8(TkCREATE)
 							} else {
 								token = U8(TkOTHER)
@@ -114441,11 +114499,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'T':
 						{
-							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19931, 7) == 0 {
+							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19978, 7) == 0 {
 								token = U8(TkTRIGGER)
-							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23352, 4) == 0 {
+							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23399, 4) == 0 {
 								token = U8(TkTEMP)
-							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23357, 9) == 0 {
+							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23404, 9) == 0 {
 								token = U8(TkTEMP)
 							} else {
 								token = U8(TkOTHER)
@@ -114458,9 +114516,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'E':
 						{
-							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23367, 3) == 0 {
+							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23414, 3) == 0 {
 								token = U8(TkEND)
-							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23371, 7) == 0 {
+							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23418, 7) == 0 {
 								token = U8(TkEXPLAIN)
 							} else {
 								token = U8(TkOTHER)
@@ -114699,7 +114757,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 {
 	var rc int32 = SQLITE_OK
 
 	if Xsqlite3Config.FisInit != 0 {
-		return Xsqlite3MisuseError(tls, 174337)
+		return Xsqlite3MisuseError(tls, 174426)
 	}
 
 	ap = va
@@ -115274,7 +115332,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 		return SQLITE_OK
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 175111)
+		return Xsqlite3MisuseError(tls, 175200)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 {
@@ -115289,7 +115347,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 
 	if !(forceZombie != 0) && connectionIsBusy(tls, db) != 0 {
 		Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-			ts+23379, 0)
+			ts+23426, 0)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		return SQLITE_BUSY
 	}
@@ -115480,23 +115538,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) {
 // Return a static string that describes the kind of error specified in the
 // argument.
 func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
-	var zErr uintptr = ts + 23447
+	var zErr uintptr = ts + 23494
 	switch rc {
 	case SQLITE_ABORT | int32(2)<<8:
 		{
-			zErr = ts + 23461
+			zErr = ts + 23508
 			break
 
 		}
 	case SQLITE_ROW:
 		{
-			zErr = ts + 23483
+			zErr = ts + 23530
 			break
 
 		}
 	case SQLITE_DONE:
 		{
-			zErr = ts + 23505
+			zErr = ts + 23552
 			break
 
 		}
@@ -115514,35 +115572,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
 }
 
 var aMsg = [29]uintptr{
-	ts + 23528,
-	ts + 23541,
+	ts + 23575,
+	ts + 23588,
 	uintptr(0),
-	ts + 23557,
-	ts + 23582,
-	ts + 23596,
-	ts + 23615,
+	ts + 23604,
+	ts + 23629,
+	ts + 23643,
+	ts + 23662,
 	ts + 1490,
-	ts + 23640,
-	ts + 23677,
-	ts + 23689,
-	ts + 23704,
-	ts + 23737,
-	ts + 23755,
-	ts + 23780,
-	ts + 23809,
+	ts + 23687,
+	ts + 23724,
+	ts + 23736,
+	ts + 23751,
+	ts + 23784,
+	ts + 23802,
+	ts + 23827,
+	ts + 23856,
 	uintptr(0),
 	ts + 5838,
 	ts + 5334,
-	ts + 23826,
-	ts + 23844,
-	ts + 23862,
+	ts + 23873,
+	ts + 23891,
+	ts + 23909,
 	uintptr(0),
-	ts + 23896,
-	uintptr(0),
-	ts + 23917,
 	ts + 23943,
-	ts + 23966,
-	ts + 23987,
+	uintptr(0),
+	ts + 23964,
+	ts + 23990,
+	ts + 24013,
+	ts + 24034,
 }
 
 func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 {
@@ -115663,7 +115721,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 		libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) ||
 		(nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) ||
 		255 < Xsqlite3Strlen30(tls, zFunctionName) {
-		return Xsqlite3MisuseError(tls, 175758)
+		return Xsqlite3MisuseError(tls, 175847)
 	}
 
 	extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS)
@@ -115713,7 +115771,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 	if p != 0 && (*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK) == U32(enc) && int32((*FuncDef)(unsafe.Pointer(p)).FnArg) == nArg {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24003, 0)
+				ts+24050, 0)
 
 			return SQLITE_BUSY
 		} else {
@@ -115835,7 +115893,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs
 	_ = NotUsed
 	_ = NotUsed2
 	zErr = Xsqlite3_mprintf(tls,
-		ts+24066, libc.VaList(bp, zName))
+		ts+24113, libc.VaList(bp, zName))
 	Xsqlite3_result_error(tls, context, zErr, -1)
 	Xsqlite3_free(tls, zErr)
 }
@@ -116071,7 +116129,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
 	}
 	if iDb < 0 {
 		rc = SQLITE_ERROR
-		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24117, libc.VaList(bp, zDb))
+		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24164, libc.VaList(bp, zDb))
 	} else {
 		(*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0
 		rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt)
@@ -116164,7 +116222,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr {
 		return Xsqlite3ErrStr(tls, SQLITE_NOMEM)
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176503))
+		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176592))
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -116234,7 +116292,7 @@ var misuse = [34]U16{
 // passed to this function, we assume a malloc() failed during sqlite3_open().
 func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176582)
+		return Xsqlite3MisuseError(tls, 176671)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -116244,7 +116302,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 
 func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176591)
+		return Xsqlite3MisuseError(tls, 176680)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -116281,14 +116339,14 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint
 		}()
 	}
 	if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE {
-		return Xsqlite3MisuseError(tls, 176639)
+		return Xsqlite3MisuseError(tls, 176728)
 	}
 
 	pColl = Xsqlite3FindCollSeq(tls, db, U8(enc2), zName, 0)
 	if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24138, 0)
+				ts+24185, 0)
 			return SQLITE_BUSY
 		}
 		Xsqlite3ExpirePreparedStatements(tls, db, 0)
@@ -116418,7 +116476,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u
 
 	if !((flags&uint32(SQLITE_OPEN_URI) != 0 ||
 		Xsqlite3Config.FbOpenUri != 0) &&
-		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24206, uint64(5)) == 0) {
+		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24253, uint64(5)) == 0) {
 		goto __1
 	}
 	iOut = 0
@@ -116463,10 +116521,10 @@ __8:
 	goto __8
 __9:
 	;
-	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24212, zUri+7, uint64(9)) != 0)) {
+	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24259, zUri+7, uint64(9)) != 0)) {
 		goto __10
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24222,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24269,
 		libc.VaList(bp, iIn-7, zUri+7))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
@@ -116571,7 +116629,7 @@ __27:
 	zVal = zOpt + uintptr(nOpt+1)
 	nVal = Xsqlite3Strlen30(tls, zVal)
 
-	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24250, zOpt, uint64(3)) == 0) {
+	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24297, zOpt, uint64(3)) == 0) {
 		goto __29
 	}
 	zVfs = zVal
@@ -116582,17 +116640,17 @@ __29:
 	mask = 0
 	limit = 0
 
-	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24254, zOpt, uint64(5)) == 0) {
+	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24301, zOpt, uint64(5)) == 0) {
 		goto __31
 	}
 
 	mask = SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE
 	aMode = uintptr(unsafe.Pointer(&aCacheMode))
 	limit = mask
-	zModeType = ts + 24254
+	zModeType = ts + 24301
 __31:
 	;
-	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24260, zOpt, uint64(4)) == 0) {
+	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24307, zOpt, uint64(4)) == 0) {
 		goto __32
 	}
 
@@ -116630,7 +116688,7 @@ __36:
 	if !(mode == 0) {
 		goto __38
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24265, libc.VaList(bp+16, zModeType, zVal))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24312, libc.VaList(bp+16, zModeType, zVal))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
 __38:
@@ -116638,7 +116696,7 @@ __38:
 	if !(mode&libc.CplInt32(SQLITE_OPEN_MEMORY) > limit) {
 		goto __39
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24285,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24332,
 		libc.VaList(bp+32, zModeType, zVal))
 	rc = SQLITE_PERM
 	goto parse_uri_out
@@ -116678,7 +116736,7 @@ __2:
 	if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) {
 		goto __42
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24309, libc.VaList(bp+48, zVfs))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24356, libc.VaList(bp+48, zVfs))
 	rc = SQLITE_ERROR
 __42:
 	;
@@ -116702,14 +116760,14 @@ type OpenMode = struct {
 }
 
 var aCacheMode = [3]OpenMode{
-	{Fz: ts + 24325, Fmode: SQLITE_OPEN_SHAREDCACHE},
-	{Fz: ts + 24332, Fmode: SQLITE_OPEN_PRIVATECACHE},
+	{Fz: ts + 24372, Fmode: SQLITE_OPEN_SHAREDCACHE},
+	{Fz: ts + 24379, Fmode: SQLITE_OPEN_PRIVATECACHE},
 	{},
 }
 var aOpenMode = [5]OpenMode{
-	{Fz: ts + 24340, Fmode: SQLITE_OPEN_READONLY},
-	{Fz: ts + 24343, Fmode: SQLITE_OPEN_READWRITE},
-	{Fz: ts + 24346, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
+	{Fz: ts + 24387, Fmode: SQLITE_OPEN_READONLY},
+	{Fz: ts + 24390, Fmode: SQLITE_OPEN_READWRITE},
+	{Fz: ts + 24393, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
 	{Fz: ts + 17362, Fmode: SQLITE_OPEN_MEMORY},
 	{},
 }
@@ -116856,10 +116914,10 @@ __12:
 	createCollation(tls, db, uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{binCollFunc})), uintptr(0))
-	createCollation(tls, db, ts+21863, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+21910, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{nocaseCollatingFunc})), uintptr(0))
-	createCollation(tls, db, ts+24350, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+24397, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{rtrimCollFunc})), uintptr(0))
 	if !((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) {
@@ -116873,7 +116931,7 @@ __15:
 	if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) {
 		goto __16
 	}
-	rc = Xsqlite3MisuseError(tls, 177308)
+	rc = Xsqlite3MisuseError(tls, 177397)
 	goto __17
 __16:
 	rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24)
@@ -116926,7 +116984,7 @@ __22:
 
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 6441
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).Fsafety_level = U8(SQLITE_DEFAULT_SYNCHRONOUS + 1)
-	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23352
+	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23399
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF)
 
 	(*Sqlite3)(unsafe.Pointer(db)).FeOpenState = U8(SQLITE_STATE_OPEN)
@@ -117031,7 +117089,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 {
 		return rc
 	}
 	if zFilename == uintptr(0) {
-		zFilename = ts + 24356
+		zFilename = ts + 24403
 	}
 	pVal = Xsqlite3ValueNew(tls, uintptr(0))
 	Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, func() uint8 {
@@ -117149,21 +117207,21 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr)
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	Xsqlite3_log(tls, iErr, ts+24359,
+	Xsqlite3_log(tls, iErr, ts+24406,
 		libc.VaList(bp, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls)))
 	return iErr
 }
 
 func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24384)
+	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24431)
 }
 
 func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24404)
+	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24451)
 }
 
 func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24411)
+	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24458)
 }
 
 // This is a convenience routine that makes sure that all thread-specific
@@ -117321,7 +117379,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24)))
-	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24428, libc.VaList(bp, zTableName,
+	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24475, libc.VaList(bp, zTableName,
 		zColumnName))
 	rc = SQLITE_ERROR
 __20:
@@ -117977,7 +118035,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 {
 
 	azCompileOpt = Xsqlite3CompileOptions(tls, bp)
 
-	if Xsqlite3_strnicmp(tls, zOptName, ts+24456, 7) == 0 {
+	if Xsqlite3_strnicmp(tls, zOptName, ts+24503, 7) == 0 {
 		zOptName += uintptr(7)
 	}
 	n = Xsqlite3Strlen30(tls, zOptName)
@@ -118095,7 +118153,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin
 
 	Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr {
 		if rc != 0 {
-			return ts + 24464
+			return ts + 24511
 		}
 		return uintptr(0)
 	}(), 0)
@@ -118273,7 +118331,7 @@ type JsonParse1 = struct {
 type JsonParse = JsonParse1
 
 var jsonType = [8]uintptr{
-	ts + 6181, ts + 6764, ts + 6769, ts + 6191, ts + 6186, ts + 8005, ts + 24487, ts + 24493,
+	ts + 6181, ts + 7694, ts + 7699, ts + 6191, ts + 6186, ts + 8005, ts + 24534, ts + 24540,
 }
 
 func jsonZero(tls *libc.TLS, p uintptr) {
@@ -118426,7 +118484,7 @@ __10:
 	*(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('0')
 	*(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('0')
 	*(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('0' + int32(c)>>4)
-	c = *(*uint8)(unsafe.Pointer(ts + 24500 + uintptr(int32(c)&0xf)))
+	c = *(*uint8)(unsafe.Pointer(ts + 24547 + uintptr(int32(c)&0xf)))
 __8:
 	;
 __6:
@@ -118481,7 +118539,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) {
 	default:
 		{
 			if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 {
-				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24517, -1)
+				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24564, -1)
 				(*JsonString)(unsafe.Pointer(p)).FbErr = U8(2)
 				jsonReset(tls, p)
 			}
@@ -118545,13 +118603,13 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr
 		}
 	case JSON_TRUE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6764, uint32(4))
+			jsonAppendRaw(tls, pOut, ts+7694, uint32(4))
 			break
 
 		}
 	case JSON_FALSE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6769, uint32(5))
+			jsonAppendRaw(tls, pOut, ts+7699, uint32(5))
 			break
 
 		}
@@ -119101,12 +119159,12 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 't' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6764, uint64(4)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7694, uint64(4)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+U32(4))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_TRUE), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 'f' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6769, uint64(5)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7699, uint64(5)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+U32(5))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_FALSE), uint32(0), uintptr(0))
 		return int32(i + U32(5))
@@ -119207,7 +119265,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32
 			if (*JsonParse)(unsafe.Pointer(pParse)).Foom != 0 {
 				Xsqlite3_result_error_nomem(tls, pCtx)
 			} else {
-				Xsqlite3_result_error(tls, pCtx, ts+24546, -1)
+				Xsqlite3_result_error(tls, pCtx, ts+24593, -1)
 			}
 		}
 		jsonParseReset(tls, pParse)
@@ -119513,7 +119571,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt
 	}
 	if int32(*(*uint8)(unsafe.Pointer(zPath))) == '.' {
 		jsonParseAddNode(tls, pParse, uint32(JSON_OBJECT), uint32(0), uintptr(0))
-	} else if libc.Xstrncmp(tls, zPath, ts+24561, uint64(3)) == 0 {
+	} else if libc.Xstrncmp(tls, zPath, ts+24608, uint64(3)) == 0 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0))
 	} else {
 		return uintptr(0)
@@ -119528,7 +119586,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	return Xsqlite3_mprintf(tls, ts+24565, libc.VaList(bp, zErr))
+	return Xsqlite3_mprintf(tls, ts+24612, libc.VaList(bp, zErr))
 }
 
 func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr {
@@ -119582,7 +119640,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24591,
+	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24638,
 		libc.VaList(bp, zFuncName))
 	Xsqlite3_result_error(tls, pCtx, zMsg, -1)
 	Xsqlite3_free(tls, zMsg)
@@ -119687,11 +119745,11 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 			if int32(*(*uint8)(unsafe.Pointer(zPath))) != '$' {
 				jsonInit(tls, bp, ctx)
 				if int32(Xsqlite3CtypeMap[*(*uint8)(unsafe.Pointer(zPath))])&0x04 != 0 {
-					jsonAppendRaw(tls, bp, ts+24634, uint32(2))
+					jsonAppendRaw(tls, bp, ts+24681, uint32(2))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendRaw(tls, bp, ts+4998, uint32(2))
 				} else {
-					jsonAppendRaw(tls, bp, ts+24637, uint32(1+libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zPath))) != '[')))
+					jsonAppendRaw(tls, bp, ts+24684, uint32(1+libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zPath))) != '[')))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendChar(tls, bp, uint8(0))
 				}
@@ -119848,14 +119906,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 
 	if argc&1 != 0 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+24640, -1)
+			ts+24687, -1)
 		return
 	}
 	jsonInit(tls, bp, ctx)
 	jsonAppendChar(tls, bp, uint8('{'))
 	for i = 0; i < argc; i = i + 2 {
 		if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != SQLITE_TEXT {
-			Xsqlite3_result_error(tls, ctx, ts+24691, -1)
+			Xsqlite3_result_error(tls, ctx, ts+24738, -1)
 			jsonReset(tls, bp)
 			return
 		}
@@ -120025,9 +120083,9 @@ __1:
 	}
 	jsonWrongNumArgs(tls, ctx, func() uintptr {
 		if bIsSet != 0 {
-			return ts + 24725
+			return ts + 24772
 		}
-		return ts + 24729
+		return ts + 24776
 	}())
 	return
 __2:
@@ -120160,7 +120218,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24736, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24783, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -120257,7 +120315,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24739, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24786, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -120301,7 +120359,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u
 	_ = argc
 	_ = pAux
 	rc = Xsqlite3_declare_vtab(tls, db,
-		ts+24742)
+		ts+24789)
 	if rc == SQLITE_OK {
 		pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{}))))
 		if pNew == uintptr(0) {
@@ -120432,7 +120490,7 @@ func jsonAppendObjectPathElement(tls *libc.TLS, pStr uintptr, pNode uintptr) {
 			nn = nn - 2
 		}
 	}
-	jsonPrintf(tls, nn+2, pStr, ts+24825, libc.VaList(bp, nn, z))
+	jsonPrintf(tls, nn+2, pStr, ts+24872, libc.VaList(bp, nn, z))
 }
 
 func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
@@ -120451,7 +120509,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
 	pNode = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(i)*16
 	pUp = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(iUp)*16
 	if int32((*JsonNode)(unsafe.Pointer(pUp)).FeType) == JSON_ARRAY {
-		jsonPrintf(tls, 30, pStr, ts+24831, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
+		jsonPrintf(tls, 30, pStr, ts+24878, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
 	} else {
 		if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_LABEL == 0 {
 			pNode -= 16
@@ -120547,7 +120605,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 					jsonAppendChar(tls, bp+8, uint8('$'))
 				}
 				if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY {
-					jsonPrintf(tls, 30, bp+8, ts+24831, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
+					jsonPrintf(tls, 30, bp+8, ts+24878, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
 				} else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT {
 					jsonAppendObjectPathElement(tls, bp+8, pThis)
 				}
@@ -120571,7 +120629,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 		{
 			var zRoot uintptr = (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot
 			if zRoot == uintptr(0) {
-				zRoot = ts + 24836
+				zRoot = ts + 24883
 			}
 			Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0))
 			break
@@ -120693,7 +120751,7 @@ func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, ar
 		var rc int32 = SQLITE_NOMEM
 		if int32((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.Foom) == 0 {
 			Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg)
-			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24546, 0)
+			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24593, 0)
 			if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 {
 				rc = SQLITE_ERROR
 			}
@@ -120788,25 +120846,25 @@ func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) {
 }
 
 var aJsonFunc = [19]FuncDef{
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24838},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24843},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24854},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24854},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24872},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 24885},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 24888},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24892},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24904},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24916},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24927},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24938},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24950},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 24963},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24972},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24972},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24982},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24993},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25010}}
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24885},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24890},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24901},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24901},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24919},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 24932},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 24935},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24939},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24951},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24963},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24974},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24985},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24997},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 25010},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25019},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25019},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25029},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25040},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25057}}
 
 // Register the JSON table-valued functions
 func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 {
@@ -120825,8 +120883,8 @@ var aMod = [2]struct {
 	FzName   uintptr
 	FpModule uintptr
 }{
-	{FzName: ts + 25028, FpModule: 0},
-	{FzName: ts + 25038, FpModule: 0},
+	{FzName: ts + 25075, FpModule: 0},
+	{FzName: ts + 25085, FpModule: 0},
 }
 
 type Rtree1 = struct {
@@ -121086,11 +121144,11 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo
 		}
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) {
-		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25048, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25095, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		if zTab == uintptr(0) {
 			return SQLITE_NOMEM
 		}
-		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25056, iNode, 0,
+		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25103, iNode, 0,
 			pRtree+112)
 		Xsqlite3_free(tls, zTab)
 	}
@@ -121301,7 +121359,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32
 	var zCreate uintptr = Xsqlite3_mprintf(tls,
-		ts+25061,
+		ts+25108,
 		libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
@@ -121999,7 +122057,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 {
 	var pSrc uintptr
 	var pInfo uintptr
 
-	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25143)
+	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25190)
 	if pSrc == uintptr(0) {
 		return SQLITE_ERROR
 	}
@@ -123340,7 +123398,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+25157, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+	zSql = Xsqlite3_mprintf(tls, ts+25204, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 	if zSql != 0 {
 		rc = Xsqlite3_prepare_v2(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -1, bp+56, uintptr(0))
 	} else {
@@ -123352,12 +123410,12 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 		if iCol == 0 {
 			var zCol uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 0)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25177, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
+				ts+25224, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
 		} else {
 			var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol)
 			var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol+1)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25209, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
+				ts+25256, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
 		}
 	}
 
@@ -123583,7 +123641,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32 = SQLITE_NOMEM
 	var zSql uintptr = Xsqlite3_mprintf(tls,
-		ts+25246, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
+		ts+25293, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
 	if zSql != 0 {
 		nodeBlobReset(tls, pRtree)
 		rc = Xsqlite3_exec(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0))
@@ -123606,7 +123664,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 {
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	var zFmt uintptr = ts + 25391
+	var zFmt uintptr = ts + 25438
 	var zSql uintptr
 
 	var rc int32
@@ -123654,7 +123712,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName1 = [3]uintptr{
-	ts + 25447, ts + 5060, ts + 16267,
+	ts + 25494, ts + 5060, ts + 16267,
 }
 
 var rtreeModule = Sqlite3_module{
@@ -123697,19 +123755,19 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		var p uintptr = Xsqlite3_str_new(tls, db)
 		var ii int32
 		Xsqlite3_str_appendf(tls, p,
-			ts+25452,
+			ts+25499,
 			libc.VaList(bp, zDb, zPrefix))
 		for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
-			Xsqlite3_str_appendf(tls, p, ts+25514, libc.VaList(bp+16, ii))
+			Xsqlite3_str_appendf(tls, p, ts+25561, libc.VaList(bp+16, ii))
 		}
 		Xsqlite3_str_appendf(tls, p,
-			ts+25519,
+			ts+25566,
 			libc.VaList(bp+24, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25583,
+			ts+25630,
 			libc.VaList(bp+40, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25653,
+			ts+25700,
 			libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))
 		zCreate = Xsqlite3_str_finish(tls, p)
 		if !(zCreate != 0) {
@@ -123738,7 +123796,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		if i != 3 || int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) == 0 {
 			zFormat = azSql[i]
 		} else {
-			zFormat = ts + 25702
+			zFormat = ts + 25749
 		}
 		zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix))
 		if zSql != 0 {
@@ -123750,7 +123808,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FnAux != 0 {
 		(*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls,
-			ts+25810,
+			ts+25857,
 			libc.VaList(bp+96, zDb, zPrefix))
 		if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -123758,18 +123816,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 			var p uintptr = Xsqlite3_str_new(tls, db)
 			var ii int32
 			var zSql uintptr
-			Xsqlite3_str_appendf(tls, p, ts+25855, libc.VaList(bp+112, zDb, zPrefix))
+			Xsqlite3_str_appendf(tls, p, ts+25902, libc.VaList(bp+112, zDb, zPrefix))
 			for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
 				if ii != 0 {
 					Xsqlite3_str_append(tls, p, ts+12767, 1)
 				}
 				if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) {
-					Xsqlite3_str_appendf(tls, p, ts+25882, libc.VaList(bp+128, ii, ii+2, ii))
+					Xsqlite3_str_appendf(tls, p, ts+25929, libc.VaList(bp+128, ii, ii+2, ii))
 				} else {
-					Xsqlite3_str_appendf(tls, p, ts+25904, libc.VaList(bp+152, ii, ii+2))
+					Xsqlite3_str_appendf(tls, p, ts+25951, libc.VaList(bp+152, ii, ii+2))
 				}
 			}
-			Xsqlite3_str_appendf(tls, p, ts+25912, 0)
+			Xsqlite3_str_appendf(tls, p, ts+25959, 0)
 			zSql = Xsqlite3_str_finish(tls, p)
 			if zSql == uintptr(0) {
 				rc = SQLITE_NOMEM
@@ -123784,14 +123842,14 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 }
 
 var azSql = [8]uintptr{
-	ts + 25928,
-	ts + 25981,
-	ts + 26026,
-	ts + 26078,
-	ts + 26132,
-	ts + 26177,
-	ts + 26235,
-	ts + 26290,
+	ts + 25975,
+	ts + 26028,
+	ts + 26073,
+	ts + 26125,
+	ts + 26179,
+	ts + 26224,
+	ts + 26282,
+	ts + 26337,
 }
 
 func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 {
@@ -123820,7 +123878,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 	var zSql uintptr
 	if isCreate != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = 0
-		zSql = Xsqlite3_mprintf(tls, ts+26337, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
+		zSql = Xsqlite3_mprintf(tls, ts+26384, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
 		rc = getIntFromStmt(tls, db, zSql, bp+48)
 		if rc == SQLITE_OK {
 			(*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp + 48)) - 64
@@ -123832,7 +123890,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		}
 	} else {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+26357,
+			ts+26404,
 			libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		rc = getIntFromStmt(tls, db, zSql, pRtree+32)
 		if rc != SQLITE_OK {
@@ -123840,7 +123898,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		} else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < 512-64 {
 			rc = SQLITE_CORRUPT | int32(1)<<8
 
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26414,
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26461,
 				libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		}
 	}
@@ -123882,10 +123940,10 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr
 	ii = 4
 	*(*[5]uintptr)(unsafe.Pointer(bp + 96)) = [5]uintptr{
 		uintptr(0),
-		ts + 26449,
-		ts + 26492,
-		ts + 26527,
-		ts + 26563,
+		ts + 26496,
+		ts + 26539,
+		ts + 26574,
+		ts + 26610,
 	}
 
 	if !(argc < 6 || argc > RTREE_MAX_AUX_COLUMN+3) {
@@ -123916,7 +123974,7 @@ __2:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+26600,
+	Xsqlite3_str_appendf(tls, pSql, ts+26647,
 		libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8))))
 	ii = 4
 __3:
@@ -123928,7 +123986,7 @@ __3:
 		goto __6
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+26624, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
+	Xsqlite3_str_appendf(tls, pSql, ts+26671, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
 	goto __7
 __6:
 	if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) {
@@ -123951,7 +124009,7 @@ __4:
 	goto __5
 __5:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26630, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26677, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __10
@@ -124047,7 +124105,7 @@ __25:
 	return rc
 }
 
-var azFormat = [2]uintptr{ts + 26633, ts + 26644}
+var azFormat = [2]uintptr{ts + 26680, ts + 26691}
 
 func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	bp := tls.Alloc(1072)
@@ -124087,11 +124145,11 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 		if ii > 0 {
 			Xsqlite3_str_append(tls, pOut, ts+10920, 1)
 		}
-		Xsqlite3_str_appendf(tls, pOut, ts+26654, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
+		Xsqlite3_str_appendf(tls, pOut, ts+26701, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
 		for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+56)).FnDim2); jj++ {
-			Xsqlite3_str_appendf(tls, pOut, ts+26660, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
+			Xsqlite3_str_appendf(tls, pOut, ts+26707, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
 		}
-		Xsqlite3_str_append(tls, pOut, ts+26664, 1)
+		Xsqlite3_str_append(tls, pOut, ts+26711, 1)
 	}
 	errCode = Xsqlite3_str_errcode(tls, pOut)
 	Xsqlite3_result_text(tls, ctx, Xsqlite3_str_finish(tls, pOut), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
@@ -124102,7 +124160,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	_ = nArg
 	if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB ||
 		Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 {
-		Xsqlite3_result_error(tls, ctx, ts+26666, -1)
+		Xsqlite3_result_error(tls, ctx, ts+26713, -1)
 	} else {
 		var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 		if zBlob != 0 {
@@ -124180,7 +124238,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr
 		if z == uintptr(0) {
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM
 		} else {
-			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26699,
+			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26746,
 				libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr {
 					if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 {
 						return ts + 4062
@@ -124204,7 +124262,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) {
 		(*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = rtreeCheckPrepare(tls, pCheck,
-			ts+26706,
+			ts+26753,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab))
 	}
 
@@ -124223,7 +124281,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 		}
 		rtreeCheckReset(tls, pCheck, (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode)
 		if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) {
-			rtreeCheckAppendMsg(tls, pCheck, ts+26751, libc.VaList(bp+16, iNode))
+			rtreeCheckAppendMsg(tls, pCheck, ts+26798, libc.VaList(bp+16, iNode))
 		}
 	}
 
@@ -124237,8 +124295,8 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	var rc int32
 	var pStmt uintptr
 	*(*[2]uintptr)(unsafe.Pointer(bp + 80)) = [2]uintptr{
-		ts + 26783,
-		ts + 26837,
+		ts + 26830,
+		ts + 26884,
 	}
 
 	if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) {
@@ -124253,23 +124311,23 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	Xsqlite3_bind_int64(tls, pStmt, 1, iKey)
 	rc = Xsqlite3_step(tls, pStmt)
 	if rc == SQLITE_DONE {
-		rtreeCheckAppendMsg(tls, pCheck, ts+26885,
+		rtreeCheckAppendMsg(tls, pCheck, ts+26932,
 			libc.VaList(bp+16, iKey, iVal, func() uintptr {
 				if bLeaf != 0 {
-					return ts + 26930
+					return ts + 26977
 				}
-				return ts + 26938
+				return ts + 26985
 			}()))
 	} else if rc == SQLITE_ROW {
 		var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0)
 		if ii != iVal {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+26947,
+				ts+26994,
 				libc.VaList(bp+40, iKey, ii, func() uintptr {
 					if bLeaf != 0 {
-						return ts + 26930
+						return ts + 26977
 					}
-					return ts + 26938
+					return ts + 26985
 				}(), iKey, iVal))
 		}
 	}
@@ -124293,7 +124351,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 			return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48)) > *(*RtreeValue)(unsafe.Pointer(bp + 52)))
 		}() != 0 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27005, libc.VaList(bp, i, iCell, iNode))
+				ts+27052, libc.VaList(bp, i, iCell, iNode))
 		}
 
 		if pParent != 0 {
@@ -124313,7 +124371,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 					return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52)) > *(*RtreeValue)(unsafe.Pointer(bp + 60)))
 				}() != 0 {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27053, libc.VaList(bp+24, i, iCell, iNode))
+					ts+27100, libc.VaList(bp+24, i, iCell, iNode))
 			}
 		}
 	}
@@ -124330,14 +124388,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 	if aNode != 0 {
 		if *(*int32)(unsafe.Pointer(bp + 48)) < 4 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27120, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
+				ts+27167, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
 		} else {
 			var nCell int32
 			var i int32
 			if aParent == uintptr(0) {
 				iDepth = readInt16(tls, aNode)
 				if iDepth > RTREE_MAX_DEPTH {
-					rtreeCheckAppendMsg(tls, pCheck, ts+27154, libc.VaList(bp+16, iDepth))
+					rtreeCheckAppendMsg(tls, pCheck, ts+27201, libc.VaList(bp+16, iDepth))
 					Xsqlite3_free(tls, aNode)
 					return
 				}
@@ -124345,7 +124403,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 			nCell = readInt16(tls, aNode+2)
 			if 4+nCell*(8+(*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim*2*4) > *(*int32)(unsafe.Pointer(bp + 48)) {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27184,
+					ts+27231,
 					libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48))))
 			} else {
 				for i = 0; i < nCell; i++ {
@@ -124374,14 +124432,14 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) {
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK {
 		var pCount uintptr
-		pCount = rtreeCheckPrepare(tls, pCheck, ts+27239,
+		pCount = rtreeCheckPrepare(tls, pCheck, ts+27286,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl))
 		if pCount != 0 {
 			if Xsqlite3_step(tls, pCount) == SQLITE_ROW {
 				var nActual I64 = Xsqlite3_column_int64(tls, pCount, 0)
 				if nActual != nExpect {
 					rtreeCheckAppendMsg(tls, pCheck,
-						ts+27270, libc.VaList(bp+24, zTbl, nExpect, nActual))
+						ts+27317, libc.VaList(bp+24, zTbl, nExpect, nActual))
 				}
 			}
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount)
@@ -124408,7 +124466,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	}
 
 	if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
-		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27337, libc.VaList(bp, zDb, zTab))
+		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27384, libc.VaList(bp, zDb, zTab))
 		if pStmt != 0 {
 			nAux = Xsqlite3_column_count(tls, pStmt) - 2
 			Xsqlite3_finalize(tls, pStmt)
@@ -124417,12 +124475,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		}
 	}
 
-	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25157, libc.VaList(bp+16, zDb, zTab))
+	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25204, libc.VaList(bp+16, zDb, zTab))
 	if pStmt != 0 {
 		var rc int32
 		(*RtreeCheck)(unsafe.Pointer(bp + 32)).FnDim = (Xsqlite3_column_count(tls, pStmt) - 1 - nAux) / 2
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).FnDim < 1 {
-			rtreeCheckAppendMsg(tls, bp+32, ts+27365, 0)
+			rtreeCheckAppendMsg(tls, bp+32, ts+27412, 0)
 		} else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).FbInt = libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)
 		}
@@ -124436,8 +124494,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			rtreeCheckNode(tls, bp+32, 0, uintptr(0), int64(1))
 		}
-		rtreeCheckCount(tls, bp+32, ts+27396, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
-		rtreeCheckCount(tls, bp+32, ts+27403, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27443, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27450, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
 	}
 
 	Xsqlite3_finalize(tls, (*RtreeCheck)(unsafe.Pointer(bp+32)).FpGetNode)
@@ -124445,7 +124503,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 + 40 + 1*8)))
 
 	if bEnd != 0 {
-		var rc int32 = Xsqlite3_exec(tls, db, ts+27411, uintptr(0), uintptr(0), uintptr(0))
+		var rc int32 = Xsqlite3_exec(tls, db, ts+27458, uintptr(0), uintptr(0), uintptr(0))
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).Frc = rc
 		}
@@ -124460,7 +124518,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 
 	if nArg != 1 && nArg != 2 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+27415, -1)
+			ts+27462, -1)
 	} else {
 		var rc int32
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
@@ -124478,7 +124536,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 				if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
 					return *(*uintptr)(unsafe.Pointer(bp))
 				}
-				return ts + 18012
+				return ts + 18059
 			}(), -1, libc.UintptrFromInt32(-1))
 		} else {
 			Xsqlite3_result_error_code(tls, ctx, rc)
@@ -124849,11 +124907,11 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var db uintptr = Xsqlite3_context_db_handle(tls, context)
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
-		Xsqlite3_str_append(tls, x, ts+27466, 1)
+		Xsqlite3_str_append(tls, x, ts+27513, 1)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27468, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27515, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27479, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27526, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -124873,19 +124931,19 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
 		var cSep uint8 = uint8('\'')
-		Xsqlite3_str_appendf(tls, x, ts+27490, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27537, 0)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27508, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27555, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 			cSep = uint8(' ')
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27516, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27563, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		for i = 1; i < argc; i++ {
 			var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 			if z != 0 && *(*uint8)(unsafe.Pointer(z)) != 0 {
-				Xsqlite3_str_appendf(tls, x, ts+27524, libc.VaList(bp+40, z))
+				Xsqlite3_str_appendf(tls, x, ts+27571, libc.VaList(bp+40, z))
 			}
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27528, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27575, 0)
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -125805,7 +125863,7 @@ __1:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+27541, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+27588, 0)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1)
 	ii = 3
@@ -125814,7 +125872,7 @@ __2:
 		goto __4
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+27563, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
+	Xsqlite3_str_appendf(tls, pSql, ts+27610, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
 	goto __3
 __3:
 	ii++
@@ -125822,7 +125880,7 @@ __3:
 	goto __4
 __4:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26630, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26677, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __5
@@ -126059,7 +126117,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 	}
 	if iFuncTerm >= 0 {
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum
-		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27567
+		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27614
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).FargvIndex = 1
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).Fomit = uint8(0)
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 300.0
@@ -126067,7 +126125,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 		return SQLITE_OK
 	}
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4
-	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27573
+	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27620
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000)
 	return SQLITE_OK
@@ -126179,7 +126237,7 @@ __1:
 	if !(*(*int32)(unsafe.Pointer(bp + 48)) == SQLITE_ERROR) {
 		goto __4
 	}
-	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27582, 0)
+	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27629, 0)
 __4:
 	;
 	goto geopoly_update_end
@@ -126311,14 +126369,14 @@ geopoly_update_end:
 func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 {
 	_ = pVtab
 	_ = nArg
-	if Xsqlite3_stricmp(tls, zName, ts+27622) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27669) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyOverlapFunc}))
 		*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
 		return SQLITE_INDEX_CONSTRAINT_FUNCTION
 	}
-	if Xsqlite3_stricmp(tls, zName, ts+27638) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27685) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyWithinFunc}))
@@ -126383,7 +126441,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 {
 			uintptr(0), aAgg[i].FxStep, aAgg[i].FxFinal)
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27653, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27700, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
 	}
 	return rc
 }
@@ -126395,25 +126453,25 @@ var aFunc = [12]struct {
 	F__ccgo_pad1 [6]byte
 	FzName       uintptr
 }{
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27661},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27674},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27687},
-	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27700},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27638},
-	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27712},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27622},
-	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27735},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27749},
-	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27762},
-	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27776},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27792},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27708},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27721},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27734},
+	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27747},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27685},
+	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27759},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27669},
+	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27782},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27796},
+	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27809},
+	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27823},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27839},
 }
 var aAgg = [1]struct {
 	FxStep  uintptr
 	FxFinal uintptr
 	FzName  uintptr
 }{
-	{FxStep: 0, FxFinal: 0, FzName: ts + 27804},
+	{FxStep: 0, FxFinal: 0, FzName: ts + 27851},
 }
 
 // Register the r-tree module with database handle db. This creates the
@@ -126423,26 +126481,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 {
 	var utf8 int32 = SQLITE_UTF8
 	var rc int32
 
-	rc = Xsqlite3_create_function(tls, db, ts+27823, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	rc = Xsqlite3_create_function(tls, db, ts+27870, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr)
 	}{rtreenode})), uintptr(0), uintptr(0))
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27833, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27880, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreedepth})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27844, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27891, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreecheck})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_REAL32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27567, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27614, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_INT32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27855, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27902, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		rc = sqlite3_geopoly_init(tls, db)
@@ -126496,7 +126554,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
 			Xsqlite3_result_error_nomem(tls, ctx)
 			rtreeMatchArgFree(tls, pBlob)
 		} else {
-			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25143, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
+			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25190, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
 		}
 	}
 }
@@ -126823,7 +126881,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 
 	nOut = rbuDeltaOutputSize(tls, aDelta, nDelta)
 	if nOut < 0 {
-		Xsqlite3_result_error(tls, context, ts+27865, -1)
+		Xsqlite3_result_error(tls, context, ts+27912, -1)
 		return
 	}
 
@@ -126834,7 +126892,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 		nOut2 = rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut)
 		if nOut2 != nOut {
 			Xsqlite3_free(tls, aOut)
-			Xsqlite3_result_error(tls, context, ts+27865, -1)
+			Xsqlite3_result_error(tls, context, ts+27912, -1)
 		} else {
 			Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		}
@@ -126935,7 +126993,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuObjIterClearStatements(tls, pIter)
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) {
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+27886, uintptr(0), uintptr(0), p+64)
+				ts+27933, uintptr(0), uintptr(0), p+64)
 		}
 
 		if rc == SQLITE_OK {
@@ -126999,7 +127057,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) {
 				Xsqlite3_result_text(tls, pCtx, zIn, -1, uintptr(0))
 			}
 		} else {
-			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25056, zIn, uint64(4)) == 0 {
+			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25103, zIn, uint64(4)) == 0 {
 				var i int32
 				for i = 4; int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) >= '0' && int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) <= '9'; i++ {
 				}
@@ -127020,16 +127078,16 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 
 	rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28057, libc.VaList(bp, func() uintptr {
+			ts+28104, libc.VaList(bp, func() uintptr {
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					return ts + 28207
+					return ts + 28254
 				}
 				return ts + 1554
 			}())))
 
 	if rc == SQLITE_OK {
 		rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64,
-			ts+28248)
+			ts+28295)
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1
@@ -127145,7 +127203,7 @@ func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28373, libc.VaList(bp, zTab)))
+			ts+28420, libc.VaList(bp, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) != SQLITE_ROW) {
 		goto __1
 	}
@@ -127163,7 +127221,7 @@ __2:
 	*(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), 1)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+1*8, p+64,
-		Xsqlite3_mprintf(tls, ts+28492, libc.VaList(bp+8, zTab)))
+		Xsqlite3_mprintf(tls, ts+28539, libc.VaList(bp+8, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) {
 		goto __3
 	}
@@ -127181,7 +127239,7 @@ __4:
 	}
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+2*8, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28513, libc.VaList(bp+16, zIdx)))
+			ts+28560, libc.VaList(bp+16, zIdx)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __7
 	}
@@ -127204,7 +127262,7 @@ __6:
 __5:
 	;
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+3*8, p+64,
-		Xsqlite3_mprintf(tls, ts+28564, libc.VaList(bp+24, zTab)))
+		Xsqlite3_mprintf(tls, ts+28611, libc.VaList(bp+24, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __10
 	}
@@ -127250,7 +127308,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		libc.Xmemcpy(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+16, p+64,
-			Xsqlite3_mprintf(tls, ts+28585, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28632, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0
@@ -127265,7 +127323,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 			libc.Xmemset(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0x01, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		}
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp+8, zIdx)))
+			Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp+8, zIdx)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
 			var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 1)
 			if iCid >= 0 {
@@ -127305,7 +127363,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+56, pIter+108)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19489, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19536, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
 			return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc
@@ -127315,18 +127373,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		}
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+64, p+64,
-			Xsqlite3_mprintf(tls, ts+28642, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
+			Xsqlite3_mprintf(tls, ts+28689, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 			rbuAllocateIterArrays(tls, p, pIter, nCol)
 		}
 		for i = 0; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && i < nCol; i++ {
 			var zName uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), i)
-			if Xsqlite3_strnicmp(tls, ts+28661, zName, 4) != 0 {
+			if Xsqlite3_strnicmp(tls, ts+28708, zName, 4) != 0 {
 				var zCopy uintptr = rbuStrndup(tls, zName, p+56)
 				*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol
 				*(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(libc.PostIncInt32(&(*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol, 1))*8)) = zCopy
-			} else if 0 == Xsqlite3_stricmp(tls, ts+28666, zName) {
+			} else if 0 == Xsqlite3_stricmp(tls, ts+28713, zName) {
 				bRbuRowid = 1
 			}
 		}
@@ -127338,18 +127396,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			bRbuRowid != libc.Bool32((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls,
-				ts+28676, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
+				ts+28723, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 					func() uintptr {
 						if bRbuRowid != 0 {
-							return ts + 28705
+							return ts + 28752
 						}
-						return ts + 28718
+						return ts + 28765
 					}()))
 		}
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-				Xsqlite3_mprintf(tls, ts+28727, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				Xsqlite3_mprintf(tls, ts+28774, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		}
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64))) {
 			var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 1)
@@ -127363,7 +127421,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			}
 			if i == (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28749,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28796,
 					libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName))
 			} else {
 				var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 5)
@@ -127410,7 +127468,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var i int32
 	for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 		var z uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-		zList = rbuMPrintf(tls, p, ts+28776, libc.VaList(bp, zList, zSep, z))
+		zList = rbuMPrintf(tls, p, ts+28823, libc.VaList(bp, zList, zSep, z))
 		zSep = ts + 14614
 	}
 	return zList
@@ -127428,7 +127486,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr,
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if int32(*(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zRet = rbuMPrintf(tls, p, ts+28785, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
+				zRet = rbuMPrintf(tls, p, ts+28832, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
 				zSep = zSeparator
 				break
 			}
@@ -127450,25 +127508,25 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32,
 	if bRowid != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+28798, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				ts+28845, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 			var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-			zRet = rbuMPrintf(tls, p, ts+28830, libc.VaList(bp+16, iMax))
+			zRet = rbuMPrintf(tls, p, ts+28877, libc.VaList(bp+16, iMax))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 	} else {
-		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+28853)
-		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28859, ts+28866, ts+4957)
+		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+28900)
+		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28906, ts+28913, ts+4957)
 		var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+1554)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 				Xsqlite3_mprintf(tls,
-					ts+28874,
+					ts+28921,
 					libc.VaList(bp+24, zSelect, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 				var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-				zRet = rbuMPrintf(tls, p, ts+28916, libc.VaList(bp+56, zList, zVal))
+				zRet = rbuMPrintf(tls, p, ts+28963, libc.VaList(bp+56, zList, zVal))
 			}
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 		}
@@ -127510,7 +127568,7 @@ func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	*(*uintptr)(unsafe.Pointer(bp + 176)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-		Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+		Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 __1:
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176)))) {
 		goto __2
@@ -127545,7 +127603,7 @@ __10:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 	goto __7
 __6:
-	zCol = ts + 28936
+	zCol = ts + 28983
 __7:
 	;
 	goto __5
@@ -127553,11 +127611,11 @@ __4:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 __5:
 	;
-	zLhs = rbuMPrintf(tls, p, ts+28944,
+	zLhs = rbuMPrintf(tls, p, ts+28991,
 		libc.VaList(bp+8, zLhs, zSep, zCol, zCollate))
-	zOrder = rbuMPrintf(tls, p, ts+28965,
+	zOrder = rbuMPrintf(tls, p, ts+29012,
 		libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate))
-	zSelect = rbuMPrintf(tls, p, ts+29001,
+	zSelect = rbuMPrintf(tls, p, ts+29048,
 		libc.VaList(bp+80, zSelect, zSep, iCol, zCol))
 	zSep = ts + 14614
 	iCol++
@@ -127577,7 +127635,7 @@ __11:
 	*(*uintptr)(unsafe.Pointer(bp + 184)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+184, p+64,
-		Xsqlite3_mprintf(tls, ts+29028,
+		Xsqlite3_mprintf(tls, ts+29075,
 			libc.VaList(bp+112, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 184)))) {
 		goto __13
@@ -127604,7 +127662,7 @@ __19:
 	;
 __18:
 	;
-	zVector = rbuMPrintf(tls, p, ts+29076, libc.VaList(bp+136, zVector, zSep, zQuoted))
+	zVector = rbuMPrintf(tls, p, ts+29123, libc.VaList(bp+136, zVector, zSep, zQuoted))
 	zSep = ts + 14614
 	goto __15
 __15:
@@ -127616,7 +127674,7 @@ __16:
 	if !!(bFailed != 0) {
 		goto __20
 	}
-	zRet = rbuMPrintf(tls, p, ts+29083, libc.VaList(bp+160, zLhs, zVector))
+	zRet = rbuMPrintf(tls, p, ts+29130, libc.VaList(bp+160, zLhs, zVector))
 __20:
 	;
 __13:
@@ -127649,7 +127707,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 	if rc == SQLITE_OK {
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200, p+64,
-			Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+			Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 	}
 
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200))) {
@@ -127661,7 +127719,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 		if iCid == -2 {
 			var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 0)
-			zRet = Xsqlite3_mprintf(tls, ts+29095, libc.VaList(bp+8, zRet, zCom,
+			zRet = Xsqlite3_mprintf(tls, ts+29142, libc.VaList(bp+8, zRet, zCom,
 				(*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FnSpan, (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FzSpan, zCollate))
 			zType = ts + 1554
 		} else {
@@ -127673,37 +127731,37 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 					zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 				} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					zCol = ts + 28936
+					zCol = ts + 28983
 				} else {
-					zCol = ts + 28666
+					zCol = ts + 28713
 				}
 				zType = ts + 1119
 			} else {
 				zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 				zType = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8))
 			}
-			zRet = Xsqlite3_mprintf(tls, ts+29117, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
+			zRet = Xsqlite3_mprintf(tls, ts+29164, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 5) != 0 {
 			var zOrder uintptr = func() uintptr {
 				if bDesc != 0 {
-					return ts + 28853
+					return ts + 28900
 				}
 				return ts + 1554
 			}()
-			zImpPK = Xsqlite3_mprintf(tls, ts+29137,
+			zImpPK = Xsqlite3_mprintf(tls, ts+29184,
 				libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder))
 		}
-		zImpCols = Xsqlite3_mprintf(tls, ts+29158,
+		zImpCols = Xsqlite3_mprintf(tls, ts+29205,
 			libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate))
 		zWhere = Xsqlite3_mprintf(tls,
-			ts+29191, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
+			ts+29238, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
 		if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) {
 			rc = SQLITE_NOMEM
 		}
 		zCom = ts + 14614
-		zAnd = ts + 21525
+		zAnd = ts + 21572
 		nBind++
 	}
 
@@ -127742,9 +127800,9 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = Xsqlite3_mprintf(tls, ts+29215, libc.VaList(bp, zList, zS, zObj, zCol))
+				zList = Xsqlite3_mprintf(tls, ts+29262, libc.VaList(bp, zList, zS, zObj, zCol))
 			} else {
-				zList = Xsqlite3_mprintf(tls, ts+29227, libc.VaList(bp+32, zList, zS))
+				zList = Xsqlite3_mprintf(tls, ts+29274, libc.VaList(bp+32, zList, zS))
 			}
 			zS = ts + 14614
 			if zList == uintptr(0) {
@@ -127754,7 +127812,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-			zList = rbuMPrintf(tls, p, ts+29236, libc.VaList(bp+48, zList, zObj))
+			zList = rbuMPrintf(tls, p, ts+29283, libc.VaList(bp+48, zList, zObj))
 		}
 	}
 	return zList
@@ -127766,18 +127824,18 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	var zList uintptr = uintptr(0)
 	if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-		zList = rbuMPrintf(tls, p, ts+29251, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
+		zList = rbuMPrintf(tls, p, ts+29298, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
 	} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
 		var zSep uintptr = ts + 1554
 		var i int32
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
-				zList = rbuMPrintf(tls, p, ts+29265, libc.VaList(bp+8, zList, zSep, i, i+1))
-				zSep = ts + 21525
+				zList = rbuMPrintf(tls, p, ts+29312, libc.VaList(bp+8, zList, zSep, i, i+1))
+				zSep = ts + 21572
 			}
 		}
 		zList = rbuMPrintf(tls, p,
-			ts+29277, libc.VaList(bp+40, zList))
+			ts+29324, libc.VaList(bp+40, zList))
 
 	} else {
 		var zSep uintptr = ts + 1554
@@ -127785,8 +127843,8 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = rbuMPrintf(tls, p, ts+29327, libc.VaList(bp+48, zList, zSep, zCol, i+1))
-				zSep = ts + 21525
+				zList = rbuMPrintf(tls, p, ts+29374, libc.VaList(bp+48, zList, zSep, zCol, i+1))
+				zSep = ts + 21572
 			}
 		}
 	}
@@ -127795,7 +127853,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 func rbuBadControlError(tls *libc.TLS, p uintptr) {
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29340, 0)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29387, 0)
 }
 
 func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr {
@@ -127813,15 +127871,15 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr
 			for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 				var c uint8 = *(*uint8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4)))))
 				if int32(c) == 'x' {
-					zList = rbuMPrintf(tls, p, ts+29327,
+					zList = rbuMPrintf(tls, p, ts+29374,
 						libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14614
 				} else if int32(c) == 'd' {
-					zList = rbuMPrintf(tls, p, ts+29366,
+					zList = rbuMPrintf(tls, p, ts+29413,
 						libc.VaList(bp+32, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14614
 				} else if int32(c) == 'f' {
-					zList = rbuMPrintf(tls, p, ts+29396,
+					zList = rbuMPrintf(tls, p, ts+29443,
 						libc.VaList(bp+72, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14614
 				}
@@ -127858,19 +127916,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var z uintptr = uintptr(0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		var zSep uintptr = ts + 29433
+		var zSep uintptr = ts + 29480
 		*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 		*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56, p+64,
-			Xsqlite3_mprintf(tls, ts+28585, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28632, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) {
 			var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 3)
 			if zOrig != 0 && libc.Xstrcmp(tls, zOrig, ts+16155) == 0 {
 				var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 1)
 				if zIdx != 0 {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-						Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp+8, zIdx)))
+						Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp+8, zIdx)))
 				}
 				break
 			}
@@ -127882,15 +127940,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 				var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 2)
 				var zDesc uintptr
 				if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 3) != 0 {
-					zDesc = ts + 28853
+					zDesc = ts + 28900
 				} else {
 					zDesc = ts + 1554
 				}
-				z = rbuMPrintf(tls, p, ts+29446, libc.VaList(bp+16, z, zSep, zCol, zDesc))
+				z = rbuMPrintf(tls, p, ts+29493, libc.VaList(bp+16, z, zSep, zCol, zDesc))
 				zSep = ts + 14614
 			}
 		}
-		z = rbuMPrintf(tls, p, ts+29457, libc.VaList(bp+48, z))
+		z = rbuMPrintf(tls, p, ts+29504, libc.VaList(bp+48, z))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
 	return z
@@ -127910,7 +127968,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		var zPk uintptr = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168, p+64,
-			ts+29461)
+			ts+29508)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168)), 1, tnum)
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168))) {
@@ -127919,7 +127977,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		}
 		if zIdx != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-				Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp, zIdx)))
+				Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp, zIdx)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168)))
 
@@ -127929,23 +127987,23 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 				var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 1)
 				var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 3)
 				var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 4)
-				zCols = rbuMPrintf(tls, p, ts+29511, libc.VaList(bp+8, zCols, zComma,
+				zCols = rbuMPrintf(tls, p, ts+29558, libc.VaList(bp+8, zCols, zComma,
 					iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate))
-				zPk = rbuMPrintf(tls, p, ts+29533, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
+				zPk = rbuMPrintf(tls, p, ts+29580, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
 					if bDesc != 0 {
-						return ts + 28853
+						return ts + 28900
 					}
 					return ts + 1554
 				}()))
 				zComma = ts + 14614
 			}
 		}
-		zCols = rbuMPrintf(tls, p, ts+29543, libc.VaList(bp+80, zCols))
+		zCols = rbuMPrintf(tls, p, ts+29590, libc.VaList(bp+80, zCols))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176)))
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 1, tnum))
 		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+29558,
+			ts+29605,
 			libc.VaList(bp+120, zCols, zPk))
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 0, 0))
 	}
@@ -127971,13 +128029,13 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192, uintptr(0), uintptr(0), uintptr(0))
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 {
-				zPk = ts + 29620
+				zPk = ts + 29667
 			}
-			zSql = rbuMPrintf(tls, p, ts+29633,
+			zSql = rbuMPrintf(tls, p, ts+29680,
 				libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192)),
 					func() uintptr {
 						if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 {
-							return ts + 29660
+							return ts + 29707
 						}
 						return ts + 1554
 					}()))
@@ -127987,16 +128045,16 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
 			var zPk uintptr = rbuWithoutRowidPK(tls, p, pIter)
 			if zPk != 0 {
-				zSql = rbuMPrintf(tls, p, ts+29670, libc.VaList(bp+88, zSql, zPk))
+				zSql = rbuMPrintf(tls, p, ts+29717, libc.VaList(bp+88, zSql, zPk))
 			}
 		}
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 1, tnum))
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29677,
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29724,
 			libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql,
 				func() uintptr {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
-						return ts + 29709
+						return ts + 29756
 					}
 					return ts + 1554
 				}()))
@@ -128013,7 +128071,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis
 	if zBind != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls,
-				ts+29724,
+				ts+29771,
 				libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind)))
 	}
 }
@@ -128050,7 +128108,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(bp + 8)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64,
-			ts+29781)
+			ts+29828)
 	}
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		var rc2 int32
@@ -128155,7 +128213,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 		var zLimit uintptr = uintptr(0)
 
 		if nOffset != 0 {
-			zLimit = Xsqlite3_mprintf(tls, ts+29847, libc.VaList(bp, nOffset))
+			zLimit = Xsqlite3_mprintf(tls, ts+29894, libc.VaList(bp, nOffset))
 			if !(zLimit != 0) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
 			}
@@ -128178,7 +128236,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 0, 1))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 1, tnum))
 			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+29867,
+				ts+29914,
 				libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600)), *(*uintptr)(unsafe.Pointer(bp + 608))))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 0, 0))
 
@@ -128186,13 +128244,13 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64,
-					Xsqlite3_mprintf(tls, ts+29932, libc.VaList(bp+128, zTbl, zBind)))
+					Xsqlite3_mprintf(tls, ts+29979, libc.VaList(bp+128, zTbl, zBind)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64,
-					Xsqlite3_mprintf(tls, ts+29968, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
+					Xsqlite3_mprintf(tls, ts+30015, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
 			}
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -128208,7 +128266,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					}
 
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30002,
+						ts+30049,
 						libc.VaList(bp+160, zCollist,
 							(*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
@@ -128216,9 +128274,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								if zStart != 0 {
 									return func() uintptr {
 										if zPart != 0 {
-											return ts + 30063
+											return ts + 30110
 										}
-										return ts + 30067
+										return ts + 30114
 									}()
 								}
 								return ts + 1554
@@ -128227,20 +128285,20 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					Xsqlite3_free(tls, zStart)
 				} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30073,
+						ts+30120,
 						libc.VaList(bp+216, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart, zCollist, zLimit))
 				} else {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30134,
+						ts+30181,
 						libc.VaList(bp+264, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart,
 							zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
 							func() uintptr {
 								if zPart != 0 {
-									return ts + 30063
+									return ts + 30110
 								}
-								return ts + 30067
+								return ts + 30114
 							}(),
 							zCollist, zLimit))
 				}
@@ -128277,16 +128335,16 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB {
 					return ts + 1554
 				}
-				return ts + 30293
+				return ts + 30340
 			}()
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30302,
+						ts+30349,
 						libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr {
 							if bRbuRowid != 0 {
-								return ts + 30338
+								return ts + 30385
 							}
 							return ts + 1554
 						}(), zBindings)))
@@ -128295,32 +128353,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30348, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
+						ts+30395, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 				var zRbuRowid uintptr = ts + 1554
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-					zRbuRowid = ts + 30376
+					zRbuRowid = ts + 30423
 				}
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-					ts+30388, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
+					ts+30435, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
 						if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
-							return ts + 30464
+							return ts + 30511
 						}
 						return ts + 1554
 					}(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-					ts+30481,
+					ts+30528,
 					libc.VaList(bp+440, zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zNewlist))
 
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-						ts+30780,
+						ts+30827,
 						libc.VaList(bp+512, zWrite, zTbl, zNewlist))
 				}
 
@@ -128333,9 +128391,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				var zOrder uintptr = uintptr(0)
 				if bRbuRowid != 0 {
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-						zRbuRowid = ts + 30879
+						zRbuRowid = ts + 30926
 					} else {
-						zRbuRowid = ts + 30889
+						zRbuRowid = ts + 30936
 					}
 				}
 
@@ -128348,7 +128406,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 						}
 					}
 					if bRbuRowid != 0 {
-						zOrder = rbuMPrintf(tls, p, ts+28936, 0)
+						zOrder = rbuMPrintf(tls, p, ts+28983, 0)
 					} else {
 						zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+1554)
 					}
@@ -128357,11 +128415,11 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz,
 						Xsqlite3_mprintf(tls,
-							ts+30900,
+							ts+30947,
 							libc.VaList(bp+536, zCollist,
 								func() uintptr {
 									if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-										return ts + 30948
+										return ts + 30995
 									}
 									return ts + 1554
 								}(),
@@ -128374,7 +128432,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								}(),
 								func() uintptr {
 									if zOrder != 0 {
-										return ts + 22859
+										return ts + 22906
 									}
 									return ts + 1554
 								}(), zOrder,
@@ -128442,9 +128500,9 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp
 			var zPrefix uintptr = ts + 1554
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB {
-				zPrefix = ts + 30293
+				zPrefix = ts + 30340
 			}
-			zUpdate = Xsqlite3_mprintf(tls, ts+30954,
+			zUpdate = Xsqlite3_mprintf(tls, ts+31001,
 				libc.VaList(bp, zPrefix, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere))
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate)
@@ -128503,7 +128561,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr {
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 16)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8, p+64,
-		Xsqlite3_mprintf(tls, ts+30984, libc.VaList(bp, p+48)))
+		Xsqlite3_mprintf(tls, ts+31031, libc.VaList(bp, p+48)))
 	for *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 		switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0) {
 		case RBU_STATE_STAGE:
@@ -128576,18 +128634,18 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441, SQLITE_FCNTL_RBUCNT, p)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) {
 			var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441)
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31014, libc.VaList(bp, zFile, zFile))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31061, libc.VaList(bp, zFile, zFile))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 {
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31042, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31089, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
 		libc.Xmemcpy(tls, p+48, ts+3286, uint64(4))
 	} else {
 		libc.Xmemcpy(tls, p+48, ts+6441, uint64(4))
 	}
 
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31060, libc.VaList(bp+24, p+48))
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31107, libc.VaList(bp+24, p+48))
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		var bOpen int32 = 0
@@ -128627,11 +128685,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				return
 			}
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31126, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31173, 0)
 		} else {
 			var zTarget uintptr
 			var zExtra uintptr = uintptr(0)
-			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24206, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
+			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24253, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
 				zExtra = (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5
 				for *(*uint8)(unsafe.Pointer(zExtra)) != 0 {
 					if int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zExtra, 1)))) == '?' {
@@ -128643,13 +128701,13 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				}
 			}
 
-			zTarget = Xsqlite3_mprintf(tls, ts+31158,
+			zTarget = Xsqlite3_mprintf(tls, ts+31205,
 				libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441),
 					func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1554
 						}
-						return ts + 31190
+						return ts + 31237
 					}(), func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1554
@@ -128668,21 +128726,21 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31192, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31239, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTmpInsertFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31207, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31254, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuFossilDeltaFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+31224, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31271, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTargetNameFunc})), uintptr(0), uintptr(0))
 	}
@@ -128690,7 +128748,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, SQLITE_FCNTL_RBU, p)
 	}
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31240, 0)
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31287, 0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, SQLITE_FCNTL_RBU, p)
@@ -128698,7 +128756,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31268, 0)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31315, 0)
 	}
 }
 
@@ -128727,14 +128785,14 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
 	if pState == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = 0
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31240, uintptr(0), uintptr(0), uintptr(0))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31287, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var rc2 int32
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CAPTURE
-		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31286, uintptr(0), uintptr(0), uintptr(0))
+		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31333, uintptr(0), uintptr(0), uintptr(0))
 		if rc2 != SQLITE_NOTICE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 		}
@@ -128860,7 +128918,7 @@ func rbuLockDatabase(tls *libc.TLS, db uintptr) int32 {
 
 func rbuExclusiveCheckpoint(tls *libc.TLS, db uintptr) int32 {
 	var zUri uintptr = Xsqlite3_db_filename(tls, db, uintptr(0))
-	return Xsqlite3_uri_boolean(tls, zUri, ts+31321, 0)
+	return Xsqlite3_uri_boolean(tls, zUri, ts+31368, 0)
 }
 
 func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
@@ -128875,8 +128933,8 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441)
 	}
-	zOal = Xsqlite3_mprintf(tls, ts+31346, libc.VaList(bp, zMove))
-	zWal = Xsqlite3_mprintf(tls, ts+31353, libc.VaList(bp+8, zMove))
+	zOal = Xsqlite3_mprintf(tls, ts+31393, libc.VaList(bp, zMove))
+	zWal = Xsqlite3_mprintf(tls, ts+31400, libc.VaList(bp+8, zMove))
 
 	if zWal == uintptr(0) || zOal == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
@@ -128993,7 +129051,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) {
 			(*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 &&
 			Xsqlite3_column_type(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect, i) == SQLITE_NULL {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_MISMATCH
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23844, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23891, 0)
 			return
 		}
 
@@ -129086,7 +129144,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 		var iCookie int32 = 1000000
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8, p+64,
-			ts+31360)
+			ts+31407)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 				iCookie = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0)
@@ -129094,7 +129152,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8)))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31382, libc.VaList(bp, iCookie+1))
+			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31429, libc.VaList(bp, iCookie+1))
 		}
 	}
 }
@@ -129115,7 +129173,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) {
 
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+31409,
+				ts+31456,
 				libc.VaList(bp, p+48,
 					RBU_STATE_STAGE, eStage,
 					RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl,
@@ -129145,9 +129203,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+31567, libc.VaList(bp, zPragma)))
+			Xsqlite3_mprintf(tls, ts+31614, libc.VaList(bp, zPragma)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31582,
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31629,
 				libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 0)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -129161,10 +129219,10 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 
-	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31602, uintptr(0), uintptr(0), p+64)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31649, uintptr(0), uintptr(0), p+64)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+31627)
+			ts+31674)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -129178,12 +129236,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+31735)
+			ts+31782)
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64,
-			ts+31800)
+			ts+31847)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -129195,7 +129253,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
 	}
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31844, uintptr(0), uintptr(0), p+64)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31891, uintptr(0), uintptr(0), p+64)
 	}
 
 	rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp)))
@@ -129223,7 +129281,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 {
 						if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 							rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-								ts+31869, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
+								ts+31916, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 						}
 					} else {
 						rbuObjIterPrepareAll(tls, p, pIter, 0)
@@ -129345,7 +129403,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) {
 
 		if rc == SQLITE_OK && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) {
 			rc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31897, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31944, 0)
 		}
 
 		if rc == SQLITE_OK {
@@ -129361,7 +129419,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	var zOal uintptr = rbuMPrintf(tls, p, ts+31346, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
+	var zOal uintptr = rbuMPrintf(tls, p, ts+31393, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
 	if zOal != 0 {
 		*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, SQLITE_FCNTL_VFS_POINTER, bp+8)
@@ -129378,7 +129436,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) {
 	defer tls.Free(76)
 
 	Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8)
-	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]uint8{})), bp+12, ts+31922, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
+	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]uint8{})), bp+12, ts+31969, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12, uintptr(0))
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12)
@@ -129412,7 +129470,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) {
 
 	rc = prepareFreeAndCollectError(tls, db, bp+8, bp+16,
 		Xsqlite3_mprintf(tls,
-			ts+31933, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
+			ts+31980, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
 	if rc != SQLITE_OK {
 		Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 16)), -1)
 	} else {
@@ -129442,13 +129500,13 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+32005, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+32052, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuIndexCntFunc})), uintptr(0), uintptr(0))
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32019)
+				ts+32066)
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
@@ -129459,7 +129517,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && bExists != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32076)
+				ts+32123)
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
@@ -129533,7 +129591,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd != 0 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32150, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32197, 0)
 			} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_MOVE {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CKPT
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FnStep = 0
@@ -129551,12 +129609,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 			}()
 			if (*Rbu_file)(unsafe.Pointer(pFd)).FiCookie != (*RbuState)(unsafe.Pointer(pState)).FiCookie {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32182,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32229,
 					libc.VaList(bp+8, func() uintptr {
 						if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-							return ts + 32214
+							return ts + 32261
 						}
-						return ts + 32221
+						return ts + 32268
 					}()))
 			}
 		}
@@ -129580,14 +129638,14 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32228, uintptr(0), uintptr(0), p+64)
+						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32275, uintptr(0), uintptr(0), p+64)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 						var frc int32 = Xsqlite3_file_control(tls, db, ts+6441, SQLITE_FCNTL_ZIPVFS, uintptr(0))
 						if frc == SQLITE_OK {
 							(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls,
-								db, ts+32244, uintptr(0), uintptr(0), p+64)
+								db, ts+32291, uintptr(0), uintptr(0), p+64)
 						}
 					}
 
@@ -129641,7 +129699,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr
 	}
 	if zState != 0 {
 		var n int32 = int32(libc.Xstrlen(tls, zState))
-		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32268, zState+uintptr(n-7), uint64(7)) {
+		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32315, zState+uintptr(n-7), uint64(7)) {
 			return rbuMisuseError(tls)
 		}
 	}
@@ -129668,7 +129726,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) {
 		var i uint32
 		var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg)
 		for i = uint32(0); Size_t(i) < nErrmsg-uint64(8); i++ {
-			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30293, uint64(8)) == 0 {
+			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30340, uint64(8)) == 0 {
 				var nDel int32 = 8
 				for int32(*(*uint8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= '0' && int32(*(*uint8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= '9' {
 					nDel++
@@ -129704,7 +129762,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 {
 		rbuObjIterFinalize(tls, p+80)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 {
-			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32276, uintptr(0), uintptr(0), uintptr(0))
+			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32323, uintptr(0), uintptr(0), uintptr(0))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE && rc2 != SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 			}
@@ -129823,12 +129881,12 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 				zBegin = ts + 14503
 			} else {
-				zBegin = ts + 32228
+				zBegin = ts + 32275
 			}
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32228, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32275, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -130174,7 +130232,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 			})(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16)
 			if rc == SQLITE_OK {
 				rc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32303, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32350, 0)
 			} else if rc == SQLITE_NOTFOUND {
 				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p
 				(*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu
@@ -130199,7 +130257,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 	if rc == SQLITE_OK && op == SQLITE_FCNTL_VFSNAME {
 		var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs
 		var zIn uintptr = *(*uintptr)(unsafe.Pointer(pArg))
-		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32326, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
+		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32373, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
 		*(*uintptr)(unsafe.Pointer(pArg)) = zOut
 		if zOut == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -130359,7 +130417,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags
 	}
 
 	if oflags&SQLITE_OPEN_MAIN_DB != 0 &&
-		Xsqlite3_uri_boolean(tls, zName, ts+32337, 0) != 0 {
+		Xsqlite3_uri_boolean(tls, zName, ts+32384, 0) != 0 {
 		oflags = SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE
 		zOpen = uintptr(0)
 	}
@@ -131188,7 +131246,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 		rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0))
 		if rc == SQLITE_OK {
 			zPragma = Xsqlite3_mprintf(tls,
-				ts+32348, 0)
+				ts+32395, 0)
 		} else if rc == SQLITE_ERROR {
 			zPragma = Xsqlite3_mprintf(tls, ts+1554, 0)
 		} else {
@@ -131201,7 +131259,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 			return rc
 		}
 	} else {
-		zPragma = Xsqlite3_mprintf(tls, ts+32469, libc.VaList(bp, zDb, zThis))
+		zPragma = Xsqlite3_mprintf(tls, ts+32516, libc.VaList(bp, zDb, zThis))
 	}
 	if !(zPragma != 0) {
 		*(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0)
@@ -131881,9 +131939,9 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr,
 
 	for i = 0; i < nCol; i++ {
 		if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
-			zRet = Xsqlite3_mprintf(tls, ts+32498,
+			zRet = Xsqlite3_mprintf(tls, ts+32545,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 21525
+			zSep = ts + 21572
 			if zRet == uintptr(0) {
 				break
 			}
@@ -131906,9 +131964,9 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 		if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 {
 			bHave = 1
 			zRet = Xsqlite3_mprintf(tls,
-				ts+32532,
+				ts+32579,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 32573
+			zSep = ts + 32620
 			if zRet == uintptr(0) {
 				break
 			}
@@ -131916,7 +131974,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 	}
 
 	if bHave == 0 {
-		zRet = Xsqlite3_mprintf(tls, ts+7530, 0)
+		zRet = Xsqlite3_mprintf(tls, ts+7519, 0)
 	}
 
 	return zRet
@@ -131927,7 +131985,7 @@ func sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, zTbl uintpt
 	defer tls.Free(40)
 
 	var zRet uintptr = Xsqlite3_mprintf(tls,
-		ts+32578,
+		ts+32625,
 		libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr))
 	return zRet
 }
@@ -131970,7 +132028,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro
 		rc = SQLITE_NOMEM
 	} else {
 		var zStmt uintptr = Xsqlite3_mprintf(tls,
-			ts+32656,
+			ts+32703,
 			libc.VaList(bp, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2))
 		if zStmt == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -132097,7 +132155,7 @@ __6:
 	if !(pzErrMsg != 0) {
 		goto __16
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32709, 0)
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32756, 0)
 __16:
 	;
 	rc = SQLITE_SCHEMA
@@ -132573,7 +132631,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 
 	if 0 == Xsqlite3_stricmp(tls, ts+11348, zTab) {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+32736, libc.VaList(bp, zDb))
+			ts+32783, libc.VaList(bp, zDb))
 		if zSql == uintptr(0) {
 			*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_NOMEM
 		}
@@ -132582,18 +132640,18 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 		var zSep uintptr = ts + 1554
 		*(*SessionBuffer)(unsafe.Pointer(bp + 8)) = SessionBuffer{}
 
-		sessionAppendStr(tls, bp+8, ts+32846, bp+24)
+		sessionAppendStr(tls, bp+8, ts+32893, bp+24)
 		sessionAppendIdent(tls, bp+8, zDb, bp+24)
 		sessionAppendStr(tls, bp+8, ts+1567, bp+24)
 		sessionAppendIdent(tls, bp+8, zTab, bp+24)
-		sessionAppendStr(tls, bp+8, ts+32861, bp+24)
+		sessionAppendStr(tls, bp+8, ts+32908, bp+24)
 		for i = 0; i < nCol; i++ {
 			if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
 				sessionAppendStr(tls, bp+8, zSep, bp+24)
 				sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+24)
-				sessionAppendStr(tls, bp+8, ts+32869, bp+24)
+				sessionAppendStr(tls, bp+8, ts+32916, bp+24)
 				sessionAppendInteger(tls, bp+8, i+1, bp+24)
-				zSep = ts + 21525
+				zSep = ts + 21572
 			}
 		}
 		zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8)).FaBuf
@@ -132702,7 +132760,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 {
 		return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc
 	}
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32875, uintptr(0), uintptr(0), uintptr(0))
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32922, uintptr(0), uintptr(0), uintptr(0))
 	if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
@@ -132794,7 +132852,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	}
 
 	Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24)).FaBuf)
-	Xsqlite3_exec(tls, db, ts+32895, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+32942, uintptr(0), uintptr(0), uintptr(0))
 	Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db))
 	return *(*int32)(unsafe.Pointer(bp + 40))
 }
@@ -133057,7 +133115,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 		rc = sessionInputBuffer(tls, pIn, 9)
 		if rc == SQLITE_OK {
 			if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData {
-				rc = Xsqlite3CorruptError(tls, 219078)
+				rc = Xsqlite3CorruptError(tls, 219169)
 			} else {
 				eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1)))))
 
@@ -133080,7 +133138,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 				rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
 				if rc == SQLITE_OK {
 					if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext {
-						rc = Xsqlite3CorruptError(tls, 219098)
+						rc = Xsqlite3CorruptError(tls, 219189)
 					} else {
 						var enc U8 = func() uint8 {
 							if eType == SQLITE_TEXT {
@@ -133122,7 +133180,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in
 		nRead = nRead + sessionVarintGet(tls, (*SessionInput)(unsafe.Pointer(pIn)).FaData+uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext+nRead), bp)
 
 		if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > 65536 {
-			rc = Xsqlite3CorruptError(tls, 219152)
+			rc = Xsqlite3CorruptError(tls, 219243)
 		} else {
 			rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100)
 			nRead = nRead + *(*int32)(unsafe.Pointer(bp))
@@ -133183,7 +133241,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 {
 			(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
 			sessionBufferGrow(tls, p+72, int64(nByte), bp+4)
 		} else {
-			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219240)
+			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219331)
 		}
 	}
 
@@ -133257,13 +133315,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 	}
 
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219326))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219417))
 	}
 
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op)
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))))
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219332))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219423))
 	}
 
 	if paRec != 0 {
@@ -133325,7 +133383,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 				if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8))
 					if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) {
-						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219376))
+						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219467))
 					}
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0)
 				}
@@ -133698,7 +133756,7 @@ __27:
 	goto __6
 
 __11:
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219741)
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219832)
 	goto finished_invert
 __6:
 	;
@@ -133877,34 +133935,34 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32,
 				(*SessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24
 				libc.Xmemcpy(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(unsafe.Sizeof(U32(0))))
 
-				sessionAppendStr(tls, bp, ts+32913, bp+16)
+				sessionAppendStr(tls, bp, ts+32960, bp+16)
 				sessionAppendIdent(tls, bp, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+16)
-				sessionAppendStr(tls, bp, ts+32926, bp+16)
+				sessionAppendStr(tls, bp, ts+32973, bp+16)
 
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-						sessionAppendStr(tls, bp, ts+32932, bp+16)
+						sessionAppendStr(tls, bp, ts+32979, bp+16)
 						sessionAppendInteger(tls, bp, ii*2+1, bp+16)
 						zSep = ts + 14614
 					}
 				}
 
 				zSep = ts + 1554
-				sessionAppendStr(tls, bp, ts+32861, bp+16)
+				sessionAppendStr(tls, bp, ts+32908, bp+16)
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						if bStat1 != 0 && ii == 1 {
 							sessionAppendStr(tls, bp,
-								ts+32937, bp+16)
+								ts+32984, bp+16)
 						} else {
 							sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-							sessionAppendStr(tls, bp, ts+32869, bp+16)
+							sessionAppendStr(tls, bp, ts+32916, bp+16)
 							sessionAppendInteger(tls, bp, ii*2+2, bp+16)
 						}
-						zSep = ts + 21525
+						zSep = ts + 21572
 					}
 				}
 
@@ -133956,34 +134014,34 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 	var nPk int32 = 0
 
-	sessionAppendStr(tls, bp, ts+33012, bp+16)
+	sessionAppendStr(tls, bp, ts+33059, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+32861, bp+16)
+	sessionAppendStr(tls, bp, ts+32908, bp+16)
 
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 			nPk++
 			sessionAppendStr(tls, bp, zSep, bp+16)
 			sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-			sessionAppendStr(tls, bp, ts+32932, bp+16)
+			sessionAppendStr(tls, bp, ts+32979, bp+16)
 			sessionAppendInteger(tls, bp, i+1, bp+16)
-			zSep = ts + 21525
+			zSep = ts + 21572
 		}
 	}
 
 	if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol {
-		sessionAppendStr(tls, bp, ts+33030, bp+16)
+		sessionAppendStr(tls, bp, ts+33077, bp+16)
 		sessionAppendInteger(tls, bp, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol+1, bp+16)
-		sessionAppendStr(tls, bp, ts+32573, bp+16)
+		sessionAppendStr(tls, bp, ts+32620, bp+16)
 
 		zSep = ts + 1554
 		for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 			if !(int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i)))) != 0) {
 				sessionAppendStr(tls, bp, zSep, bp+16)
 				sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-				sessionAppendStr(tls, bp, ts+32869, bp+16)
+				sessionAppendStr(tls, bp, ts+32916, bp+16)
 				sessionAppendInteger(tls, bp, i+1, bp+16)
-				zSep = ts + 33038
+				zSep = ts + 33085
 			}
 		}
 		sessionAppendStr(tls, bp, ts+4957, bp+16)
@@ -134010,9 +134068,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	var i int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 
-	sessionAppendStr(tls, bp, ts+33043, bp+16)
+	sessionAppendStr(tls, bp, ts+33090, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+21531, bp+16)
+	sessionAppendStr(tls, bp, ts+21578, bp+16)
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if i != 0 {
 			sessionAppendStr(tls, bp, ts+14614, bp+16)
@@ -134020,9 +134078,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 		sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
 	}
 
-	sessionAppendStr(tls, bp, ts+33061, bp+16)
+	sessionAppendStr(tls, bp, ts+33108, bp+16)
 	for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
-		sessionAppendStr(tls, bp, ts+33072, bp+16)
+		sessionAppendStr(tls, bp, ts+33119, bp+16)
 	}
 	sessionAppendStr(tls, bp, ts+4957, bp+16)
 
@@ -134041,11 +134099,11 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 {
 	var rc int32 = sessionSelectRow(tls, db, ts+11348, p)
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+16,
-			ts+33076)
+			ts+33123)
 	}
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+8,
-			ts+33189)
+			ts+33236)
 	}
 	return rc
 }
@@ -134073,7 +134131,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab
 				f func(*libc.TLS, uintptr, int32, uintptr) int32
 			})(unsafe.Pointer(&struct{ uintptr }{xValue})).f(tls, pIter, i, bp)
 			if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
-				rc = Xsqlite3CorruptError(tls, 220219)
+				rc = Xsqlite3CorruptError(tls, 220310)
 			} else {
 				rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp)))
 			}
@@ -134326,7 +134384,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 		if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
 			rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 		} else if *(*int32)(unsafe.Pointer(bp)) != 0 {
-			rc = Xsqlite3_exec(tls, db, ts+33333, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33380, uintptr(0), uintptr(0), uintptr(0))
 			if rc == SQLITE_OK {
 				rc = sessionBindRow(tls, pIter,
 					*(*uintptr)(unsafe.Pointer(&struct {
@@ -134342,7 +134400,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 				rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 			}
 			if rc == SQLITE_OK {
-				rc = Xsqlite3_exec(tls, db, ts+33354, uintptr(0), uintptr(0), uintptr(0))
+				rc = Xsqlite3_exec(tls, db, ts+33401, uintptr(0), uintptr(0), uintptr(0))
 			}
 		}
 	}
@@ -134415,10 +134473,10 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 	(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FbInvertConstraints = libc.BoolInt32(!!(flags&SQLITE_CHANGESETAPPLY_INVERT != 0))
 	Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db))
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
-		rc = Xsqlite3_exec(tls, db, ts+33373, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33420, uintptr(0), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_exec(tls, db, ts+33399, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33446, uintptr(0), uintptr(0), uintptr(0))
 	}
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3changeset_next(tls, pIter) {
 		Xsqlite3changeset_op(tls, pIter, bp+176, bp+184, bp+188, uintptr(0))
@@ -134477,16 +134535,16 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 				if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol == 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33429, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+33476, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol < *(*int32)(unsafe.Pointer(bp + 184)) {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33473,
+						ts+33520,
 						libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 200)), (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol, *(*int32)(unsafe.Pointer(bp + 184))))
 				} else if *(*int32)(unsafe.Pointer(bp + 184)) < nMinCol || libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 192)), uint64(*(*int32)(unsafe.Pointer(bp + 184)))) != 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33544, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+33591, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else {
 					(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FnCol = *(*int32)(unsafe.Pointer(bp + 184))
 					if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), ts+11348) {
@@ -134540,14 +134598,14 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 			}
 		}
 	}
-	Xsqlite3_exec(tls, db, ts+33604, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+33651, uintptr(0), uintptr(0), uintptr(0))
 
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, db, ts+33634, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33681, uintptr(0), uintptr(0), uintptr(0))
 		} else {
-			Xsqlite3_exec(tls, db, ts+33658, uintptr(0), uintptr(0), uintptr(0))
-			Xsqlite3_exec(tls, db, ts+33634, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33705, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33681, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -135795,7 +135853,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) {
 		fts5yy_pop_parser_stack(tls, fts5yypParser)
 	}
 
-	sqlite3Fts5ParseError(tls, pParse, ts+33686, 0)
+	sqlite3Fts5ParseError(tls, pParse, ts+33733, 0)
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -136083,7 +136141,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32
 
 	_ = fts5yymajor
 	sqlite3Fts5ParseError(tls,
-		pParse, ts+33714, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
+		pParse, ts+33761, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -136270,7 +136328,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int
 		if n < 0 {
 			n = int32(libc.Xstrlen(tls, z))
 		}
-		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33745, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
+		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33792, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
 		if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) {
 			*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 		}
@@ -136338,7 +136396,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp
 	var iCol int32
 
 	if nVal != 3 {
-		var zErr uintptr = ts + 33752
+		var zErr uintptr = ts + 33799
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -136520,7 +136578,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
 	var nCol int32
 
 	if nVal != 5 {
-		var zErr uintptr = ts + 33802
+		var zErr uintptr = ts + 33849
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -136844,13 +136902,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(96)
 
 	*(*[3]Builtin)(unsafe.Pointer(bp)) = [3]Builtin{
-		{FzFunc: ts + 33850, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33897, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5SnippetFunction}))},
-		{FzFunc: ts + 33858, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33905, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5HighlightFunction}))},
-		{FzFunc: ts + 33868, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33915, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5Bm25Function}))},
 	}
@@ -137401,7 +137459,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 	var nCmd int32 = int32(libc.Xstrlen(tls, zCmd))
-	if Xsqlite3_strnicmp(tls, ts+33873, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+33920, zCmd, nCmd) == 0 {
 		var nByte int32 = int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))
 		var p uintptr
 		var bFirst int32 = 1
@@ -137428,14 +137486,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 				break
 			}
 			if int32(*(*uint8)(unsafe.Pointer(p))) < '0' || int32(*(*uint8)(unsafe.Pointer(p))) > '9' {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33880, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33927, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
 
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES {
 				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-					ts+33911, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
+					ts+33958, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -137446,7 +137504,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 			}
 
 			if nPre <= 0 || nPre >= 1000 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33944, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33991, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -137459,7 +137517,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+33981, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34028, zCmd, nCmd) == 0 {
 		var p uintptr = zArg
 		var nArg Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zArg) + uint64(1))
 		var azArg uintptr = sqlite3Fts5MallocZero(tls, bp+40, int64(uint64(unsafe.Sizeof(uintptr(0)))*uint64(nArg)))
@@ -137468,7 +137526,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 		if azArg != 0 && pSpace != 0 {
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33990, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34037, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				for nArg = int64(0); p != 0 && *(*uint8)(unsafe.Pointer(p)) != 0; nArg++ {
@@ -137487,7 +137545,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 					}
 				}
 				if p == uintptr(0) {
-					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34023, 0)
+					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34070, 0)
 					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				} else {
 					*(*int32)(unsafe.Pointer(bp + 40)) = sqlite3Fts5GetTokenizer(tls, pGlobal,
@@ -137502,14 +137560,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34057, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34104, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34065, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34112, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			if *(*uint8)(unsafe.Pointer(zArg)) != 0 {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_EXTERNAL
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34097, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34144, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
 			} else {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE
 			}
@@ -137517,9 +137575,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34103, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34150, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34117, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34164, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40, zArg, -1)
@@ -137527,9 +137585,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34155, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34202, zCmd, nCmd) == 0 {
 		if int32(*(*uint8)(unsafe.Pointer(zArg))) != '0' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '1' || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34166, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34213, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zArg))) == '1')
@@ -137541,17 +137599,17 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		*(*[4]Fts5Enum)(unsafe.Pointer(bp + 48)) = [4]Fts5Enum{
 			{FzName: ts + 8026, FeVal: FTS5_DETAIL_NONE},
 			{FzName: ts + 17345},
-			{FzName: ts + 34201, FeVal: FTS5_DETAIL_COLUMNS},
+			{FzName: ts + 34248, FeVal: FTS5_DETAIL_COLUMNS},
 			{},
 		}
 
 		if libc.AssignPtrInt32(bp+40, fts5ConfigSetEnum(tls, bp+48, zArg, pConfig+92)) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34209, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34256, 0)
 		}
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34240, libc.VaList(bp+24, nCmd, zCmd))
+	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34287, libc.VaList(bp+24, nCmd, zCmd))
 	return SQLITE_ERROR
 }
 
@@ -137598,15 +137656,15 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr,
 	defer tls.Free(16)
 
 	var rc int32 = SQLITE_OK
-	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22191) ||
+	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22238) ||
 		0 == Xsqlite3_stricmp(tls, zCol, ts+16267) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34268, libc.VaList(bp, zCol))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34315, libc.VaList(bp, zCol))
 		rc = SQLITE_ERROR
 	} else if zArg != 0 {
-		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34298) {
+		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34345) {
 			*(*U8)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*Fts5Config)(unsafe.Pointer(p)).FnCol))) = U8(1)
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34308, libc.VaList(bp+8, zArg))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34355, libc.VaList(bp+8, zArg))
 			rc = SQLITE_ERROR
 		}
 	}
@@ -137623,13 +137681,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_OK
 	*(*Fts5Buffer)(unsafe.Pointer(bp + 32)) = Fts5Buffer{}
 
-	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34339, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
+	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34386, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
 	if (*Fts5Config)(unsafe.Pointer(p)).FeContent != FTS5_CONTENT_NONE {
 		for i = 0; i < (*Fts5Config)(unsafe.Pointer(p)).FnCol; i++ {
 			if (*Fts5Config)(unsafe.Pointer(p)).FeContent == FTS5_CONTENT_EXTERNAL {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34344, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34391, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
 			} else {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34351, libc.VaList(bp+16, i))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34398, libc.VaList(bp+16, i))
 			}
 		}
 	}
@@ -137667,8 +137725,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 	(*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -1)
 	(*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize = 1
 	(*Fts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL
-	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22191) == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34359, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
+	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22238) == 0 {
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34406, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
 		*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 	}
 
@@ -137700,7 +137758,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 
 		if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK {
 			if z == uintptr(0) {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34388, libc.VaList(bp+8, zOrig))
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34435, libc.VaList(bp+8, zOrig))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				if bOption != 0 {
@@ -137737,14 +137795,14 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 		var zTail uintptr = uintptr(0)
 
 		if (*Fts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL {
-			zTail = ts + 34057
+			zTail = ts + 34104
 		} else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 {
-			zTail = ts + 34408
+			zTail = ts + 34455
 		}
 
 		if zTail != 0 {
 			(*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls,
-				bp+40, ts+34416, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
+				bp+40, ts+34463, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
 		}
 	}
 
@@ -137793,7 +137851,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_OK
 	var zSql uintptr
 
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34427, 0)
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34474, 0)
 	for i = 0; zSql != 0 && i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
 		var zSep uintptr = func() uintptr {
 			if i == 0 {
@@ -137801,10 +137859,10 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 			}
 			return ts + 14614
 		}()
-		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34443, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
+		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34490, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
 	}
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34450,
-		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22191))
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34497,
+		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22238))
 
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql)
@@ -137914,7 +137972,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 
 	var rc int32 = SQLITE_OK
 
-	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34476) {
+	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34523) {
 		var pgsz int32 = 0
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			pgsz = Xsqlite3_value_int(tls, pVal)
@@ -137924,7 +137982,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34481) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34528) {
 		var nHashSize int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nHashSize = Xsqlite3_value_int(tls, pVal)
@@ -137934,7 +137992,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34490) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34537) {
 		var nAutomerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nAutomerge = Xsqlite3_value_int(tls, pVal)
@@ -137947,7 +138005,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34500) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34547) {
 		var nUsermerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nUsermerge = Xsqlite3_value_int(tls, pVal)
@@ -137957,7 +138015,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34510) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34557) {
 		var nCrisisMerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nCrisisMerge = Xsqlite3_value_int(tls, pVal)
@@ -137973,7 +138031,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22191) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22238) {
 		var zIn uintptr = Xsqlite3_value_text(tls, pVal)
 
 		rc = sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8)
@@ -137996,7 +138054,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 	bp := tls.Alloc(52)
 	defer tls.Free(52)
 
-	var zSelect uintptr = ts + 34522
+	var zSelect uintptr = ts + 34569
 	var zSql uintptr
 	*(*uintptr)(unsafe.Pointer(bp + 40)) = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
@@ -138018,7 +138076,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) {
 			var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 0)
 			var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 1)
-			if 0 == Xsqlite3_stricmp(tls, zK, ts+34554) {
+			if 0 == Xsqlite3_stricmp(tls, zK, ts+34601) {
 				iVersion = Xsqlite3_value_int(tls, pVal)
 			} else {
 				*(*int32)(unsafe.Pointer(bp + 48)) = 0
@@ -138032,7 +138090,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 {
 			*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-				ts+34562,
+				ts+34609,
 				libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION))
 		}
 	}
@@ -138130,7 +138188,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 					}
 				}
 				if int32(*(*uint8)(unsafe.Pointer(z2))) == 0 {
-					sqlite3Fts5ParseError(tls, pParse, ts+34627, 0)
+					sqlite3Fts5ParseError(tls, pParse, ts+34674, 0)
 					return FTS5_EOF
 				}
 			}
@@ -138143,20 +138201,20 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 		{
 			var z2 uintptr
 			if sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(z))) == 0 {
-				sqlite3Fts5ParseError(tls, pParse, ts+34647, libc.VaList(bp, z))
+				sqlite3Fts5ParseError(tls, pParse, ts+34694, libc.VaList(bp, z))
 				return FTS5_EOF
 			}
 			tok = FTS5_STRING
 			for z2 = z + 1; sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(z2))) != 0; z2++ {
 			}
 			(*Fts5Token)(unsafe.Pointer(pToken)).Fn = int32((int64(z2) - int64(z)) / 1)
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34678, uint64(2)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34725, uint64(2)) == 0 {
 				tok = FTS5_OR
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34681, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34728, uint64(3)) == 0 {
 				tok = FTS5_NOT
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30063, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30110, uint64(3)) == 0 {
 				tok = FTS5_AND
 			}
 			break
@@ -139934,9 +139992,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34685, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
+	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34732, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
 		sqlite3Fts5ParseError(tls,
-			pParse, ts+33714, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
+			pParse, ts+33761, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
 	}
 }
 
@@ -139952,7 +140010,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p
 				var c uint8 = *(*uint8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))
 				if int32(c) < '0' || int32(c) > '9' {
 					sqlite3Fts5ParseError(tls,
-						pParse, ts+34690, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
+						pParse, ts+34737, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
 					return
 				}
 				nNear = nNear*10 + (int32(*(*uint8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - '0')
@@ -140039,7 +140097,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui
 			}
 		}
 		if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol {
-			sqlite3Fts5ParseError(tls, pParse, ts+20528, libc.VaList(bp, z))
+			sqlite3Fts5ParseError(tls, pParse, ts+20575, libc.VaList(bp, z))
 		} else {
 			pRet = fts5ParseColset(tls, pParse, pColset, iCol)
 		}
@@ -140120,7 +140178,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo
 	*(*uintptr)(unsafe.Pointer(bp)) = pColset
 	if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE {
 		sqlite3Fts5ParseError(tls, pParse,
-			ts+34719, 0)
+			ts+34766, 0)
 	} else {
 		fts5ParseSetColset(tls, pParse, pExpr, pColset, bp)
 	}
@@ -140290,12 +140348,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 1 ||
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*Fts5ExprTerm)(unsafe.Pointer(pPhrase+32)).FbFirst != 0 {
 							sqlite3Fts5ParseError(tls, pParse,
-								ts+34772,
+								ts+34819,
 								libc.VaList(bp, func() uintptr {
 									if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 {
-										return ts + 34822
+										return ts + 34869
 									}
-									return ts + 34685
+									return ts + 34732
 								}()))
 							Xsqlite3_free(tls, pRet)
 							pRet = uintptr(0)
@@ -141238,7 +141296,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK {
 			var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 			rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb,
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34829, iRowid, 0, p+56)
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34876, iRowid, 0, p+56)
 		}
 
 		if rc == SQLITE_ERROR {
@@ -141317,7 +141375,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in
 	if (*Fts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+64, Xsqlite3_mprintf(tls,
-			ts+34835,
+			ts+34882,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 		if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 			return
@@ -141342,7 +141400,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = Xsqlite3_mprintf(tls,
-			ts+34886,
+			ts+34933,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if fts5IndexPrepareStmt(tls, p, p+72, zSql) != 0 {
 			return
@@ -141365,7 +141423,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+88, Xsqlite3_mprintf(tls,
-			ts+34935,
+			ts+34982,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -141604,7 +141662,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 {
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) {
 			(*Fts5Index)(unsafe.Pointer(p)).Frc = fts5IndexPrepareStmt(tls, p, p+112,
-				Xsqlite3_mprintf(tls, ts+34975, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
+				Xsqlite3_mprintf(tls, ts+35022, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
 			if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 				return int64(0)
 			}
@@ -142803,7 +142861,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls,
-			ts+34998,
+			ts+35045,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect
@@ -144269,7 +144327,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls,
-			ts+35082,
+			ts+35129,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 
@@ -145351,13 +145409,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		(*Fts5Index)(unsafe.Pointer(p)).FpConfig = pConfig
 		(*Fts5Index)(unsafe.Pointer(p)).FnWorkUnit = FTS5_WORK_UNIT
-		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35139, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35186, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 {
 			*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+25056, ts+35147, 0, pzErr)
+				pConfig, ts+25103, ts+35194, 0, pzErr)
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 				*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls, pConfig, ts+11488,
-					ts+35182,
+					ts+35229,
 					1, pzErr)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
@@ -145610,7 +145668,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 {
 	sqlite3Fts5Put32(tls, bp, iNew)
 
 	rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl,
-		ts+34829, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
+		ts+34876, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
 	if rc == SQLITE_OK {
 		Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, 4, 0)
 		rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
@@ -145724,7 +145782,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) {
 	}
 
 	fts5IndexPrepareStmt(tls, p, bp+24, Xsqlite3_mprintf(tls,
-		ts+35226,
+		ts+35273,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid)))
 
 	for (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
@@ -145894,7 +145952,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks
 		} else {
 			(*Fts5Buffer)(unsafe.Pointer(bp + 16)).Fn = 0
 			fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp))+96+uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaFirst+1*4)).FiFirst)*120, uintptr(0), bp+16)
-			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35312)
+			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35359)
 			for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fn, bp+32, bp+40) {
 				var iCol int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) >> 32)
 				var iTokOff int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) & int64(0x7FFFFFFF))
@@ -146165,7 +146223,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 {
 
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 {
 		(*Fts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+35317, 0)
+			ts+35364, 0)
 		return SQLITE_ERROR
 	}
 
@@ -146589,7 +146647,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 	(*Fts5Sorter)(unsafe.Pointer(pSorter)).FnIdx = nPhrase
 
 	rc = fts5PrepareStatement(tls, pSorter, pConfig,
-		ts+35356,
+		ts+35403,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			func() uintptr {
 				if zRankArgs != 0 {
@@ -146605,9 +146663,9 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 			}(),
 			func() uintptr {
 				if bDesc != 0 {
-					return ts + 35411
+					return ts + 35458
 				}
-				return ts + 35416
+				return ts + 35463
 			}()))
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter
@@ -146653,12 +146711,12 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr)
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan = FTS5_PLAN_SPECIAL
 
-	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35420, z, n) {
+	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35467, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = I64(sqlite3Fts5IndexReads(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex))
 	} else if n == 2 && 0 == Xsqlite3_strnicmp(tls, ts+5057, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId
 	} else {
-		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35426, libc.VaList(bp, n, z))
+		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35473, libc.VaList(bp, n, z))
 		rc = SQLITE_ERROR
 	}
 
@@ -146689,7 +146747,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs
 
 	if zRankArgs != 0 {
-		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35454, libc.VaList(bp, zRankArgs))
+		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35501, libc.VaList(bp, zRankArgs))
 		if zSql != 0 {
 			*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 			*(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1,
@@ -146720,7 +146778,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 		pAux = fts5FindAuxiliary(tls, pTab, zRank)
 		if pAux == uintptr(0) {
-			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35464, libc.VaList(bp+8, zRank))
+			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35511, libc.VaList(bp+8, zRank))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		}
 	}
@@ -146752,14 +146810,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin
 			*(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_FREE_ZRANK
 		} else if rc == SQLITE_ERROR {
 			(*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35485, libc.VaList(bp, z))
+				ts+35532, libc.VaList(bp, z))
 		}
 	} else {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank != 0 {
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRankArgs
 		} else {
-			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33868
+			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33915
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0)
 		}
 	}
@@ -146815,7 +146873,7 @@ func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintp
 		goto __1
 	}
 	(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+35317, 0)
+		ts+35364, 0)
 	return SQLITE_ERROR
 __1:
 	;
@@ -147032,7 +147090,7 @@ __35:
 		goto __40
 	}
 	*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-		ts+35518, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		ts+35565, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	rc = SQLITE_ERROR
 	goto __41
 __40:
@@ -147177,28 +147235,28 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr)
 	var rc int32 = SQLITE_OK
 	*(*int32)(unsafe.Pointer(bp)) = 0
 
-	if 0 == Xsqlite3_stricmp(tls, ts+35554, zCmd) {
+	if 0 == Xsqlite3_stricmp(tls, ts+35601, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			fts5SetVtabError(tls, pTab,
-				ts+35565, 0)
+				ts+35612, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35645, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35692, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE {
 			fts5SetVtabError(tls, pTab,
-				ts+35653, 0)
+				ts+35700, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
 	} else if 0 == Xsqlite3_stricmp(tls, ts+16934, zCmd) {
 		rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35709, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35756, zCmd) {
 		var nMerge int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageMerge(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, nMerge)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35715, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35762, zCmd) {
 		var iArg int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg)
 	} else {
@@ -147269,12 +147327,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p
 
 		if eType0 == SQLITE_INTEGER && fts5IsContentless(tls, pTab) != 0 {
 			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35731,
+				ts+35778,
 				libc.VaList(bp, func() uintptr {
 					if nArg > 1 {
-						return ts + 20429
+						return ts + 20476
 					}
-					return ts + 35768
+					return ts + 35815
 				}(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		} else if nArg == 1 {
@@ -147904,7 +147962,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 
 	pCsr = fts5CursorFromCsrid(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId)
 	if pCsr == uintptr(0) || (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 {
-		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35780, libc.VaList(bp, iCsrId))
+		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35827, libc.VaList(bp, iCsrId))
 		Xsqlite3_result_error(tls, context, zErr, -1)
 		Xsqlite3_free(tls, zErr)
 	} else {
@@ -148148,7 +148206,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 	}())
 	if pMod == uintptr(0) {
 		rc = SQLITE_ERROR
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35801, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35848, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
 	} else {
 		rc = (*struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
@@ -148167,7 +148225,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 		(*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16
 		if rc != SQLITE_OK {
 			if pzErr != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35823, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35870, 0)
 			}
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls,
@@ -148214,7 +148272,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 	var ppApi uintptr
 	_ = nArg
 
-	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35854)
+	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35901)
 	if ppApi != 0 {
 		*(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal
 	}
@@ -148223,7 +148281,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) {
 	_ = nArg
 	_ = apUnused
-	Xsqlite3_result_text(tls, pCtx, ts+35867, -1, libc.UintptrFromInt32(-1))
+	Xsqlite3_result_text(tls, pCtx, ts+35914, -1, libc.UintptrFromInt32(-1))
 }
 
 func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
@@ -148237,7 +148295,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName2 = [5]uintptr{
-	ts + 35958, ts + 34057, ts + 25056, ts + 34408, ts + 11488,
+	ts + 36005, ts + 34104, ts + 25103, ts + 34455, ts + 11488,
 }
 
 func fts5Init(tls *libc.TLS, db uintptr) int32 {
@@ -148261,7 +148319,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		(*Fts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32
 		}{fts5FindTokenizer}))
-		rc = Xsqlite3_create_module_v2(tls, db, ts+35965, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+36012, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5IndexInit(tls, db)
 		}
@@ -148279,13 +148337,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35965, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+				db, ts+36012, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
 				}{fts5Fts5Func})), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35970, 0,
+				db, ts+36017, 0,
 				SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
 				p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
@@ -148342,17 +148400,17 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p
 
 	if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) {
 		*(*[11]uintptr)(unsafe.Pointer(bp + 128)) = [11]uintptr{
-			ts + 35985,
-			ts + 36053,
-			ts + 36122,
-			ts + 36155,
-			ts + 36194,
-			ts + 36234,
-			ts + 36273,
-			ts + 36314,
-			ts + 36353,
-			ts + 36395,
-			ts + 36435,
+			ts + 36032,
+			ts + 36100,
+			ts + 36169,
+			ts + 36202,
+			ts + 36241,
+			ts + 36281,
+			ts + 36320,
+			ts + 36361,
+			ts + 36400,
+			ts + 36442,
+			ts + 36482,
 		}
 		var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = uintptr(0)
@@ -148454,18 +148512,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 {
 	defer tls.Free(80)
 
 	var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36458,
+		ts+36505,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36562,
+			ts+36609,
 			libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36600,
+			ts+36647,
 			libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	return rc
@@ -148477,7 +148535,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin
 
 	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(pRc)) = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36638,
+			ts+36685,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail))
 	}
 }
@@ -148489,14 +148547,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in
 	var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig
 	*(*int32)(unsafe.Pointer(bp)) = sqlite3Fts5StorageSync(tls, pStorage)
 
-	fts5StorageRenameOne(tls, pConfig, bp, ts+25056, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+25103, zName)
 	fts5StorageRenameOne(tls, pConfig, bp, ts+11488, zName)
-	fts5StorageRenameOne(tls, pConfig, bp, ts+35958, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+36005, zName)
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34408, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34455, zName)
 	}
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34057, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34104, zName)
 	}
 	return *(*int32)(unsafe.Pointer(bp))
 }
@@ -148508,17 +148566,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn
 	var rc int32
 	*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
-	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36680,
+	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36727,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn,
 			func() uintptr {
 				if bWithout != 0 {
-					return ts + 29709
+					return ts + 29756
 				}
 				return ts + 1554
 			}()))
 	if *(*uintptr)(unsafe.Pointer(bp + 64)) != 0 {
 		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-			ts+36710,
+			ts+36757,
 			libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64))))
 		Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
@@ -148555,27 +148613,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre
 			} else {
 				var i int32
 				var iOff int32
-				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36754, 0)
+				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36801, 0)
 				iOff = int32(libc.Xstrlen(tls, zDefn))
 				for i = 0; i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
-					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36777, libc.VaList(bp, i))
+					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36824, libc.VaList(bp, i))
 					iOff = iOff + int32(libc.Xstrlen(tls, zDefn+uintptr(iOff)))
 				}
-				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34057, zDefn, 0, pzErr)
+				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34104, zDefn, 0, pzErr)
 			}
 			Xsqlite3_free(tls, zDefn)
 		}
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+34408, ts+36783, 0, pzErr)
+				pConfig, ts+34455, ts+36830, 0, pzErr)
 		}
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+35958, ts+36815, 1, pzErr)
+				pConfig, ts+36005, ts+36862, 1, pzErr)
 		}
 		if rc == SQLITE_OK {
-			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34554, uintptr(0), FTS5_CURRENT_VERSION)
+			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34601, uintptr(0), FTS5_CURRENT_VERSION)
 		}
 	}
 
@@ -148781,12 +148839,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 	(*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0
 
 	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36832,
+		ts+36879,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36882,
+			ts+36929,
 			libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 
@@ -148794,7 +148852,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 		rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex)
 	}
 	if rc == SQLITE_OK {
-		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34554, uintptr(0), FTS5_CURRENT_VERSION)
+		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34601, uintptr(0), FTS5_CURRENT_VERSION)
 	}
 	return rc
 }
@@ -148970,7 +149028,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr)
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+36911,
+	zSql = Xsqlite3_mprintf(tls, ts+36958,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix))
 	if zSql == uintptr(0) {
 		rc = SQLITE_NOMEM
@@ -149152,14 +149210,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 {
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			*(*I64)(unsafe.Pointer(bp + 48)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34057, bp+48)
+			rc = fts5StorageCount(tls, p, ts+34104, bp+48)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 48)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
 		}
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			*(*I64)(unsafe.Pointer(bp + 56)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34408, bp+56)
+			rc = fts5StorageCount(tls, p, ts+34455, bp+56)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 56)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
@@ -149354,9 +149412,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32,
 			libc.Xmemcpy(tls, p, uintptr(unsafe.Pointer(&aAsciiTokenChar)), uint64(unsafe.Sizeof(aAsciiTokenChar)))
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36943) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36990) {
 					fts5AsciiAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36954) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37001) {
 					fts5AsciiAddExceptions(tls, p, zArg, 0)
 				} else {
 					rc = SQLITE_ERROR
@@ -149571,7 +149629,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 	} else {
 		p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Unicode61Tokenizer{})))
 		if p != 0 {
-			var zCat uintptr = ts + 36965
+			var zCat uintptr = ts + 37012
 			var i int32
 			libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{})))
 
@@ -149583,7 +149641,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 			}
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36974) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37021) {
 					zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
 				}
 			}
@@ -149594,18 +149652,18 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36985) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37032) {
 					if int32(*(*uint8)(unsafe.Pointer(zArg))) != '0' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '1' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '2' || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 {
 						rc = SQLITE_ERROR
 					} else {
 						(*Unicode61Tokenizer)(unsafe.Pointer(p)).FeRemoveDiacritic = int32(*(*uint8)(unsafe.Pointer(zArg))) - '0'
 
 					}
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36943) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36990) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36954) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37001) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 0)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36974) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37021) {
 				} else {
 					rc = SQLITE_ERROR
 				}
@@ -149881,7 +149939,7 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp
 	var rc int32 = SQLITE_OK
 	var pRet uintptr
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
-	var zBase uintptr = ts + 37003
+	var zBase uintptr = ts + 37050
 
 	if nArg > 0 {
 		zBase = *(*uintptr)(unsafe.Pointer(azArg))
@@ -150023,7 +150081,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37013, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37060, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -150031,11 +150089,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37016, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37063, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37021, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37068, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -150043,7 +150101,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'e':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37026, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37073, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -150051,7 +150109,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37029, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37076, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -150059,11 +150117,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37032, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37079, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37037, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37084, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -150071,19 +150129,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37042, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37089, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37046, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37093, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37052, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37099, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37057, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37104, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150091,11 +150149,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'o':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37061, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37108, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37065, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37112, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -150103,7 +150161,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 's':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37068, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37115, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150111,11 +150169,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37072, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37119, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37076, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37123, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150123,7 +150181,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37080, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37127, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150131,7 +150189,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37084, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37131, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150139,7 +150197,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37088, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37135, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150155,24 +150213,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37092, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37072, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37139, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37119, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'b':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37095, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37098, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37142, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37145, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37102, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37088, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37149, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37135, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
@@ -150187,44 +150245,44 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37105, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37152, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37072, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37119, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37113, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37160, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37120, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37167, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 4
 			}
 		}
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37125, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37172, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37021, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37068, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37130, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37177, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37016, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37063, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
 		}
 		break
 
 	case 'e':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37135, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37182, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37088, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37135, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 'g':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37140, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37187, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+15480, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
@@ -150233,91 +150291,91 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37145, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37192, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37098, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37145, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37149, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37196, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37154, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37201, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37057, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37104, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37160, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37207, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37164, uint64(1))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37211, uint64(1))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 1
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37166, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37213, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37080, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37127, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
 		}
 		break
 
 	case 'o':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37172, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37219, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37088, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37135, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37180, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37227, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37072, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37119, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37186, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37233, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37072, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37119, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37191, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37238, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37197, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37244, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37084, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37131, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37205, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37252, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37213, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37260, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37217, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37264, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37080, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37127, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
 		}
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37225, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37272, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37231, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37278, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37084, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37131, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37237, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37284, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37098, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37145, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 3
 			}
 		}
@@ -150332,16 +150390,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37244, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37291, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37029, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37076, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37249, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37296, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -150349,21 +150407,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37254, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37301, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37029, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37076, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37260, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37307, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37029, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37076, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37213, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37260, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150371,7 +150429,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37266, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37313, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
@@ -150379,9 +150437,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37272, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37319, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
@@ -150396,12 +150454,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'e':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37278, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37325, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37282, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37329, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 2
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37285, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37332, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 				ret = 1
@@ -150410,7 +150468,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37288, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37335, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 				ret = 1
@@ -150566,7 +150624,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp
 		(*TrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = 1
 		for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 			var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37292) {
+			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37339) {
 				if int32(*(*uint8)(unsafe.Pointer(zArg))) != '0' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '1' || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 {
 					rc = SQLITE_ERROR
 				} else {
@@ -150746,22 +150804,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(128)
 
 	*(*[4]BuiltinTokenizer)(unsafe.Pointer(bp)) = [4]BuiltinTokenizer{
-		{FzName: ts + 37003, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37050, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5UnicodeCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5UnicodeDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5UnicodeTokenize}))}},
-		{FzName: ts + 37307, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37354, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5AsciiCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5AsciiDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5AsciiTokenize}))}},
-		{FzName: ts + 37313, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37360, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5PorterCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5PorterDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5PorterTokenize}))}},
-		{FzName: ts + 37320, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37367, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5TriCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5TriDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
@@ -151904,14 +151962,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint
 	var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8, zType, -1)
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		sqlite3Fts5Dequote(tls, zCopy)
-		if Xsqlite3_stricmp(tls, zCopy, ts+37328) == 0 {
+		if Xsqlite3_stricmp(tls, zCopy, ts+37375) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37332) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37379) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37336) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37383) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37345, libc.VaList(bp, zCopy))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37392, libc.VaList(bp, zCopy))
 			*(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_ERROR
 		}
 		Xsqlite3_free(tls, zCopy)
@@ -151937,19 +151995,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	defer tls.Free(36)
 
 	*(*[3]uintptr)(unsafe.Pointer(bp + 8)) = [3]uintptr{
-		ts + 37379,
-		ts + 37419,
-		ts + 37454,
+		ts + 37426,
+		ts + 37466,
+		ts + 37501,
 	}
 
 	var pRet uintptr = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
 	var bDb int32
 
-	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23352, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
+	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23399, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
 
 	if argc != 5 && bDb == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37497, 0)
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37544, 0)
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 	} else {
 		var nByte int32
@@ -152082,11 +152140,11 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 
 	if (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 {
 		(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+37530, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+			ts+37577, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 		return SQLITE_ERROR
 	}
 	zSql = sqlite3Fts5Mprintf(tls, bp+64,
-		ts+37561,
+		ts+37608,
 		libc.VaList(bp+16, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 64)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+72, uintptr(0))
@@ -152110,7 +152168,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 			*(*uintptr)(unsafe.Pointer(bp + 72)) = uintptr(0)
 			if *(*int32)(unsafe.Pointer(bp + 64)) == SQLITE_OK {
 				(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-					ts+37612, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+					ts+37659, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 				*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 			}
 		} else {
@@ -152505,7 +152563,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32
 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 {
 	var p uintptr = pGlobal
 
-	return Xsqlite3_create_module_v2(tls, db, ts+37638, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
+	return Xsqlite3_create_module_v2(tls, db, ts+37685, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
 }
 
 var fts5Vocab = Sqlite3_module{
@@ -152527,7 +152585,7 @@ var fts5Vocab = Sqlite3_module{
 // ************* End of stmt.c ***********************************************
 // Return the source-id for this library
 func Xsqlite3_sourceid(tls *libc.TLS) uintptr {
-	return ts + 37648
+	return ts + 37695
 }
 
 func init() {
@@ -153504,5 +153562,5 @@ func init() {
 	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError
 }
 
-var ts1 = "3.41.0\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00"
+var ts1 = "3.41.2\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00"
 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_s390x.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_s390x.go
index 45e6cb62..08e2d1f6 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_linux_s390x.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_s390x.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_s390x.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_linux_s390x.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
@@ -921,11 +921,11 @@ const (
 	NC_OrderAgg                           = 0x8000000
 	NC_PartIdx                            = 0x000002
 	NC_SelfRef                            = 0x00002e
+	NC_Subquery                           = 0x000040
 	NC_UAggInfo                           = 0x000100
 	NC_UBaseReg                           = 0x000400
 	NC_UEList                             = 0x000080
 	NC_UUpsert                            = 0x000200
-	NC_VarSelect                          = 0x000040
 	NDEBUG                                = 1
 	NN                                    = 1
 	NOT_WITHIN                            = 0
@@ -2165,7 +2165,7 @@ const (
 	SQLITE_SHM_UNLOCK                     = 1
 	SQLITE_SORTER_PMASZ                   = 250
 	SQLITE_SOUNDEX                        = 1
-	SQLITE_SOURCE_ID                      = "2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d"
+	SQLITE_SOURCE_ID                      = "2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da"
 	SQLITE_SO_ASC                         = 0
 	SQLITE_SO_DESC                        = 1
 	SQLITE_SO_UNDEFINED                   = -1
@@ -2272,8 +2272,8 @@ const (
 	SQLITE_UTF8                           = 1
 	SQLITE_VDBEINT_H                      = 0
 	SQLITE_VDBE_H                         = 0
-	SQLITE_VERSION                        = "3.41.0"
-	SQLITE_VERSION_NUMBER                 = 3041000
+	SQLITE_VERSION                        = "3.41.2"
+	SQLITE_VERSION_NUMBER                 = 3041002
 	SQLITE_VTABRISK_High                  = 2
 	SQLITE_VTABRISK_Low                   = 0
 	SQLITE_VTABRISK_Normal                = 1
@@ -6117,7 +6117,8 @@ type IndexedExpr1 = struct {
 	FiIdxCur       int32
 	FiIdxCol       int32
 	FbMaybeNullRow U8
-	F__ccgo_pad1   [3]byte
+	Faff           U8
+	F__ccgo_pad1   [2]byte
 	FpIENext       uintptr
 }
 
@@ -6759,17 +6760,18 @@ type Pager = Pager1
 
 // Handle type for pages.
 type PgHdr2 = struct {
-	FpPage      uintptr
-	FpData      uintptr
-	FpExtra     uintptr
-	FpCache     uintptr
-	FpDirty     uintptr
-	FpPager     uintptr
-	Fpgno       Pgno
-	Fflags      U16
-	FnRef       I16
-	FpDirtyNext uintptr
-	FpDirtyPrev uintptr
+	FpPage       uintptr
+	FpData       uintptr
+	FpExtra      uintptr
+	FpCache      uintptr
+	FpDirty      uintptr
+	FpPager      uintptr
+	Fpgno        Pgno
+	Fflags       U16
+	F__ccgo_pad1 [2]byte
+	FnRef        I64
+	FpDirtyNext  uintptr
+	FpDirtyPrev  uintptr
 }
 
 // Handle type for pages.
@@ -6990,14 +6992,14 @@ type PCache2 = struct {
 	FpDirty      uintptr
 	FpDirtyTail  uintptr
 	FpSynced     uintptr
-	FnRefSum     int32
+	FnRefSum     I64
 	FszCache     int32
 	FszSpill     int32
 	FszPage      int32
 	FszExtra     int32
 	FbPurgeable  U8
 	FeCreate     U8
-	F__ccgo_pad1 [2]byte
+	F__ccgo_pad1 [6]byte
 	FxStress     uintptr
 	FpStress     uintptr
 	FpCache      uintptr
@@ -7804,7 +7806,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
 	_ = pMutex
 
 	if op < 0 || op >= int32(uint64(unsafe.Sizeof([10]Sqlite3StatValueType{}))/uint64(unsafe.Sizeof(Sqlite3StatValueType(0)))) {
-		return Xsqlite3MisuseError(tls, 23229)
+		return Xsqlite3MisuseError(tls, 23233)
 	}
 	if statMutex[op] != 0 {
 		pMutex = Xsqlite3Pcache1Mutex(tls)
@@ -15896,7 +15898,7 @@ func closePendingFds(tls *libc.TLS, pFile uintptr) {
 
 	for p = (*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused; p != 0; p = pNext {
 		pNext = (*UnixUnusedFd)(unsafe.Pointer(p)).FpNext
-		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38271)
+		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38275)
 		Xsqlite3_free(tls, p)
 	}
 	(*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused = uintptr(0)
@@ -16373,7 +16375,7 @@ func closeUnixFile(tls *libc.TLS, id uintptr) int32 {
 	var pFile uintptr = id
 	unixUnmapfile(tls, pFile)
 	if (*UnixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
-		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39055)
+		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39059)
 		(*UnixFile)(unsafe.Pointer(pFile)).Fh = -1
 	}
 
@@ -16664,7 +16666,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 {
 	if fd >= 0 {
 		return SQLITE_OK
 	}
-	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40676), ts+3378, bp+8, 40676)
+	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40680), ts+3378, bp+8, 40680)
 }
 
 func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
@@ -16681,14 +16683,14 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
 
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3666, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40717)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3666, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40721)
 	}
 
 	if int32((*UnixFile)(unsafe.Pointer(pFile)).FctrlFlags)&UNIXFILE_DIRSYNC != 0 {
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, bp)
 		if rc == SQLITE_OK {
 			full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0)
-			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40731)
+			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40735)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -16708,7 +16710,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 {
 	rc = robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte)
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40762)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40766)
 	} else {
 		if nByte < (*UnixFile)(unsafe.Pointer(pFile)).FmmapSize {
 			(*UnixFile)(unsafe.Pointer(pFile)).FmmapSize = nByte
@@ -16776,7 +16778,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 {
 		if (*UnixFile)(unsafe.Pointer(pFile)).FszChunk <= 0 {
 			if robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte) != 0 {
 				storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
-				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40883)
+				return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3297, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40887)
 			}
 		}
 
@@ -17003,7 +17005,7 @@ func unixShmPurge(tls *libc.TLS, pFd uintptr) {
 		}
 		Xsqlite3_free(tls, (*UnixShmNode)(unsafe.Pointer(p)).FapRegion)
 		if (*UnixShmNode)(unsafe.Pointer(p)).FhShm >= 0 {
-			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41442)
+			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41446)
 			(*UnixShmNode)(unsafe.Pointer(p)).FhShm = -1
 		}
 		(*UnixInodeInfo)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0)
@@ -17031,7 +17033,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32
 			rc = unixShmSystemLock(tls, pDbFd, F_WRLCK, (22+SQLITE_SHM_NLOCK)*4+SQLITE_SHM_NLOCK, 1)
 
 			if rc == SQLITE_OK && robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3297, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41499)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3297, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41503)
 			}
 		}
 	} else if int32((*flock)(unsafe.Pointer(bp+8)).Fl_type) == F_WRLCK {
@@ -17130,7 +17132,7 @@ __8:
 	if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) {
 		goto __10
 	}
-	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41624), ts+3261, zShm, 41624)
+	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41628), ts+3261, zShm, 41628)
 	goto shm_open_err
 __10:
 	;
@@ -17260,7 +17262,7 @@ __11:
 		goto __14
 	}
 	zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3332, zFile, 41768)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3332, zFile, 41772)
 	goto shmpage_out
 __14:
 	;
@@ -17306,7 +17308,7 @@ __16:
 	if !(pMem == libc.UintptrFromInt32(-1)) {
 		goto __20
 	}
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3419, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41795)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3419, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41799)
 	goto shmpage_out
 __20:
 	;
@@ -17537,7 +17539,7 @@ func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) {
 	if pNew == libc.UintptrFromInt32(-1) {
 		pNew = uintptr(0)
 		nNew = int64(0)
-		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42169)
+		unixLogErrorAtLine(tls, SQLITE_OK, zErr, (*UnixFile)(unsafe.Pointer(pFd)).FzPath, 42173)
 
 		(*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeMax = int64(0)
 	}
@@ -17671,7 +17673,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 		unixEnterMutex(tls)
 		rc = findInodeInfo(tls, pNew, pNew+16)
 		if rc != SQLITE_OK {
-			robust_close(tls, pNew, h, 42672)
+			robust_close(tls, pNew, h, 42676)
 			h = -1
 		}
 		unixLeaveMutex(tls)
@@ -17692,7 +17694,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 	storeLastErrno(tls, pNew, 0)
 	if rc != SQLITE_OK {
 		if h >= 0 {
-			robust_close(tls, pNew, h, 42757)
+			robust_close(tls, pNew, h, 42761)
 		}
 	} else {
 		(*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle
@@ -18008,7 +18010,7 @@ __15:
 	if !(fd < 0) {
 		goto __19
 	}
-	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43198), ts+3261, zName, 43198)
+	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43202), ts+3261, zName, 43202)
 	if !(rc == SQLITE_OK) {
 		goto __20
 	}
@@ -18099,7 +18101,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == ENOENT {
 			rc = SQLITE_IOERR | int32(23)<<8
 		} else {
-			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3371, zPath, 43337)
+			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3371, zPath, 43341)
 		}
 		return rc
 	}
@@ -18107,9 +18109,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, zPath, bp)
 		if rc == SQLITE_OK {
 			if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3788, zPath, 43347)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3788, zPath, 43351)
 			}
-			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43349)
+			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43353)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -18173,18 +18175,18 @@ func appendOnePathElement(tls *libc.TLS, pPath uintptr, zName uintptr, nName int
 		zIn = (*DbPath)(unsafe.Pointer(pPath)).FzOut
 		if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8)))(tls, zIn, bp) != 0 {
 			if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != ENOENT {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43443), ts+3459, zIn, 43443)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43447), ts+3459, zIn, 43447)
 			}
 		} else if (*stat)(unsafe.Pointer(bp)).Fst_mode&X__mode_t(0170000) == X__mode_t(0120000) {
 			var got Ssize_t
 
 			if libc.PostIncInt32(&(*DbPath)(unsafe.Pointer(pPath)).FnSymlink, 1) > SQLITE_MAX_SYMLINK {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43449)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43453)
 				return
 			}
 			got = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls, zIn, bp+144, uint64(unsafe.Sizeof([4098]uint8{}))-uint64(2))
 			if got <= int64(0) || got >= Ssize_t(unsafe.Sizeof([4098]uint8{}))-int64(2) {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43454), ts+3450, zIn, 43454)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43458), ts+3450, zIn, 43458)
 				return
 			}
 			*(*uint8)(unsafe.Pointer(bp + 144 + uintptr(got))) = uint8(0)
@@ -18224,14 +18226,14 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO
 	(*DbPath)(unsafe.Pointer(bp + 4104)).FzOut = zOut
 	if int32(*(*uint8)(unsafe.Pointer(zPath))) != '/' {
 		if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, bp, uint64(unsafe.Sizeof([4098]uint8{}))-uint64(2)) == uintptr(0) {
-			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43512), ts+3279, zPath, 43512)
+			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43516), ts+3279, zPath, 43516)
 		}
 		appendAllPathElements(tls, bp+4104, bp)
 	}
 	appendAllPathElements(tls, bp+4104, zPath)
 	*(*uint8)(unsafe.Pointer(zOut + uintptr((*DbPath)(unsafe.Pointer(bp+4104)).FnUsed))) = uint8(0)
 	if (*DbPath)(unsafe.Pointer(bp+4104)).Frc != 0 || (*DbPath)(unsafe.Pointer(bp+4104)).FnUsed < 2 {
-		return Xsqlite3CantopenError(tls, 43518)
+		return Xsqlite3CantopenError(tls, 43522)
 	}
 	if (*DbPath)(unsafe.Pointer(bp+4104)).FnSymlink != 0 {
 		return SQLITE_OK | int32(2)<<8
@@ -18332,7 +18334,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in
 			for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == EINTR {
 				got = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*24 + 8)))(tls, fd, zBuf, uint64(nBuf)))
 			}
-			robust_close(tls, uintptr(0), fd, 43619)
+			robust_close(tls, uintptr(0), fd, 43623)
 		}
 
 	}
@@ -19765,7 +19767,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 	libc.Xmemset(tls, pPgHdr+32, 0, uint64(unsafe.Sizeof(PgHdr{}))-uint64(uintptr(0)+32))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpPage = pPage
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpData = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpBuf
-	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*72
+	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*80
 	libc.Xmemset(tls, (*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra, 0, uint64(8))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpCache = pCache
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).Fpgno = pgno
@@ -19795,7 +19797,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 // reference count drops to 0, then it is made eligible for recycling.
 func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) {
 	(*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum--
-	if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 {
+	if libc.PreDecInt64(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1) == int64(0) {
 		if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_CLEAN != 0 {
 			pcacheUnpin(tls, p)
 		} else {
@@ -19846,7 +19848,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) {
 	*(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE))
 	*(*U16)(unsafe.Pointer(p + 52)) |= U16(PGHDR_CLEAN)
 
-	if int32((*PgHdr)(unsafe.Pointer(p)).FnRef) == 0 {
+	if (*PgHdr)(unsafe.Pointer(p)).FnRef == int64(0) {
 		pcacheUnpin(tls, p)
 	}
 }
@@ -19950,8 +19952,8 @@ func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) {
 }
 
 func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr {
-	bp := tls.Alloc(72)
-	defer tls.Free(72)
+	bp := tls.Alloc(80)
+	defer tls.Free(80)
 
 	var pTail uintptr
 	pTail = bp
@@ -20029,13 +20031,13 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr {
 //
 // This is not the total number of pages referenced, but the sum of the
 // reference count for all pages.
-func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 {
+func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) I64 {
 	return (*PCache)(unsafe.Pointer(pCache)).FnRefSum
 }
 
 // Return the number of references to the page supplied as an argument.
-func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 {
-	return int32((*PgHdr)(unsafe.Pointer(p)).FnRef)
+func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) I64 {
+	return (*PgHdr)(unsafe.Pointer(p)).FnRef
 }
 
 // Return the total number of pages in the cache.
@@ -22329,7 +22331,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 {
 
 	pPg = Xsqlite3PagerLookup(tls, pPager, iPg)
 	if pPg != 0 {
-		if Xsqlite3PcachePageRefcount(tls, pPg) == 1 {
+		if Xsqlite3PcachePageRefcount(tls, pPg) == int64(1) {
 			Xsqlite3PcacheDrop(tls, pPg)
 		} else {
 			rc = readDbPage(tls, pPg)
@@ -22762,7 +22764,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr,
 	var pageSize U32 = *(*U32)(unsafe.Pointer(pPageSize))
 
 	if (int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) == 0 || (*Pager)(unsafe.Pointer(pPager)).FdbSize == Pgno(0)) &&
-		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 &&
+		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) &&
 		pageSize != 0 && pageSize != U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) {
 		var pNew uintptr = uintptr(0)
 		*(*I64)(unsafe.Pointer(bp)) = int64(0)
@@ -22914,9 +22916,9 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr
 			Xsqlite3OsUnfetch(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, I64(pgno-Pgno(1))*(*Pager)(unsafe.Pointer(pPager)).FpageSize, pData)
 			return SQLITE_NOMEM
 		}
-		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*72
+		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*80
 		(*PgHdr)(unsafe.Pointer(p)).Fflags = U16(PGHDR_MMAP)
-		(*PgHdr)(unsafe.Pointer(p)).FnRef = int16(1)
+		(*PgHdr)(unsafe.Pointer(p)).FnRef = int64(1)
 		(*PgHdr)(unsafe.Pointer(p)).FpPager = pPager
 	}
 
@@ -23248,7 +23250,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 {
 
 		for rc == SQLITE_OK && pList != 0 {
 			var pNext uintptr = (*PgHdr)(unsafe.Pointer(pList)).FpDirty
-			if int32((*PgHdr)(unsafe.Pointer(pList)).FnRef) == 0 {
+			if (*PgHdr)(unsafe.Pointer(pList)).FnRef == int64(0) {
 				rc = pagerStress(tls, pPager, pList)
 			}
 			pList = pNext
@@ -23398,7 +23400,7 @@ __11:
 		goto __12
 	}
 
-	rc = Xsqlite3CantopenError(tls, 60235)
+	rc = Xsqlite3CantopenError(tls, 60239)
 __12:
 	;
 	if !(rc != SQLITE_OK) {
@@ -23779,7 +23781,7 @@ __7:
 	if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) {
 		goto __10
 	}
-	rc = Xsqlite3CantopenError(tls, 60754)
+	rc = Xsqlite3CantopenError(tls, 60758)
 	Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd)
 __10:
 	;
@@ -23885,7 +23887,7 @@ __24:
 }
 
 func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) {
-	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 {
+	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) {
 		pagerUnlockAndRollback(tls, pPager)
 	}
 }
@@ -23903,7 +23905,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla
 	if !(pgno == Pgno(0)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 60967)
+	return Xsqlite3CorruptError(tls, 60971)
 __1:
 	;
 	*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3)
@@ -23942,7 +23944,7 @@ __5:
 	if !(pgno == (*Pager)(unsafe.Pointer(pPager)).FlckPgno) {
 		goto __7
 	}
-	rc = Xsqlite3CorruptError(tls, 60999)
+	rc = Xsqlite3CorruptError(tls, 61003)
 	goto pager_acquire_err
 __7:
 	;
@@ -24019,7 +24021,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags
 		(int32((*Pager)(unsafe.Pointer(pPager)).FeState) == PAGER_READER || flags&PAGER_GET_READONLY != 0))
 
 	if pgno <= Pgno(1) && pgno == Pgno(0) {
-		return Xsqlite3CorruptError(tls, 61078)
+		return Xsqlite3CorruptError(tls, 61082)
 	}
 
 	if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
@@ -24777,7 +24779,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 {
 
 // Return the number of references to the specified page.
 func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 {
-	return Xsqlite3PcachePageRefcount(tls, pPage)
+	return int32(Xsqlite3PcachePageRefcount(tls, pPage))
 }
 
 // Parameter eStat must be one of SQLITE_DBSTATUS_CACHE_HIT, _MISS, _WRITE,
@@ -25020,9 +25022,9 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno
 	pPgOld = Xsqlite3PagerLookup(tls, pPager, pgno)
 
 	if pPgOld != 0 {
-		if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 {
+		if (*PgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
 			Xsqlite3PagerUnrefNotNull(tls, pPgOld)
-			return Xsqlite3CorruptError(tls, 62623)
+			return Xsqlite3CorruptError(tls, 62627)
 		}
 		*(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC)
 		if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 {
@@ -25779,7 +25781,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 {
 		nCollide = idx
 		for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) {
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 64387)
+				return Xsqlite3CorruptError(tls, 64391)
 			}
 		}
 		*(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaPgno + uintptr(idx-1)*4)) = iPage
@@ -25878,7 +25880,7 @@ __6:
 	if !(version != U32(WAL_MAX_VERSION)) {
 		goto __7
 	}
-	rc = Xsqlite3CantopenError(tls, 64519)
+	rc = Xsqlite3CantopenError(tls, 64523)
 	goto finished
 __7:
 	;
@@ -26464,7 +26466,7 @@ __10:
 		goto __14
 	}
 
-	rc = Xsqlite3CorruptError(tls, 65333)
+	rc = Xsqlite3CorruptError(tls, 65337)
 	goto __15
 __14:
 	Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16)
@@ -26739,7 +26741,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 {
 	}
 
 	if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) {
-		rc = Xsqlite3CantopenError(tls, 65682)
+		rc = Xsqlite3CantopenError(tls, 65686)
 	}
 	if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
 		if rc != SQLITE_OK {
@@ -27212,7 +27214,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr
 				iRead = iFrame
 			}
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 66419)
+				return Xsqlite3CorruptError(tls, 66423)
 			}
 			iKey = walNextHash(tls, iKey)
 		}
@@ -27717,7 +27719,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
 
 	if rc == SQLITE_OK {
 		if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf {
-			rc = Xsqlite3CorruptError(tls, 67138)
+			rc = Xsqlite3CorruptError(tls, 67142)
 		} else {
 			rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
 		}
@@ -28375,7 +28377,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32
 		}
 		Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
 		if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
-			rc = Xsqlite3CorruptError(tls, 69249)
+			rc = Xsqlite3CorruptError(tls, 69253)
 		} else {
 			rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
 		}
@@ -28512,7 +28514,7 @@ __1:
 	if !(key == Pgno(0)) {
 		goto __2
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69430)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69434)
 	return
 __2:
 	;
@@ -28529,7 +28531,7 @@ __3:
 		goto __4
 	}
 
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69443)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69447)
 	goto ptrmap_exit
 __4:
 	;
@@ -28537,7 +28539,7 @@ __4:
 	if !(offset < 0) {
 		goto __5
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69448)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69452)
 	goto ptrmap_exit
 __5:
 	;
@@ -28580,7 +28582,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 	offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1)))
 	if offset < 0 {
 		Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
-		return Xsqlite3CorruptError(tls, 69493)
+		return Xsqlite3CorruptError(tls, 69497)
 	}
 
 	*(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
@@ -28590,7 +28592,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 
 	Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
 	if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 {
-		return Xsqlite3CorruptError(tls, 69501)
+		return Xsqlite3CorruptError(tls, 69505)
 	}
 	return SQLITE_OK
 }
@@ -28840,7 +28842,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr,
 	if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 		var ovfl Pgno
 		if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) {
-			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69893)
+			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69897)
 			return
 		}
 		ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4))
@@ -28887,7 +28889,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 {
 	if !(iFree > usableSize-4) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 69951)
+	return Xsqlite3CorruptError(tls, 69955)
 __2:
 	;
 	if !(iFree != 0) {
@@ -28897,7 +28899,7 @@ __2:
 	if !(iFree2 > usableSize-4) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 69954)
+	return Xsqlite3CorruptError(tls, 69958)
 __4:
 	;
 	if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) {
@@ -28910,7 +28912,7 @@ __4:
 	if !(top >= iFree) {
 		goto __6
 	}
-	return Xsqlite3CorruptError(tls, 69962)
+	return Xsqlite3CorruptError(tls, 69966)
 __6:
 	;
 	if !(iFree2 != 0) {
@@ -28919,14 +28921,14 @@ __6:
 	if !(iFree+sz > iFree2) {
 		goto __9
 	}
-	return Xsqlite3CorruptError(tls, 69965)
+	return Xsqlite3CorruptError(tls, 69969)
 __9:
 	;
 	sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1)))
 	if !(iFree2+sz2 > usableSize) {
 		goto __10
 	}
-	return Xsqlite3CorruptError(tls, 69967)
+	return Xsqlite3CorruptError(tls, 69971)
 __10:
 	;
 	libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz)))
@@ -28936,7 +28938,7 @@ __7:
 	if !(iFree+sz > usableSize) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 69971)
+	return Xsqlite3CorruptError(tls, 69975)
 __11:
 	;
 __8:
@@ -29000,7 +29002,7 @@ __19:
 	if !(pc < iCellStart || pc > iCellLast) {
 		goto __22
 	}
-	return Xsqlite3CorruptError(tls, 70004)
+	return Xsqlite3CorruptError(tls, 70008)
 __22:
 	;
 	size = int32((*struct {
@@ -29010,7 +29012,7 @@ __22:
 	if !(cbrk < iCellStart || pc+size > usableSize) {
 		goto __23
 	}
-	return Xsqlite3CorruptError(tls, 70010)
+	return Xsqlite3CorruptError(tls, 70014)
 __23:
 	;
 	*(*U8)(unsafe.Pointer(pAddr1)) = U8(cbrk >> 8)
@@ -29032,7 +29034,7 @@ defragment_out:
 	if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) {
 		goto __24
 	}
-	return Xsqlite3CorruptError(tls, 70024)
+	return Xsqlite3CorruptError(tls, 70028)
 __24:
 	;
 	*(*uint8)(unsafe.Pointer(data + uintptr(hdr+5))) = U8(cbrk >> 8)
@@ -29067,7 +29069,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 				*(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x)))
 				return aData + uintptr(pc)
 			} else if x+pc > maxPC {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70081)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70085)
 				return uintptr(0)
 			} else {
 				*(*U8)(unsafe.Pointer(aData + uintptr(pc+2))) = U8(x >> 8)
@@ -29080,13 +29082,13 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 		pc = int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1)))
 		if pc <= iAddr {
 			if pc != 0 {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70096)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70100)
 			}
 			return uintptr(0)
 		}
 	}
 	if pc > maxPC+nByte-4 {
-		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70103)
+		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70107)
 	}
 	return uintptr(0)
 }
@@ -29111,7 +29113,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 		if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) {
 			top = 65536
 		} else {
-			return Xsqlite3CorruptError(tls, 70152)
+			return Xsqlite3CorruptError(tls, 70156)
 		}
 	}
 
@@ -29122,7 +29124,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 
 			*(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1))
 			if g2 <= gap {
-				return Xsqlite3CorruptError(tls, 70170)
+				return Xsqlite3CorruptError(tls, 70174)
 			} else {
 				return SQLITE_OK
 			}
@@ -29174,22 +29176,22 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 				if int32(iFreeBlk) == 0 {
 					break
 				}
-				return Xsqlite3CorruptError(tls, 70249)
+				return Xsqlite3CorruptError(tls, 70253)
 			}
 			iPtr = iFreeBlk
 		}
 		if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) {
-			return Xsqlite3CorruptError(tls, 70254)
+			return Xsqlite3CorruptError(tls, 70258)
 		}
 
 		if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) {
 			nFrag = U8(U32(iFreeBlk) - iEnd)
 			if iEnd > U32(iFreeBlk) {
-				return Xsqlite3CorruptError(tls, 70266)
+				return Xsqlite3CorruptError(tls, 70270)
 			}
 			iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1)))))
 			if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-				return Xsqlite3CorruptError(tls, 70269)
+				return Xsqlite3CorruptError(tls, 70273)
 			}
 			iSize = U16(iEnd - U32(iStart))
 			iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1))))
@@ -29199,7 +29201,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1))))
 			if iPtrEnd+3 >= int32(iStart) {
 				if iPtrEnd > int32(iStart) {
-					return Xsqlite3CorruptError(tls, 70282)
+					return Xsqlite3CorruptError(tls, 70286)
 				}
 				nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd))
 				iSize = U16(iEnd - U32(iPtr))
@@ -29207,7 +29209,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			}
 		}
 		if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) {
-			return Xsqlite3CorruptError(tls, 70288)
+			return Xsqlite3CorruptError(tls, 70292)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag))
 	}
@@ -29215,10 +29217,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 	x = U16(int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1))))
 	if int32(iStart) <= int32(x) {
 		if int32(iStart) < int32(x) {
-			return Xsqlite3CorruptError(tls, 70297)
+			return Xsqlite3CorruptError(tls, 70301)
 		}
 		if int32(iPtr) != int32(hdr)+1 {
-			return Xsqlite3CorruptError(tls, 70298)
+			return Xsqlite3CorruptError(tls, 70302)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8)
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk)
@@ -29278,7 +29280,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70357)
+			return Xsqlite3CorruptError(tls, 70361)
 		}
 	} else {
 		(*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize = U8(4)
@@ -29314,7 +29316,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70381)
+			return Xsqlite3CorruptError(tls, 70385)
 		}
 	}
 	return SQLITE_OK
@@ -29344,11 +29346,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 		var next U32
 		var size U32
 		if pc < top {
-			return Xsqlite3CorruptError(tls, 70432)
+			return Xsqlite3CorruptError(tls, 70436)
 		}
 		for 1 != 0 {
 			if pc > iCellLast {
-				return Xsqlite3CorruptError(tls, 70437)
+				return Xsqlite3CorruptError(tls, 70441)
 			}
 			next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1))))
 			size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1))))
@@ -29359,15 +29361,15 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 			pc = int32(next)
 		}
 		if next > U32(0) {
-			return Xsqlite3CorruptError(tls, 70447)
+			return Xsqlite3CorruptError(tls, 70451)
 		}
 		if U32(pc)+size > uint32(usableSize) {
-			return Xsqlite3CorruptError(tls, 70451)
+			return Xsqlite3CorruptError(tls, 70455)
 		}
 	}
 
 	if nFree > usableSize || nFree < iCellFirst {
-		return Xsqlite3CorruptError(tls, 70463)
+		return Xsqlite3CorruptError(tls, 70467)
 	}
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst))
 	return SQLITE_OK
@@ -29395,14 +29397,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 {
 		pc = int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2) + 1)))
 
 		if pc < iCellFirst || pc > iCellLast {
-			return Xsqlite3CorruptError(tls, 70494)
+			return Xsqlite3CorruptError(tls, 70498)
 		}
 		sz = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
 		})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc)))
 
 		if pc+sz > usableSize {
-			return Xsqlite3CorruptError(tls, 70499)
+			return Xsqlite3CorruptError(tls, 70503)
 		}
 	}
 	return SQLITE_OK
@@ -29416,7 +29418,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 	data = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 {
-		return Xsqlite3CorruptError(tls, 70531)
+		return Xsqlite3CorruptError(tls, 70535)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1))
@@ -29428,7 +29430,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1))))
 	if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) {
-		return Xsqlite3CorruptError(tls, 70545)
+		return Xsqlite3CorruptError(tls, 70549)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = -1
@@ -29531,7 +29533,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	rc = Xsqlite3CorruptError(tls, 70700)
+	rc = Xsqlite3CorruptError(tls, 70704)
 	goto getAndInitPage_error1
 __1:
 	;
@@ -29559,7 +29561,7 @@ __3:
 	if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) {
 		goto __5
 	}
-	rc = Xsqlite3CorruptError(tls, 70721)
+	rc = Xsqlite3CorruptError(tls, 70725)
 	goto getAndInitPage_error2
 __5:
 	;
@@ -29598,7 +29600,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 {
 			releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
 			*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
-			return Xsqlite3CorruptError(tls, 70787)
+			return Xsqlite3CorruptError(tls, 70791)
 		}
 		(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0)
 	} else {
@@ -30481,7 +30483,7 @@ __16:
 	if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) {
 		goto __18
 	}
-	rc = Xsqlite3CorruptError(tls, 71722)
+	rc = Xsqlite3CorruptError(tls, 71726)
 	goto page1_init_failed
 	goto __19
 __18:
@@ -30896,7 +30898,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 	if int32(eType) == PTRMAP_OVERFLOW2 {
 		if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
-			return Xsqlite3CorruptError(tls, 72143)
+			return Xsqlite3CorruptError(tls, 72147)
 		}
 		Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo)
 	} else {
@@ -30922,7 +30924,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp)
 				if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 					if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-						return Xsqlite3CorruptError(tls, 72162)
+						return Xsqlite3CorruptError(tls, 72166)
 					}
 					if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) {
 						Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo)
@@ -30931,7 +30933,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				}
 			} else {
 				if pCell+uintptr(4) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-					return Xsqlite3CorruptError(tls, 72171)
+					return Xsqlite3CorruptError(tls, 72175)
 				}
 				if Xsqlite3Get4byte(tls, pCell) == iFrom {
 					Xsqlite3Put4byte(tls, pCell, iTo)
@@ -30942,7 +30944,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 		if i == nCell {
 			if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom {
-				return Xsqlite3CorruptError(tls, 72183)
+				return Xsqlite3CorruptError(tls, 72187)
 			}
 			Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo)
 		}
@@ -30958,7 +30960,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag
 	var pPager uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPager
 
 	if iDbPage < Pgno(3) {
-		return Xsqlite3CorruptError(tls, 72218)
+		return Xsqlite3CorruptError(tls, 72222)
 	}
 
 	*(*int32)(unsafe.Pointer(bp)) = Xsqlite3PagerMovepage(tls, pPager, (*MemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -31019,7 +31021,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 			return rc
 		}
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE {
-			return Xsqlite3CorruptError(tls, 72316)
+			return Xsqlite3CorruptError(tls, 72320)
 		}
 
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE {
@@ -31054,7 +31056,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 				if *(*Pgno)(unsafe.Pointer(bp + 40)) > dbSize {
 					releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
-					return Xsqlite3CorruptError(tls, 72368)
+					return Xsqlite3CorruptError(tls, 72372)
 				}
 			}
 
@@ -31114,7 +31116,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 {
 		var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree)
 
 		if nOrig < nFin || nFree >= nOrig {
-			rc = Xsqlite3CorruptError(tls, 72436)
+			rc = Xsqlite3CorruptError(tls, 72440)
 		} else if nFree > Pgno(0) {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
 			if rc == SQLITE_OK {
@@ -31153,7 +31155,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 
 		nOrig = btreePagecount(tls, pBt)
 		if ptrmapPageno(tls, pBt, nOrig) == nOrig || nOrig == U32(Xsqlite3PendingByte)/(*BtShared)(unsafe.Pointer(pBt)).FpageSize+U32(1) {
-			return Xsqlite3CorruptError(tls, 72487)
+			return Xsqlite3CorruptError(tls, 72491)
 		}
 
 		nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
@@ -31184,7 +31186,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 		}
 		nFin = finalDbSize(tls, pBt, nOrig, nVac)
 		if nFin > nOrig {
-			return Xsqlite3CorruptError(tls, 72514)
+			return Xsqlite3CorruptError(tls, 72518)
 		}
 		if nFin < nOrig {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -31525,7 +31527,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u
 
 	if iTable <= Pgno(1) {
 		if iTable < Pgno(1) {
-			return Xsqlite3CorruptError(tls, 72978)
+			return Xsqlite3CorruptError(tls, 72982)
 		} else if btreePagecount(tls, pBt) == Pgno(0) {
 			iTable = Pgno(0)
 		}
@@ -31769,14 +31771,14 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt
 
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
-		return Xsqlite3CorruptError(tls, 73385)
+		return Xsqlite3CorruptError(tls, 73389)
 	}
 
 	getCellInfo(tls, pCur)
 	aPayload = (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
 
 	if Uptr((int64(aPayload)-int64((*MemPage)(unsafe.Pointer(pPage)).FaData))/1) > Uptr((*BtShared)(unsafe.Pointer(pBt)).FusableSize-U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal)) {
-		return Xsqlite3CorruptError(tls, 73400)
+		return Xsqlite3CorruptError(tls, 73404)
 	}
 
 	if offset < U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -31821,7 +31823,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 
 		for *(*Pgno)(unsafe.Pointer(bp)) != 0 {
 			if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage {
-				return Xsqlite3CorruptError(tls, 73462)
+				return Xsqlite3CorruptError(tls, 73466)
 			}
 
 			*(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp))
@@ -31870,7 +31872,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	}
 
 	if rc == SQLITE_OK && amt > U32(0) {
-		return Xsqlite3CorruptError(tls, 73547)
+		return Xsqlite3CorruptError(tls, 73551)
 	}
 	return rc
 }
@@ -31950,7 +31952,7 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt
 
 func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 {
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 {
-		return Xsqlite3CorruptError(tls, 73684)
+		return Xsqlite3CorruptError(tls, 73688)
 	}
 	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	*(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl))
@@ -32041,7 +32043,7 @@ __2:
 	if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 73823)
+	return Xsqlite3CorruptError(tls, 73827)
 __11:
 	;
 skip_init:
@@ -32061,7 +32063,7 @@ __12:
 	if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) {
 		goto __16
 	}
-	return Xsqlite3CorruptError(tls, 73835)
+	return Xsqlite3CorruptError(tls, 73839)
 __16:
 	;
 	subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8))
@@ -32271,7 +32273,7 @@ __19:
 	if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __21
 	}
-	return Xsqlite3CorruptError(tls, 74077)
+	return Xsqlite3CorruptError(tls, 74081)
 __21:
 	;
 	goto __19
@@ -32475,7 +32477,7 @@ __2:
 	if !!(int32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit) != 0) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 74273)
+	return Xsqlite3CorruptError(tls, 74277)
 __4:
 	;
 	goto bypass_moveto_root
@@ -32540,7 +32542,7 @@ __15:
 	if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) {
 		goto __17
 	}
-	rc = Xsqlite3CorruptError(tls, 74360)
+	rc = Xsqlite3CorruptError(tls, 74364)
 	goto moveto_index_finish
 __17:
 	;
@@ -32588,7 +32590,7 @@ __22:
 	if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) {
 		goto __24
 	}
-	rc = Xsqlite3CorruptError(tls, 74392)
+	rc = Xsqlite3CorruptError(tls, 74396)
 __24:
 	;
 	goto moveto_index_finish
@@ -32707,7 +32709,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 {
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1))
 	if !(int32((*MemPage)(unsafe.Pointer(pPage)).FisInit) != 0) || Xsqlite3FaultSim(tls, 412) != 0 {
-		return Xsqlite3CorruptError(tls, 74508)
+		return Xsqlite3CorruptError(tls, 74512)
 	}
 
 	if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
@@ -32867,7 +32869,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr
 	if !(n >= mxPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74688)
+	return Xsqlite3CorruptError(tls, 74692)
 __1:
 	;
 	if !(n > U32(0)) {
@@ -32932,7 +32934,7 @@ __15:
 	if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) {
 		goto __16
 	}
-	rc = Xsqlite3CorruptError(tls, 74744)
+	rc = Xsqlite3CorruptError(tls, 74748)
 	goto __17
 __16:
 	rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0)
@@ -32968,7 +32970,7 @@ __19:
 		goto __22
 	}
 
-	rc = Xsqlite3CorruptError(tls, 74773)
+	rc = Xsqlite3CorruptError(tls, 74777)
 	goto end_allocate_page
 	goto __23
 __22:
@@ -33012,7 +33014,7 @@ __27:
 	if !(iNewTrunk > mxPage) {
 		goto __32
 	}
-	rc = Xsqlite3CorruptError(tls, 74807)
+	rc = Xsqlite3CorruptError(tls, 74811)
 	goto end_allocate_page
 __32:
 	;
@@ -33124,7 +33126,7 @@ __40:
 	if !(iPage > mxPage || iPage < Pgno(2)) {
 		goto __51
 	}
-	rc = Xsqlite3CorruptError(tls, 74872)
+	rc = Xsqlite3CorruptError(tls, 74876)
 	goto end_allocate_page
 __51:
 	;
@@ -33282,7 +33284,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 {
 	if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74999)
+	return Xsqlite3CorruptError(tls, 75003)
 __1:
 	;
 	if !(pMemPage != 0) {
@@ -33339,7 +33341,7 @@ __7:
 	if !(iTrunk > btreePagecount(tls, pBt)) {
 		goto __10
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75046)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75050)
 	goto freepage_out
 __10:
 	;
@@ -33355,7 +33357,7 @@ __11:
 	if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) {
 		goto __12
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75057)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75061)
 	goto freepage_out
 __12:
 	;
@@ -33429,7 +33431,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 	var ovflPageSize U32
 
 	if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 75146)
+		return Xsqlite3CorruptError(tls, 75150)
 	}
 	ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
 	pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt
@@ -33441,7 +33443,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 		*(*Pgno)(unsafe.Pointer(bp + 8)) = Pgno(0)
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 		if ovflPgno < Pgno(2) || ovflPgno > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 75163)
+			return Xsqlite3CorruptError(tls, 75167)
 		}
 		if nOvfl != 0 {
 			rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8)
@@ -33452,7 +33454,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 
 		if (*(*uintptr)(unsafe.Pointer(bp)) != 0 || libc.AssignPtrUintptr(bp, btreePageLookup(tls, pBt, ovflPgno)) != uintptr(0)) &&
 			Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 {
-			rc = Xsqlite3CorruptError(tls, 75183)
+			rc = Xsqlite3CorruptError(tls, 75187)
 		} else {
 			rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp)), ovflPgno)
 		}
@@ -33617,7 +33619,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
 	hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75436)
+		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75440)
 		return
 	}
 	rc = freeSpace(tls, pPage, uint16(pc), uint16(sz))
@@ -33896,12 +33898,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 
 		if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) {
 			if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) {
-				return Xsqlite3CorruptError(tls, 75737)
+				return Xsqlite3CorruptError(tls, 75741)
 			}
 			pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1)
 		} else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) &&
 			Uptr(pCell) < Uptr(pSrcEnd) {
-			return Xsqlite3CorruptError(tls, 75742)
+			return Xsqlite3CorruptError(tls, 75746)
 		}
 
 		pData -= uintptr(sz)
@@ -33909,7 +33911,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 		*(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1)
 		pCellptr += uintptr(2)
 		if pData < pCellptr {
-			return Xsqlite3CorruptError(tls, 75748)
+			return Xsqlite3CorruptError(tls, 75752)
 		}
 		libc.Xmemmove(tls, pData, pCell, uint64(sz))
 
@@ -33969,7 +33971,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr,
 
 		if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) &&
 			Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) {
-			Xsqlite3CorruptError(tls, 75833)
+			Xsqlite3CorruptError(tls, 75837)
 			return 1
 		}
 		libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz))
@@ -34058,7 +34060,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC
 	if !(nShift > nCell) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 75947)
+	return Xsqlite3CorruptError(tls, 75951)
 __2:
 	;
 	libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2))
@@ -34174,7 +34176,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr
 	var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt
 
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
-		return Xsqlite3CorruptError(tls, 76060)
+		return Xsqlite3CorruptError(tls, 76064)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 136)) = allocateBtreePage(tls, pBt, bp, bp+8, uint32(0), uint8(0))
@@ -34494,7 +34496,7 @@ __22:
 	if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) {
 		goto __25
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76481)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76485)
 	goto balance_cleanup
 __25:
 	;
@@ -34505,7 +34507,7 @@ __25:
 	if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) {
 		goto __27
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76505)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76509)
 	goto balance_cleanup
 __27:
 	;
@@ -34663,7 +34665,7 @@ __52:
 	if !(k > NB+2) {
 		goto __55
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76606)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76610)
 	goto balance_cleanup
 __55:
 	;
@@ -34737,7 +34739,7 @@ __65:
 	}()) {
 		goto __67
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76639)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76643)
 	goto balance_cleanup
 __67:
 	;
@@ -34800,7 +34802,7 @@ __73:
 	}()) {
 		goto __75
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76683)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76687)
 	goto balance_cleanup
 __75:
 	;
@@ -34828,7 +34830,7 @@ __76:
 		*(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) {
 		goto __81
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76716)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76720)
 __81:
 	;
 	if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) {
@@ -35089,7 +35091,7 @@ __120:
 	if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) {
 		goto __121
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76916)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76920)
 	goto balance_cleanup
 __121:
 	;
@@ -35281,7 +35283,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 {
 		if pOther != pCur &&
 			int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID &&
 			(*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage {
-			return Xsqlite3CorruptError(tls, 77146)
+			return Xsqlite3CorruptError(tls, 77150)
 		}
 	}
 	return SQLITE_OK
@@ -35319,7 +35321,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 {
 				break
 			}
 		} else if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) > 1 {
-			rc = Xsqlite3CorruptError(tls, 77206)
+			rc = Xsqlite3CorruptError(tls, 77210)
 		} else {
 			var pParent uintptr = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-1)*8))
 			var iIdx int32 = int32(*(*U16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-1)*2)))
@@ -35425,7 +35427,7 @@ func btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 			return rc
 		}
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
-			rc = Xsqlite3CorruptError(tls, 77370)
+			rc = Xsqlite3CorruptError(tls, 77374)
 		} else {
 			if U32(iOffset)+ovflPageSize < U32(nTotal) {
 				ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -35450,7 +35452,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 
 	if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd ||
 		(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FcellOffset) {
-		return Xsqlite3CorruptError(tls, 77398)
+		return Xsqlite3CorruptError(tls, 77402)
 	}
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
 		return btreeOverwriteContent(tls, pPage, (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX,
@@ -35520,7 +35522,7 @@ __2:
 		goto __3
 	}
 
-	return Xsqlite3CorruptError(tls, 77479)
+	return Xsqlite3CorruptError(tls, 77483)
 __3:
 	;
 __1:
@@ -35633,7 +35635,7 @@ __7:
 		goto __21
 	}
 
-	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77602)
+	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77606)
 	goto __22
 __21:
 	*(*int32)(unsafe.Pointer(bp + 120)) = btreeComputeFreeSpace(tls, pPage)
@@ -35693,6 +35695,7 @@ __30:
 __25:
 	;
 	idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
+	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !(*(*int32)(unsafe.Pointer(bp)) == 0) {
 		goto __31
 	}
@@ -35700,7 +35703,7 @@ __25:
 	if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) {
 		goto __33
 	}
-	return Xsqlite3CorruptError(tls, 77640)
+	return Xsqlite3CorruptError(tls, 77645)
 __33:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage)
@@ -35738,13 +35741,13 @@ __37:
 	if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) {
 		goto __39
 	}
-	return Xsqlite3CorruptError(tls, 77667)
+	return Xsqlite3CorruptError(tls, 77672)
 __39:
 	;
 	if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 124))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __40
 	}
-	return Xsqlite3CorruptError(tls, 77670)
+	return Xsqlite3CorruptError(tls, 77675)
 __40:
 	;
 	libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 124))))
@@ -35775,7 +35778,6 @@ __32:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 124)), uintptr(0), uint32(0))
 
-	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) {
 		goto __44
 	}
@@ -35850,7 +35852,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 	nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
 	aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
 	if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 77773)
+		return Xsqlite3CorruptError(tls, 77777)
 	}
 	nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
 	if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -35875,7 +35877,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 
 		if nRem > nIn {
 			if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-				return Xsqlite3CorruptError(tls, 77798)
+				return Xsqlite3CorruptError(tls, 77802)
 			}
 			ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
 		}
@@ -35976,7 +35978,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 				return *(*int32)(unsafe.Pointer(bp + 24))
 			}
 		} else {
-			return Xsqlite3CorruptError(tls, 77894)
+			return Xsqlite3CorruptError(tls, 77898)
 		}
 	}
 
@@ -35984,11 +35986,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 	iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
-		return Xsqlite3CorruptError(tls, 77903)
+		return Xsqlite3CorruptError(tls, 77907)
 	}
 	pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx) + 1)))))
 	if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 {
-		return Xsqlite3CorruptError(tls, 77907)
+		return Xsqlite3CorruptError(tls, 77911)
 	}
 
 	bPreserve = U8(libc.Bool32(int32(flags)&BTREE_SAVEPOSITION != 0))
@@ -36063,7 +36065,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 		}
 		pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)) + 1)))))
 		if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 {
-			return Xsqlite3CorruptError(tls, 77998)
+			return Xsqlite3CorruptError(tls, 78002)
 		}
 		nCell = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
@@ -36132,7 +36134,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 
 		Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp)
 		if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 78114)
+			return Xsqlite3CorruptError(tls, 78118)
 		}
 		*(*Pgno)(unsafe.Pointer(bp))++
 
@@ -36161,7 +36163,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 			}
 			*(*int32)(unsafe.Pointer(bp + 40)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp)), bp+32, bp+36)
 			if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE {
-				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78162)
+				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78166)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -36237,7 +36239,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 78252)
+	return Xsqlite3CorruptError(tls, 78256)
 __1:
 	;
 	*(*int32)(unsafe.Pointer(bp + 32)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0)
@@ -36251,7 +36253,7 @@ __2:
 		Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) {
 		goto __3
 	}
-	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78259)
+	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78263)
 	goto cleardatabasepage_out
 __3:
 	;
@@ -36385,7 +36387,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3
 	var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt
 
 	if iTable > btreePagecount(tls, pBt) {
-		return Xsqlite3CorruptError(tls, 78363)
+		return Xsqlite3CorruptError(tls, 78367)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 12)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0))
@@ -38855,7 +38857,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32,
 	var rc int32
 	(*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null)
 	if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) {
-		return Xsqlite3CorruptError(tls, 81630)
+		return Xsqlite3CorruptError(tls, 81634)
 	}
 	if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) {
 		rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz)
@@ -39504,7 +39506,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		return Xsqlite3GetVarint32(tls, a, bp)
 	}())
 	if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) {
-		return Xsqlite3CorruptError(tls, 82270)
+		return Xsqlite3CorruptError(tls, 82274)
 	}
 	iField = *(*int32)(unsafe.Pointer(bp))
 	for i = 0; i <= iCol; i++ {
@@ -39519,14 +39521,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		}())
 
 		if iHdr > *(*int32)(unsafe.Pointer(bp)) {
-			return Xsqlite3CorruptError(tls, 82276)
+			return Xsqlite3CorruptError(tls, 82280)
 		}
 		szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4))))
 		iField = iField + szField
 	}
 
 	if iField > nRec {
-		return Xsqlite3CorruptError(tls, 82282)
+		return Xsqlite3CorruptError(tls, 82286)
 	}
 	if pMem == uintptr(0) {
 		pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db))
@@ -41830,7 +41832,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 {
 		return rc
 	}
 	if *(*int32)(unsafe.Pointer(bp)) != 0 {
-		return Xsqlite3CorruptError(tls, 86058)
+		return Xsqlite3CorruptError(tls, 86062)
 	}
 	(*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0)
 	(*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE)
@@ -42381,7 +42383,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		i = 0
 	}
 	if d1 > uint32(nKey1) {
-		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86985))
+		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86989))
 		return 0
 	}
 
@@ -42446,7 +42448,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 
 				if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) ||
 					int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87062))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87066))
 					return 0
 				} else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 {
 					(*Mem)(unsafe.Pointer(bp + 8)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc
@@ -42480,7 +42482,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 				var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2))
 
 				if d1+U32(nStr) > uint32(nKey1) {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87092))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87096))
 					return 0
 				} else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 {
 					if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) {
@@ -42530,7 +42532,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		}
 		idx1 = idx1 + U32(Xsqlite3VarintLen(tls, uint64(*(*U32)(unsafe.Pointer(bp + 64)))))
 		if idx1 >= *(*U32)(unsafe.Pointer(bp + 4)) {
-			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87136))
+			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87140))
 			return 0
 		}
 	}
@@ -42676,7 +42678,7 @@ __5:
 	if !(szHdr+nStr > nKey1) {
 		goto __7
 	}
-	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87299))
+	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87303))
 	return 0
 __7:
 	;
@@ -42847,7 +42849,7 @@ __6:
 idx_rowid_corruption:
 	;
 	Xsqlite3VdbeMemReleaseMalloc(tls, bp)
-	return Xsqlite3CorruptError(tls, 87457)
+	return Xsqlite3CorruptError(tls, 87461)
 }
 
 // Compare the key of the index entry that cursor pC is pointing to against
@@ -42873,7 +42875,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
 
 	if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) {
 		*(*int32)(unsafe.Pointer(res)) = 0
-		return Xsqlite3CorruptError(tls, 87490)
+		return Xsqlite3CorruptError(tls, 87494)
 	}
 	Xsqlite3VdbeMemInit(tls, bp, db, uint16(0))
 	rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp)
@@ -43147,7 +43149,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 {
 		var v uintptr = pStmt
 		var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb
 		if vdbeSafety(tls, v) != 0 {
-			return Xsqlite3MisuseError(tls, 87854)
+			return Xsqlite3MisuseError(tls, 87858)
 		}
 		Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) {
@@ -43787,7 +43789,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 {
 	var db uintptr
 
 	if vdbeSafetyNotNull(tls, v) != 0 {
-		return Xsqlite3MisuseError(tls, 88544)
+		return Xsqlite3MisuseError(tls, 88548)
 	}
 	db = (*Vdbe)(unsafe.Pointer(v)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -44307,7 +44309,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 
 	var pVar uintptr
 	if vdbeSafetyNotNull(tls, p) != 0 {
-		return Xsqlite3MisuseError(tls, 89208)
+		return Xsqlite3MisuseError(tls, 89212)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 	if int32((*Vdbe)(unsafe.Pointer(p)).FeVdbeState) != VDBE_READY_STATE {
@@ -44315,7 +44317,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 		Xsqlite3_log(tls, SQLITE_MISUSE,
 			ts+5357, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql))
-		return Xsqlite3MisuseError(tls, 89216)
+		return Xsqlite3MisuseError(tls, 89220)
 	}
 	if i >= uint32((*Vdbe)(unsafe.Pointer(p)).FnVar) {
 		Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE)
@@ -44730,7 +44732,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89707)
+	rc = Xsqlite3MisuseError(tls, 89711)
 	goto preupdate_old_out
 __1:
 	;
@@ -44874,7 +44876,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89809)
+	rc = Xsqlite3MisuseError(tls, 89813)
 	goto preupdate_new_out
 __1:
 	;
@@ -45318,10 +45320,6 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 {
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Real != 0 {
 			h = h + U64(Xsqlite3VdbeIntValue(tls, p))
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 {
-			h = h + U64((*Mem)(unsafe.Pointer(p)).Fn)
-			if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Zero != 0 {
-				h = h + U64(*(*int32)(unsafe.Pointer(p)))
-			}
 		}
 	}
 	return h
@@ -47969,7 +47967,7 @@ op_column_corrupt:
 	goto __9
 	goto __425
 __424:
-	rc = Xsqlite3CorruptError(tls, 93317)
+	rc = Xsqlite3CorruptError(tls, 93320)
 	goto abort_due_to_error
 __425:
 	;
@@ -49729,7 +49727,7 @@ notExistsWithKey:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) {
 		goto __682
 	}
-	rc = Xsqlite3CorruptError(tls, 95560)
+	rc = Xsqlite3CorruptError(tls, 95563)
 	goto __683
 __682:
 	goto jump_to_p2
@@ -50507,7 +50505,7 @@ __767:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) {
 		goto __770
 	}
-	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96635, ts+5866)
+	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96638, ts+5866)
 	goto abort_due_to_error
 __770:
 	;
@@ -50617,7 +50615,7 @@ __780:
 	if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) {
 		goto __781
 	}
-	rc = Xsqlite3CorruptError(tls, 96840)
+	rc = Xsqlite3CorruptError(tls, 96843)
 	goto abort_due_to_error
 __781:
 	;
@@ -50811,7 +50809,7 @@ __802:
 		goto __803
 	}
 
-	rc = Xsqlite3CorruptError(tls, 97092)
+	rc = Xsqlite3CorruptError(tls, 97095)
 __803:
 	;
 	Xsqlite3DbFreeNN(tls, db, zSql)
@@ -52178,7 +52176,7 @@ __955:
 	if !(rc == SQLITE_IOERR|int32(33)<<8) {
 		goto __957
 	}
-	rc = Xsqlite3CorruptError(tls, 99031)
+	rc = Xsqlite3CorruptError(tls, 99034)
 __957:
 	;
 __956:
@@ -52698,7 +52696,7 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99516)
+		return Xsqlite3MisuseError(tls, 99519)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -52781,7 +52779,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99616)
+		return Xsqlite3MisuseError(tls, 99619)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -56221,14 +56219,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			;
 			Xsqlite3WalkExpr(tls, pWalker, (*Expr)(unsafe.Pointer(pExpr)).FpLeft)
 			if 0 == Xsqlite3ExprCanBeNull(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
-				if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6764
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsTrue)
-				} else {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6769
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
-				}
-				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
+				*(*int32)(unsafe.Pointer(pExpr + 8)) = libc.Bool32(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL)
+				*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IntValue)
+				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_INTEGER)
+
 				i = 0
 				p = pNC
 			__4:
@@ -56272,7 +56266,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_GenCol) != 0 {
-					notValidImpl(tls, pParse, pNC, ts+6775, uintptr(0), pExpr)
+					notValidImpl(tls, pParse, pNC, ts+6764, uintptr(0), pExpr)
 				}
 
 				pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight
@@ -56336,7 +56330,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 						(*Expr)(unsafe.Pointer(pExpr)).FiTable = exprProbability(tls, (*ExprList_item)(unsafe.Pointer(pList+8+1*32)).FpExpr)
 						if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 {
 							Xsqlite3ErrorMsg(tls, pParse,
-								ts+6792, libc.VaList(bp, pExpr))
+								ts+6781, libc.VaList(bp, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
 					} else {
@@ -56352,7 +56346,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 					var auth int32 = Xsqlite3AuthCheck(tls, pParse, SQLITE_FUNCTION, uintptr(0), (*FuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0))
 					if auth != SQLITE_OK {
 						if auth == SQLITE_DENY {
-							Xsqlite3ErrorMsg(tls, pParse, ts+6856,
+							Xsqlite3ErrorMsg(tls, pParse, ts+6845,
 								libc.VaList(bp+8, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
@@ -56366,7 +56360,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				}
 				if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_CONSTANT) == U32(0) {
 					if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_PartIdx|NC_GenCol) != 0 {
-						notValidImpl(tls, pParse, pNC, ts+6892, uintptr(0), pExpr)
+						notValidImpl(tls, pParse, pNC, ts+6881, uintptr(0), pExpr)
 					}
 
 				} else {
@@ -56389,30 +56383,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			if 0 == libc.Bool32(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 				if pDef != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+6920, libc.VaList(bp+16, pExpr))
+						ts+6909, libc.VaList(bp+16, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowAgg == 0 ||
 					is_agg != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) ||
 					is_agg != 0 && pWin != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowWin == 0 {
 					var zType uintptr
 					if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 {
-						zType = ts + 6963
+						zType = ts + 6952
 					} else {
-						zType = ts + 6970
+						zType = ts + 6959
 					}
-					Xsqlite3ErrorMsg(tls, pParse, ts+6980, libc.VaList(bp+24, zType, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6969, libc.VaList(bp+24, zType, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 					is_agg = 0
 				} else if no_such_func != 0 && int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7008, libc.VaList(bp+40, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6997, libc.VaList(bp+40, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if wrong_num_args != 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7030,
+					Xsqlite3ErrorMsg(tls, pParse, ts+7019,
 						libc.VaList(bp+48, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg == 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7074,
+						ts+7063,
 						libc.VaList(bp+56, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				}
@@ -56484,15 +56478,15 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_SelfRef != 0 {
-					notValidImpl(tls, pParse, pNC, ts+7122, pExpr, pExpr)
+					notValidImpl(tls, pParse, pNC, ts+7111, pExpr, pExpr)
 				} else {
 					Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32)))
 				}
 
 				if nRef != (*NameContext)(unsafe.Pointer(pNC)).FnRef {
 					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_VarSelect)
-					*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_VarSelect
 				}
+				*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_Subquery
 			}
 			break
 
@@ -56500,7 +56494,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 	case TK_VARIABLE:
 		{
 			if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IsCheck|NC_PartIdx|NC_IdxExpr|NC_GenCol) != 0 {
-				notValidImpl(tls, pParse, pNC, ts+7133, pExpr, pExpr)
+				notValidImpl(tls, pParse, pNC, ts+7122, pExpr, pExpr)
 			}
 
 			break
@@ -56631,7 +56625,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3
 	defer tls.Free(24)
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+7144, libc.VaList(bp, i, zType, mx))
+		ts+7133, libc.VaList(bp, i, zType, mx))
 	Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pError)
 }
 
@@ -56651,7 +56645,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	}
 	db = (*Parse)(unsafe.Pointer(pParse)).Fdb
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7200, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7189, 0)
 		return 1
 	}
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
@@ -56686,7 +56680,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 			}
 			if Xsqlite3ExprIsInteger(tls, pE, bp+8) != 0 {
 				if *(*int32)(unsafe.Pointer(bp + 8)) <= 0 || *(*int32)(unsafe.Pointer(bp + 8)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr {
-					resolveOutOfRangeError(tls, pParse, ts+7234, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
+					resolveOutOfRangeError(tls, pParse, ts+7223, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
 					return 1
 				}
 			} else {
@@ -56743,7 +56737,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
 		if int32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x2000>>13) == 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+7240, libc.VaList(bp, i+1))
+				ts+7229, libc.VaList(bp, i+1))
 			return 1
 		}
 	}
@@ -56771,7 +56765,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr,
 		return 0
 	}
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7301, libc.VaList(bp, zType))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7290, libc.VaList(bp, zType))
 		return 1
 	}
 	pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList
@@ -56985,7 +56979,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		*(*int32)(unsafe.Pointer(bp + 40)) |= NC_UEList
 		if (*Select)(unsafe.Pointer(p)).FpHaving != 0 {
 			if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Aggregate) == U32(0) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7332, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+7321, 0)
 				return WRC_Abort
 			}
 			if Xsqlite3ResolveExprNames(tls, bp, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 {
@@ -57025,7 +57019,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 
 		if (*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) &&
 			isCompound <= nCompound &&
-			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7234) != 0 {
+			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7223) != 0 {
 			return WRC_Abort
 		}
 		if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -57036,7 +57030,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		if pGroupBy != 0 {
 			var pItem uintptr
 
-			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7371) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
+			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7360) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 				return WRC_Abort
 			}
 			i = 0
@@ -57048,7 +57042,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 			{
 				if (*Expr)(unsafe.Pointer((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr)).Fflags&U32(EP_Agg) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7377, 0)
+						ts+7366, 0)
 					return WRC_Abort
 				}
 
@@ -57912,7 +57906,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32
 	var mxHeight int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4))
 	if nHeight > mxHeight {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+7436, libc.VaList(bp, mxHeight))
+			ts+7425, libc.VaList(bp, mxHeight))
 		rc = SQLITE_ERROR
 	}
 	return rc
@@ -58161,10 +58155,10 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList
 			nExprElem = 1
 		}
 		if nExprElem != nElem {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7484,
+			Xsqlite3ErrorMsg(tls, pParse, ts+7473,
 				libc.VaList(bp, nExprElem, func() uintptr {
 					if nExprElem > 1 {
-						return ts + 7528
+						return ts + 7517
 					}
 					return ts + 1554
 				}(), nElem))
@@ -58205,7 +58199,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt
 		!(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 		Xsqlite3ExprDeferredDelete(tls, pParse, pLeft)
 		Xsqlite3ExprDeferredDelete(tls, pParse, pRight)
-		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7530)
+		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7519)
 	} else {
 		return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight)
 	}
@@ -58231,7 +58225,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u
 	if pList != 0 &&
 		(*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) &&
 		!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7532, libc.VaList(bp, pToken))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7521, libc.VaList(bp, pToken))
 	}
 	*(*uintptr)(unsafe.Pointer(pNew + 32)) = pList
 	*(*U32)(unsafe.Pointer(pNew + 4)) |= U32(EP_HasFunc)
@@ -58259,7 +58253,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD
 	if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromDDL) != U32(0) {
 		if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_DIRECT) != U32(0) ||
 			(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) == uint64(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7566, libc.VaList(bp, pExpr))
+			Xsqlite3ErrorMsg(tls, pParse, ts+7555, libc.VaList(bp, pExpr))
 		}
 	}
 }
@@ -58306,7 +58300,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 			}
 
 			if bOk == 0 || *(*I64)(unsafe.Pointer(bp + 8)) < int64(1) || *(*I64)(unsafe.Pointer(bp + 8)) > I64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7586,
+				Xsqlite3ErrorMsg(tls, pParse, ts+7575,
 					libc.VaList(bp, *(*int32)(unsafe.Pointer(db + 136 + 9*4))))
 				Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 				return
@@ -58331,7 +58325,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 	}
 	(*Expr)(unsafe.Pointer(pExpr)).FiColumn = x
 	if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7629, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7618, 0)
 		Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 	}
 }
@@ -58906,7 +58900,7 @@ __2:
 	if !(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_SELECT && (*IdList)(unsafe.Pointer(pColumns)).FnId != libc.AssignInt32(&n, Xsqlite3ExprVectorSize(tls, pExpr))) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7652,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7641,
 		libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n))
 	goto vector_append_error
 __3:
@@ -59029,7 +59023,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr,
 	var mx int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4))
 
 	if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7682, libc.VaList(bp, zObject))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7671, libc.VaList(bp, zObject))
 	}
 }
 
@@ -59085,10 +59079,10 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int
 //	  "false"                        EP_IsFalse
 //	  anything else                  0
 func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 {
-	if Xsqlite3StrICmp(tls, zIn, ts+6764) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7694) == 0 {
 		return U32(EP_IsTrue)
 	}
-	if Xsqlite3StrICmp(tls, zIn, ts+6769) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7699) == 0 {
 		return U32(EP_IsFalse)
 	}
 	return U32(0)
@@ -60162,7 +60156,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 {
 	}
 	if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
-		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7530)
+		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7519)
 		if pLimit != 0 {
 			(*Expr)(unsafe.Pointer(pLimit)).FaffExpr = uint8(SQLITE_AFF_NUMERIC)
 			pLimit = Xsqlite3PExpr(tls, pParse, TK_NE,
@@ -60600,6 +60594,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr
 func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) {
 	var iAddr int32
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
+	var nErr int32 = (*Parse)(unsafe.Pointer(pParse)).FnErr
 
 	if (*Parse)(unsafe.Pointer(pParse)).FiSelfTab > 0 {
 		iAddr = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Parse)(unsafe.Pointer(pParse)).FiSelfTab-1, 0, regOut)
@@ -60613,6 +60608,9 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr
 	if iAddr != 0 {
 		Xsqlite3VdbeJumpHere(tls, v, iAddr)
 	}
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr > nErr {
+		(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FerrByteOffset = -1
+	}
 }
 
 // Generate code to extract the value of the iCol-th column of a table.
@@ -60831,6 +60829,7 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 	var p uintptr
 	var v uintptr
 	for p = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr; p != 0; p = (*IndexedExpr)(unsafe.Pointer(p)).FpIENext {
+		var exprAff U8
 		var iDataCur int32 = (*IndexedExpr)(unsafe.Pointer(p)).FiDataCur
 		if iDataCur < 0 {
 			continue
@@ -60844,6 +60843,14 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 		if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IndexedExpr)(unsafe.Pointer(p)).FpExpr, iDataCur) != 0 {
 			continue
 		}
+
+		exprAff = Xsqlite3ExprAffinity(tls, pExpr)
+		if int32(exprAff) <= SQLITE_AFF_BLOB && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_BLOB ||
+			int32(exprAff) == SQLITE_AFF_TEXT && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_TEXT ||
+			int32(exprAff) >= SQLITE_AFF_NUMERIC && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_NUMERIC {
+			continue
+		}
+
 		v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 
 		if (*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow != 0 {
@@ -61617,7 +61624,7 @@ __121:
 	if !((*Expr)(unsafe.Pointer(pExpr)).FiTable != n1) {
 		goto __122
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7652,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7641,
 		libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1))
 __122:
 	;
@@ -61639,11 +61646,10 @@ __49:
 	return target
 
 __50:
-	if !(!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) &&
-		(*Expr)(unsafe.Pointer(pExpr)).FpLeft != 0 &&
-		int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_FUNCTION) {
+	if !!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) {
 		goto __123
 	}
+
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	if !(inReg != target) {
 		goto __125
@@ -61714,13 +61720,19 @@ __129:
 	;
 __127:
 	;
-	addrINR = Xsqlite3VdbeAddOp1(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable)
+	addrINR = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable, 0, target)
 
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = U8(0)
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = okConstFactor
+	if !(inReg != target) {
+		goto __130
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, inReg, target)
+	inReg = target
+__130:
+	;
 	Xsqlite3VdbeJumpHere(tls, v, addrINR)
-	Xsqlite3VdbeChangeP3(tls, v, addrINR, inReg)
 	goto __5
 
 __56:
@@ -61733,15 +61745,15 @@ __56:
 	nExpr = (*ExprList)(unsafe.Pointer(pEList)).FnExpr
 	endLabel = Xsqlite3VdbeMakeLabel(tls, pParse)
 	if !(libc.AssignUintptr(&pX, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) != uintptr(0)) {
-		goto __130
+		goto __131
 	}
 	pDel = Xsqlite3ExprDup(tls, db1, pX, 0)
 	if !((*Sqlite3)(unsafe.Pointer(db1)).FmallocFailed != 0) {
-		goto __131
+		goto __132
 	}
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	goto __5
-__131:
+__132:
 	;
 	exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+40))
 
@@ -61751,22 +61763,22 @@ __131:
 	pTest = bp + 120
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = 0
-__130:
+__131:
 	;
 	i1 = 0
-__132:
+__133:
 	if !(i1 < nExpr-1) {
-		goto __134
+		goto __135
 	}
 	if !(pX != 0) {
-		goto __135
+		goto __136
 	}
 
 	(*Expr)(unsafe.Pointer(bp + 120)).FpRight = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
-	goto __136
-__135:
-	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+	goto __137
 __136:
+	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+__137:
 	;
 	nextCase = Xsqlite3VdbeMakeLabel(tls, pParse)
 
@@ -61775,21 +61787,21 @@ __136:
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(aListelem+uintptr(i1+1)*32)).FpExpr, target)
 	Xsqlite3VdbeGoto(tls, v, endLabel)
 	Xsqlite3VdbeResolveLabel(tls, v, nextCase)
-	goto __133
-__133:
-	i1 = i1 + 2
-	goto __132
 	goto __134
 __134:
+	i1 = i1 + 2
+	goto __133
+	goto __135
+__135:
 	;
 	if !(nExpr&1 != 0) {
-		goto __137
+		goto __138
 	}
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(pEList+8+uintptr(nExpr-1)*32)).FpExpr, target)
-	goto __138
-__137:
-	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+	goto __139
 __138:
+	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+__139:
 	;
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	setDoNotMergeFlagOnCopy(tls, v)
@@ -61799,27 +61811,27 @@ __138:
 __57:
 	;
 	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).FpTriggerTab) != 0) && !(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0)) {
-		goto __139
+		goto __140
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
 		ts+8082, 0)
 	return 0
-__139:
-	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
-		goto __140
-	}
-	Xsqlite3MayAbort(tls, pParse)
 __140:
 	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
 		goto __141
 	}
+	Xsqlite3MayAbort(tls, pParse)
+__141:
+	;
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+		goto __142
+	}
 	Xsqlite3VdbeAddOp4(tls,
 		v, OP_Halt, SQLITE_OK, OE_Ignore, 0, *(*uintptr)(unsafe.Pointer(pExpr + 8)), 0)
 
-	goto __142
-__141:
+	goto __143
+__142:
 	Xsqlite3HaltConstraint(tls, pParse,
 		func() int32 {
 			if (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab != 0 {
@@ -61828,7 +61840,7 @@ __141:
 			return SQLITE_ERROR
 		}(),
 		int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr), *(*uintptr)(unsafe.Pointer(pExpr + 8)), int8(0), uint8(0))
-__142:
+__143:
 	;
 	goto __5
 
@@ -64496,7 +64508,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 		return SQLITE_NOMEM
 	}
 	if Xsqlite3_strnicmp(tls, zSql, ts+10922, 7) != 0 {
-		return Xsqlite3CorruptError(tls, 113494)
+		return Xsqlite3CorruptError(tls, 113516)
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 {
 		if bTemp != 0 {
@@ -64513,7 +64525,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 	}
 	if rc == SQLITE_OK &&
 		((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
-		rc = Xsqlite3CorruptError(tls, 113505)
+		rc = Xsqlite3CorruptError(tls, 113527)
 	}
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
@@ -65434,7 +65446,7 @@ __1:
 		goto __2
 	}
 
-	rc = Xsqlite3CorruptError(tls, 114441)
+	rc = Xsqlite3CorruptError(tls, 114463)
 	goto drop_column_done
 __2:
 	;
@@ -69797,6 +69809,12 @@ __10:
 
 	pExpr = Xsqlite3PExpr(tls, pParse, TK_UPLUS, pExpr, uintptr(0))
 __11:
+	;
+	if !(pExpr != 0 && int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_RAISE) {
+		goto __12
+	}
+	(*Expr)(unsafe.Pointer(pExpr)).FaffExpr = (*Column)(unsafe.Pointer(pCol)).Faffinity
+__12:
 	;
 	Xsqlite3ColumnSetExpr(tls, pParse, pTab, pCol, pExpr)
 	pExpr = uintptr(0)
@@ -70962,7 +70980,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 {
 		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3286, 4) == 0 {
 			return 0
 		}
-		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7133, 10) == 0 {
+		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7122, 10) == 0 {
 			return 0
 		}
 		return 1
@@ -72208,7 +72226,7 @@ __81:
 		goto __101
 	}
 	Xsqlite3ErrorMsg(tls, pParse, ts+14140, 0)
-	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121835)
+	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121859)
 	goto exit_create_index
 __101:
 	;
@@ -74258,7 +74276,7 @@ __20:
 	goto __16
 __15:
 	wcf = U16(WHERE_ONEPASS_DESIRED | WHERE_DUPLICATES_OK)
-	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_VarSelect != 0) {
+	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_Subquery != 0) {
 		goto __23
 	}
 	bComplex = 1
@@ -80726,7 +80744,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca
 	if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) {
 		goto __1
 	}
-	return Xsqlite3MisuseError(tls, 131895)
+	return Xsqlite3MisuseError(tls, 131931)
 __1:
 	;
 	if !(zSql == uintptr(0)) {
@@ -82125,7 +82143,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh
 		} else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) {
 			zType = ts + 17513
 		} else {
-			zType = ts + 7528
+			zType = ts + 7517
 		}
 		Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17515,
 			libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin,
@@ -82286,6 +82304,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p
 	var zErr2 uintptr
 	var k3 int32
 	var pCheck uintptr
+	var jmp7 int32
 	var jmp6 int32
 	var iCol1 int32
 	var uniqOk int32
@@ -83604,7 +83623,7 @@ __215:
 		goto __217
 	}
 	pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7528, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7517, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
 	goto __216
 __216:
 	j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext
@@ -83620,7 +83639,7 @@ __218:
 	if !(i6 < int32(uint64(unsafe.Sizeof(aPragmaName))/uint64(unsafe.Sizeof(PragmaName{})))) {
 		goto __220
 	}
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7528, libc.VaList(bp+272, aPragmaName[i6].FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7517, libc.VaList(bp+272, aPragmaName[i6].FzName))
 	goto __219
 __219:
 	i6++
@@ -84425,80 +84444,94 @@ __344:
 	jmp4 = integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, jmp21)
 
+	if !((*Table)(unsafe.Pointer(pTab9)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) {
+		goto __345
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_IdxRowid, *(*int32)(unsafe.Pointer(bp + 616))+j4, 3)
+	jmp7 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 3, 0, r1+int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)-1)
+
+	Xsqlite3VdbeLoadString(tls, v, 3,
+		ts+17929)
+	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17965)
+	Xsqlite3VdbeGoto(tls, v, jmp5-1)
+	Xsqlite3VdbeJumpHere(tls, v, jmp7)
+__345:
+	;
 	label6 = 0
 	kk = 0
-__345:
+__346:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __347
-	}
-	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __348
 	}
-	goto __346
-__348:
-	;
-	if !(label6 == 0) {
+	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __349
 	}
-	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+	goto __347
 __349:
+	;
+	if !(label6 == 0) {
+		goto __350
+	}
+	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+__350:
 	;
 	Xsqlite3VdbeAddOp3(tls, v, OP_Column, *(*int32)(unsafe.Pointer(bp + 616))+j4, kk, 3)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Ne, 3, label6, r1+kk)
-	goto __346
-__346:
-	kk++
-	goto __345
 	goto __347
 __347:
+	kk++
+	goto __346
+	goto __348
+__348:
 	;
 	if !(label6 != 0) {
-		goto __350
+		goto __351
 	}
 	jmp6 = Xsqlite3VdbeAddOp0(tls, v, OP_Goto)
 	Xsqlite3VdbeResolveLabel(tls, v, label6)
 	Xsqlite3VdbeLoadString(tls, v, 3, ts+17903)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
-	Xsqlite3VdbeLoadString(tls, v, 4, ts+17929)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17976)
 	Xsqlite3VdbeGoto(tls, v, jmp5-1)
 	Xsqlite3VdbeJumpHere(tls, v, jmp6)
-__350:
+__351:
 	;
 	if !(int32((*Index)(unsafe.Pointer(pIdx5)).FonError) != OE_None) {
-		goto __351
+		goto __352
 	}
 	uniqOk = Xsqlite3VdbeMakeLabel(tls, pParse)
 	kk = 0
-__352:
+__353:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __354
+		goto __355
 	}
 	iCol1 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2)))
 
 	if !(iCol1 >= 0 && uint32(int32(*(*uint8)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*24 + 8))&0xf0>>4)) != 0) {
-		goto __355
+		goto __356
 	}
-	goto __353
-__355:
+	goto __354
+__356:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_IsNull, r1+kk, uniqOk)
 
-	goto __353
-__353:
-	kk++
-	goto __352
 	goto __354
 __354:
+	kk++
+	goto __353
+	goto __355
+__355:
 	;
 	jmp61 = Xsqlite3VdbeAddOp1(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 616))+j4)
 	Xsqlite3VdbeGoto(tls, v, uniqOk)
 	Xsqlite3VdbeJumpHere(tls, v, jmp61)
 	Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, *(*int32)(unsafe.Pointer(bp + 616))+j4, uniqOk, r1,
 		int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol))
-	Xsqlite3VdbeLoadString(tls, v, 3, ts+17956)
+	Xsqlite3VdbeLoadString(tls, v, 3, ts+18003)
 	Xsqlite3VdbeGoto(tls, v, jmp5)
 	Xsqlite3VdbeResolveLabel(tls, v, uniqOk)
-__351:
+__352:
 	;
 	Xsqlite3VdbeJumpHere(tls, v, jmp4)
 	Xsqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 632)))
@@ -84515,20 +84548,20 @@ __340:
 	Xsqlite3VdbeAddOp2(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 612)), loopTop)
 	Xsqlite3VdbeJumpHere(tls, v, loopTop-1)
 	if !!(isQuick != 0) {
-		goto __356
+		goto __357
 	}
-	Xsqlite3VdbeLoadString(tls, v, 2, ts+17983)
+	Xsqlite3VdbeLoadString(tls, v, 2, ts+18030)
 	j4 = 0
 	pIdx5 = (*Table)(unsafe.Pointer(pTab9)).FpIndex
-__357:
+__358:
 	if !(pIdx5 != 0) {
-		goto __359
-	}
-	if !(pPk1 == pIdx5) {
 		goto __360
 	}
-	goto __358
-__360:
+	if !(pPk1 == pIdx5) {
+		goto __361
+	}
+	goto __359
+__361:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_Count, *(*int32)(unsafe.Pointer(bp + 616))+j4, 3)
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 8+j4, 0, 3)
@@ -84537,21 +84570,21 @@ __360:
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 2, 3)
 	integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
-	goto __358
-__358:
-	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
-	j4++
-	goto __357
 	goto __359
 __359:
+	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
+	j4++
+	goto __358
+	goto __360
+__360:
 	;
 	if !(pPk1 != 0) {
-		goto __361
+		goto __362
 	}
 	Xsqlite3ReleaseTempRange(tls, pParse, r2, int32((*Index)(unsafe.Pointer(pPk1)).FnKeyCol))
-__361:
+__362:
 	;
-__356:
+__357:
 	;
 	goto __291
 __291:
@@ -84569,14 +84602,14 @@ __266:
 	;
 	aOp2 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(endCode))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&endCode)), iLn5)
 	if !(aOp2 != 0) {
-		goto __362
+		goto __363
 	}
 	(*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = 1 - *(*int32)(unsafe.Pointer(bp + 608))
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1)
-	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 18012
+	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 18059
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 5*24)).Fp4type = int8(-1)
 	*(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT)
-__362:
+__363:
 	;
 	Xsqlite3VdbeChangeP3(tls, v, 0, Xsqlite3VdbeCurrentAddr(tls, v)-2)
 
@@ -84584,27 +84617,27 @@ __362:
 
 __45:
 	if !!(zRight != 0) {
-		goto __363
+		goto __364
 	}
 	if !(Xsqlite3ReadSchema(tls, pParse) != 0) {
-		goto __365
-	}
-	goto pragma_out
-__365:
-	;
-	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
-	goto __364
-__363:
-	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
 		goto __366
 	}
+	goto pragma_out
+__366:
+	;
+	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
+	goto __365
+__364:
+	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
+		goto __367
+	}
 	pEnc = uintptr(unsafe.Pointer(&encnames1))
-__367:
+__368:
 	if !((*EncName)(unsafe.Pointer(pEnc)).FzName != 0) {
-		goto __369
+		goto __370
 	}
 	if !(0 == Xsqlite3StrICmp(tls, zRight, (*EncName)(unsafe.Pointer(pEnc)).FzName)) {
-		goto __370
+		goto __371
 	}
 	if (*EncName)(unsafe.Pointer(pEnc)).Fenc != 0 {
 		enc = (*EncName)(unsafe.Pointer(pEnc)).Fenc
@@ -84618,25 +84651,25 @@ __367:
 	}
 	(*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema)).Fenc = enc
 	Xsqlite3SetTextEncoding(tls, db, enc)
-	goto __369
-__370:
-	;
-	goto __368
-__368:
-	pEnc += 16
-	goto __367
-	goto __369
-__369:
-	;
-	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
-		goto __371
-	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18015, libc.VaList(bp+456, zRight))
+	goto __370
 __371:
 	;
-__366:
+	goto __369
+__369:
+	pEnc += 16
+	goto __368
+	goto __370
+__370:
 	;
-__364:
+	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
+		goto __372
+	}
+	Xsqlite3ErrorMsg(tls, pParse, ts+18062, libc.VaList(bp+456, zRight))
+__372:
+	;
+__367:
+	;
+__365:
 	;
 	goto __15
 
@@ -84644,15 +84677,15 @@ __46:
 	iCookie = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiArg)
 	Xsqlite3VdbeUsesBtree(tls, v, iDb)
 	if !(zRight != 0 && int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_ReadOnly == 0) {
-		goto __372
+		goto __373
 	}
 
 	aOp3 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(setCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&setCookie)), 0)
 	if !(0 != 0) {
-		goto __374
+		goto __375
 	}
 	goto __15
-__374:
+__375:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp3)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp1 = iDb
@@ -84660,41 +84693,41 @@ __374:
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp3 = Xsqlite3Atoi(tls, zRight)
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp5 = U16(1)
 	if !(iCookie == BTREE_SCHEMA_VERSION && (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0)) {
-		goto __375
+		goto __376
 	}
 
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fopcode = U8(OP_Noop)
-__375:
+__376:
 	;
-	goto __373
-__372:
+	goto __374
+__373:
 	;
 	aOp4 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(readCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&readCookie)), 0)
 	if !(0 != 0) {
-		goto __376
+		goto __377
 	}
 	goto __15
-__376:
+__377:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp4)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp3 = iCookie
 	Xsqlite3VdbeReusable(tls, v)
-__373:
+__374:
 	;
 	goto __15
 
 __47:
 	i10 = 0
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 1
-__377:
+__378:
 	if !(libc.AssignUintptr(&zOpt, Xsqlite3_compileoption_get(tls, libc.PostIncInt32(&i10, 1))) != uintptr(0)) {
-		goto __378
+		goto __379
 	}
 	Xsqlite3VdbeLoadString(tls, v, 1, zOpt)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1)
-	goto __377
-__378:
+	goto __378
+__379:
 	;
 	Xsqlite3VdbeReusable(tls, v)
 
@@ -84709,31 +84742,31 @@ __48:
 	}()
 	eMode2 = SQLITE_CHECKPOINT_PASSIVE
 	if !(zRight != 0) {
-		goto __379
-	}
-	if !(Xsqlite3StrICmp(tls, zRight, ts+17345) == 0) {
 		goto __380
 	}
+	if !(Xsqlite3StrICmp(tls, zRight, ts+17345) == 0) {
+		goto __381
+	}
 	eMode2 = SQLITE_CHECKPOINT_FULL
-	goto __381
-__380:
-	if !(Xsqlite3StrICmp(tls, zRight, ts+18040) == 0) {
-		goto __382
+	goto __382
+__381:
+	if !(Xsqlite3StrICmp(tls, zRight, ts+18087) == 0) {
+		goto __383
 	}
 	eMode2 = SQLITE_CHECKPOINT_RESTART
-	goto __383
-__382:
+	goto __384
+__383:
 	if !(Xsqlite3StrICmp(tls, zRight, ts+17498) == 0) {
-		goto __384
+		goto __385
 	}
 	eMode2 = SQLITE_CHECKPOINT_TRUNCATE
+__385:
+	;
 __384:
 	;
-__383:
+__382:
 	;
-__381:
-	;
-__379:
+__380:
 	;
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 3
 	Xsqlite3VdbeAddOp3(tls, v, OP_Checkpoint, iBt, eMode2, 1)
@@ -84743,10 +84776,10 @@ __379:
 
 __49:
 	if !(zRight != 0) {
-		goto __385
+		goto __386
 	}
 	Xsqlite3_wal_autocheckpoint(tls, db, Xsqlite3Atoi(tls, zRight))
-__385:
+__386:
 	;
 	returnSingleInt(tls, v,
 		func() int64 {
@@ -84766,19 +84799,19 @@ __50:
 
 __51:
 	if !(zRight != 0) {
-		goto __386
+		goto __387
 	}
 	opMask = U32(Xsqlite3Atoi(tls, zRight))
 	if !(opMask&U32(0x02) == U32(0)) {
-		goto __388
+		goto __389
 	}
 	goto __15
-__388:
+__389:
 	;
-	goto __387
-__386:
-	opMask = U32(0xfffe)
+	goto __388
 __387:
+	opMask = U32(0xfffe)
+__388:
 	;
 	iTabCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1)
 	iDbLast = func() int32 {
@@ -84787,86 +84820,86 @@ __387:
 		}
 		return (*Sqlite3)(unsafe.Pointer(db)).FnDb - 1
 	}()
-__389:
+__390:
 	if !(iDb <= iDbLast) {
-		goto __391
-	}
-	if !(iDb == 1) {
 		goto __392
 	}
-	goto __390
-__392:
+	if !(iDb == 1) {
+		goto __393
+	}
+	goto __391
+__393:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
 	pSchema = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema
 	k4 = (*Hash)(unsafe.Pointer(pSchema + 8)).Ffirst
-__393:
+__394:
 	if !(k4 != 0) {
-		goto __395
+		goto __396
 	}
 	pTab10 = (*HashElem)(unsafe.Pointer(k4)).Fdata
 
 	if !((*Table)(unsafe.Pointer(pTab10)).FtabFlags&U32(TF_StatsUsed) == U32(0)) {
-		goto __396
+		goto __397
 	}
-	goto __394
-__396:
+	goto __395
+__397:
 	;
 	szThreshold = LogEst(int32((*Table)(unsafe.Pointer(pTab10)).FnRowLogEst) + 46)
 	pIdx6 = (*Table)(unsafe.Pointer(pTab10)).FpIndex
-__397:
+__398:
 	if !(pIdx6 != 0) {
-		goto __399
-	}
-	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x100>>8) != 0) {
 		goto __400
 	}
+	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x100>>8) != 0) {
+		goto __401
+	}
 	szThreshold = int16(0)
-	goto __399
-__400:
+	goto __400
+__401:
 	;
-	goto __398
-__398:
-	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
-	goto __397
 	goto __399
 __399:
+	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
+	goto __398
+	goto __400
+__400:
 	;
 	if !(szThreshold != 0) {
-		goto __401
+		goto __402
 	}
 	Xsqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab10, OP_OpenRead)
 	Xsqlite3VdbeAddOp3(tls, v, OP_IfSmaller, iTabCur,
 		int32(U32(Xsqlite3VdbeCurrentAddr(tls, v)+2)+opMask&U32(1)), int32(szThreshold))
 
-__401:
+__402:
 	;
-	zSubSql = Xsqlite3MPrintf(tls, db, ts+18048,
+	zSubSql = Xsqlite3MPrintf(tls, db, ts+18095,
 		libc.VaList(bp+464, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab10)).FzName))
 	if !(opMask&U32(0x01) != 0) {
-		goto __402
+		goto __403
 	}
 	r11 = Xsqlite3GetTempReg(tls, pParse)
 	Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, r11, 0, zSubSql, -6)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, r11, 1)
-	goto __403
-__402:
-	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+	goto __404
 __403:
+	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+__404:
 	;
-	goto __394
-__394:
-	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
-	goto __393
 	goto __395
 __395:
+	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
+	goto __394
+	goto __396
+__396:
 	;
-	goto __390
-__390:
-	iDb++
-	goto __389
 	goto __391
 __391:
+	iDb++
+	goto __390
+	goto __392
+__392:
 	;
 	Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
 	goto __15
@@ -84874,36 +84907,36 @@ __391:
 __52:
 	;
 	if !(zRight != 0) {
-		goto __404
+		goto __405
 	}
 	Xsqlite3_busy_timeout(tls, db, Xsqlite3Atoi(tls, zRight))
-__404:
+__405:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout))
 	goto __15
 
 __53:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+640) == SQLITE_OK) {
-		goto __405
+		goto __406
 	}
 	Xsqlite3_soft_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 640)))
-__405:
+__406:
 	;
 	returnSingleInt(tls, v, Xsqlite3_soft_heap_limit64(tls, int64(-1)))
 	goto __15
 
 __54:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+648) == SQLITE_OK) {
-		goto __406
+		goto __407
 	}
 	iPrior = Xsqlite3_hard_heap_limit64(tls, int64(-1))
 	if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 648)) > int64(0) && (iPrior == int64(0) || iPrior > *(*Sqlite3_int64)(unsafe.Pointer(bp + 648)))) {
-		goto __407
+		goto __408
 	}
 	Xsqlite3_hard_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 648)))
-__407:
+__408:
 	;
-__406:
+__407:
 	;
 	returnSingleInt(tls, v, Xsqlite3_hard_heap_limit64(tls, int64(-1)))
 	goto __15
@@ -84912,10 +84945,10 @@ __55:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+656) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 656)) >= int64(0)) {
-		goto __408
+		goto __409
 	}
 	Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 656))&int64(0x7fffffff)))
-__408:
+__409:
 	;
 	returnSingleInt(tls, v, int64(Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, -1)))
 	goto __15
@@ -84924,10 +84957,10 @@ __56:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+664) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 664)) >= int64(0)) {
-		goto __409
+		goto __410
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 664)) & int64(0x7fffffff))
-__409:
+__410:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit))
 	goto __15
@@ -84935,10 +84968,10 @@ __409:
 __15:
 	;
 	if !(int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_NoColumns1 != 0 && zRight != 0) {
-		goto __410
+		goto __411
 	}
 
-__410:
+__411:
 	;
 pragma_out:
 	Xsqlite3DbFree(tls, db, zLeft)
@@ -84990,14 +85023,14 @@ var endCode = [7]VdbeOpList{
 	{Fopcode: U8(OP_Goto), Fp2: int8(3)},
 }
 var encnames1 = [9]EncName{
-	{FzName: ts + 18066, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18071, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18077, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18086, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18095, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18103, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18111},
-	{FzName: ts + 18118},
+	{FzName: ts + 18113, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18118, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18124, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18133, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18142, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18150, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18158},
+	{FzName: ts + 18165},
 	{},
 }
 var setCookie = [2]VdbeOpList{
@@ -85049,7 +85082,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	_ = argc
 	_ = argv
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), bp+64, int32(unsafe.Sizeof([200]uint8{})), 0)
-	Xsqlite3_str_appendall(tls, bp+32, ts+18124)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18171)
 	i = 0
 	j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName)
 __1:
@@ -85057,7 +85090,7 @@ __1:
 		goto __3
 	}
 	{
-		Xsqlite3_str_appendf(tls, bp+32, ts+18139, libc.VaList(bp, int32(cSep), pragCName[j]))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18186, libc.VaList(bp, int32(cSep), pragCName[j]))
 		cSep = uint8(',')
 
 	}
@@ -85070,16 +85103,16 @@ __2:
 __3:
 	;
 	if i == 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18146, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18193, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
 		i++
 	}
 	j = 0
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_Result1 != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18152)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18199)
 		j++
 	}
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(PragFlg_SchemaOpt|PragFlg_SchemaReq) != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18164)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18211)
 		j++
 	}
 	Xsqlite3_str_append(tls, bp+32, ts+4957, 1)
@@ -85262,13 +85295,13 @@ __2:
 __3:
 	;
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4)))
-	Xsqlite3_str_appendall(tls, bp+32, ts+18179)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18226)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18187, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18234, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
 	}
 	Xsqlite3_str_appendall(tls, bp+32, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18191, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18238, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
 	}
 	zSql = Xsqlite3StrAccumFinish(tls, bp+32)
 	if zSql == uintptr(0) {
@@ -85345,12 +85378,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 	} else if *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) != uintptr(0) {
 	} else if (*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask) != 0 {
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db,
-			ts+18195, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
+			ts+18242, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
 				azAlterType[(*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask)-U32(1)],
 				zExtra))
 		(*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR
 	} else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137196)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137249)
 	} else {
 		var z uintptr
 		var zObj uintptr
@@ -85359,19 +85392,19 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 		} else {
 			zObj = ts + 5008
 		}
-		z = Xsqlite3MPrintf(tls, db, ts+18223, libc.VaList(bp+32, zObj))
+		z = Xsqlite3MPrintf(tls, db, ts+18270, libc.VaList(bp+32, zObj))
 		if zExtra != 0 && *(*uint8)(unsafe.Pointer(zExtra)) != 0 {
-			z = Xsqlite3MPrintf(tls, db, ts+18254, libc.VaList(bp+40, z, zExtra))
+			z = Xsqlite3MPrintf(tls, db, ts+18301, libc.VaList(bp+40, z, zExtra))
 		}
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137203)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137256)
 	}
 }
 
 var azAlterType = [3]uintptr{
-	ts + 18262,
-	ts + 18269,
-	ts + 18281,
+	ts + 18309,
+	ts + 18316,
+	ts + 18328,
 }
 
 // Check to see if any sibling index (another index on the same table)
@@ -85463,7 +85496,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr
 		var pIndex uintptr
 		pIndex = Xsqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName)
 		if pIndex == uintptr(0) {
-			corruptSchema(tls, pData, argv, ts+18292)
+			corruptSchema(tls, pData, argv, ts+18339)
 		} else if Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2) ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage ||
@@ -85511,7 +85544,7 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl
 	}())
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 16 + 1*8))
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 3*8)) = ts + 7938
-	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18305
+	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18352
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 5*8)) = uintptr(0)
 	(*InitData)(unsafe.Pointer(bp + 64)).Fdb = db
 	(*InitData)(unsafe.Pointer(bp + 64)).FiDb = iDb
@@ -85640,7 +85673,7 @@ __18:
 	if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) {
 		goto __19
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+18377)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+18424)
 	rc = SQLITE_ERROR
 	goto initone_error_out
 __19:
@@ -85654,7 +85687,7 @@ __20:
 	(*InitData)(unsafe.Pointer(bp + 64)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt)
 
 	zSql = Xsqlite3MPrintf(tls, db,
-		ts+18401,
+		ts+18448,
 		libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zSchemaTabName))
 
 	xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth
@@ -85986,7 +86019,7 @@ __4:
 		goto __8
 	}
 	zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName
-	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18435, libc.VaList(bp, zDb))
+	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18482, libc.VaList(bp, zDb))
 
 	goto end_prepare
 __8:
@@ -86016,7 +86049,7 @@ __9:
 	if !(nBytes > mxLen) {
 		goto __12
 	}
-	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18465, 0)
+	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18512, 0)
 	rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG)
 	goto end_prepare
 __12:
@@ -86112,7 +86145,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 137995)
+		return Xsqlite3MisuseError(tls, 138048)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	Xsqlite3BtreeEnterAll(tls, db)
@@ -86211,7 +86244,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 138143)
+		return Xsqlite3MisuseError(tls, 138196)
 	}
 	if nBytes >= 0 {
 		var sz int32
@@ -86543,13 +86576,13 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC
 			zSp2++
 		}
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+18484, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
+			ts+18531, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
 		jointype = JT_INNER
 	}
 	return jointype
 }
 
-var zKeyText = *(*[34]uint8)(unsafe.Pointer(ts + 18514))
+var zKeyText = *(*[34]uint8)(unsafe.Pointer(ts + 18561))
 var aKeyword = [7]struct {
 	Fi     U8
 	FnChar U8
@@ -86724,7 +86757,7 @@ __1:
 			var pUsing uintptr = uintptr(0)
 			if uint32(int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x20>>5)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+18548, libc.VaList(bp, 0))
+					ts+18595, libc.VaList(bp, 0))
 				return 1
 			}
 			for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ {
@@ -86769,7 +86802,7 @@ __1:
 					tableAndColumnIndex(tls, pSrc, 0, i, zName, bp+24, bp+28,
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x8>>3)) == 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+18598, libc.VaList(bp+8, zName))
+						ts+18645, libc.VaList(bp+8, zName))
 					return 1
 				}
 				pE1 = Xsqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 28)))
@@ -86780,7 +86813,7 @@ __1:
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x8>>3)) != 0 {
 						if int32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 60 + 4))&0x20>>5) == 0 ||
 							Xsqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 72)), zName) < 0 {
-							Xsqlite3ErrorMsg(tls, pParse, ts+18662,
+							Xsqlite3ErrorMsg(tls, pParse, ts+18709,
 								libc.VaList(bp+16, zName))
 							break
 						}
@@ -87408,16 +87441,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr {
 	var z uintptr
 	switch id {
 	case TK_ALL:
-		z = ts + 18699
+		z = ts + 18746
 		break
 	case TK_INTERSECT:
-		z = ts + 18709
+		z = ts + 18756
 		break
 	case TK_EXCEPT:
-		z = ts + 18719
+		z = ts + 18766
 		break
 	default:
-		z = ts + 18726
+		z = ts + 18773
 		break
 	}
 	return z
@@ -87427,7 +87460,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18732, libc.VaList(bp, zUsage))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18779, libc.VaList(bp, zUsage))
 }
 
 func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) {
@@ -87453,9 +87486,9 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n
 	var nRefKey int32 = 0
 	var aOutEx uintptr = (*Select)(unsafe.Pointer(p)).FpEList + 8
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18755, libc.VaList(bp, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18802, libc.VaList(bp, func() uintptr {
 		if (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 {
-			return ts + 18786
+			return ts + 18833
 		}
 		return ts + 1554
 	}()))
@@ -87799,7 +87832,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr)
 		} else {
 			var z uintptr = (*ExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32)).FzEName
 			if z == uintptr(0) {
-				z = Xsqlite3MPrintf(tls, db, ts+18801, libc.VaList(bp+16, i+1))
+				z = Xsqlite3MPrintf(tls, db, ts+18848, libc.VaList(bp+16, i+1))
 			} else {
 				z = Xsqlite3DbStrDup(tls, db, z)
 			}
@@ -87899,7 +87932,7 @@ __1:
 		if zName != 0 && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) {
 			zName = Xsqlite3DbStrDup(tls, db, zName)
 		} else {
-			zName = Xsqlite3MPrintf(tls, db, ts+18801, libc.VaList(bp, i+1))
+			zName = Xsqlite3MPrintf(tls, db, ts+18848, libc.VaList(bp, i+1))
 		}
 
 		*(*U32)(unsafe.Pointer(bp + 56)) = U32(0)
@@ -87915,7 +87948,7 @@ __1:
 					nName = j
 				}
 			}
-			zName = Xsqlite3MPrintf(tls, db, ts+18810, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
+			zName = Xsqlite3MPrintf(tls, db, ts+18857, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
 			Xsqlite3ProgressCheck(tls, pParse)
 			if *(*U32)(unsafe.Pointer(bp + 56)) > U32(3) {
 				Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56)
@@ -87998,8 +88031,6 @@ __1:
 		(*Column)(unsafe.Pointer(pCol)).Faffinity = Xsqlite3ExprAffinity(tls, p)
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) <= SQLITE_AFF_NONE {
 			(*Column)(unsafe.Pointer(pCol)).Faffinity = aff
-		} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
-			(*Column)(unsafe.Pointer(pCol)).Faffinity = uint8(SQLITE_AFF_FLEXNUM)
 		}
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_TEXT && (*Select)(unsafe.Pointer(pSelect)).FpNext != 0 {
 			var m int32 = 0
@@ -88014,12 +88045,15 @@ __1:
 			} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && m&0x02 != 0 {
 				(*Column)(unsafe.Pointer(pCol)).Faffinity = uint8(SQLITE_AFF_BLOB)
 			}
+			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
+				(*Column)(unsafe.Pointer(pCol)).Faffinity = uint8(SQLITE_AFF_FLEXNUM)
+			}
 		}
 		zType = columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0))
 		if zType == uintptr(0) || int32((*Column)(unsafe.Pointer(pCol)).Faffinity) != int32(Xsqlite3AffinityType(tls, zType, uintptr(0))) {
 			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_NUMERIC ||
 				int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_FLEXNUM {
-				zType = ts + 18818
+				zType = ts + 18865
 			} else {
 				zType = uintptr(0)
 				for j = 1; j < SQLITE_N_STDTYPE; j++ {
@@ -88235,7 +88269,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest
 	if !((*Select)(unsafe.Pointer(p)).FpWin != 0) {
 		goto __1
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18822, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18869, 0)
 	return
 __1:
 	;
@@ -88326,7 +88360,7 @@ __12:
 	if !((*Select)(unsafe.Pointer(pFirstRec)).FselFlags&U32(SF_Aggregate) != 0) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18871, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18918, 0)
 	goto end_of_recursive_query
 __15:
 	;
@@ -88346,7 +88380,7 @@ __14:
 	;
 	pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18913, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18960, 0)
 	rc = Xsqlite3Select(tls, pParse, pSetup, bp)
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = p
 	if !(rc != 0) {
@@ -88383,7 +88417,7 @@ __20:
 	Xsqlite3VdbeResolveLabel(tls, v, addrCont)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18919, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18966, 0)
 	Xsqlite3Select(tls, pParse, p, bp)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup
@@ -88417,11 +88451,11 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 		p = (*Select)(unsafe.Pointer(p)).FpPrior
 		nRow = nRow + bShowAll
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18934, libc.VaList(bp, nRow, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18981, libc.VaList(bp, nRow, func() uintptr {
 		if nRow == 1 {
 			return ts + 1554
 		}
-		return ts + 18957
+		return ts + 19004
 	}()))
 	for p != 0 {
 		selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1)
@@ -88522,8 +88556,8 @@ __6:
 	if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) {
 		goto __8
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18959, 0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18974, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19006, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19021, 0)
 __8:
 	;
 	switch int32((*Select)(unsafe.Pointer(p)).Fop) {
@@ -88570,7 +88604,7 @@ __16:
 	;
 __15:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18699, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18746, 0)
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+16)
 
@@ -88637,7 +88671,7 @@ __23:
 	pLimit = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 64)).FeDest = op
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18993, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19040, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+64)
 
@@ -88699,7 +88733,7 @@ __26:
 	pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 104)).FiSDParm = tab2
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18993, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19040, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+104)
 
@@ -88852,10 +88886,10 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr)
 	defer tls.Free(8)
 
 	if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Values) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19014, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+19061, 0)
 	} else {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+19060,
+			ts+19107,
 			libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 	}
 }
@@ -89109,8 +89143,8 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	(*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0)
 
 	(*Select)(unsafe.Pointer(pPrior)).FpOrderBy = Xsqlite3ExprListDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7234)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7234)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7223)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7223)
 
 	computeLimitRegisters(tls, pParse, p, labelEnd)
 	if (*Select)(unsafe.Pointer(p)).FiLimit != 0 && op == TK_ALL {
@@ -89137,13 +89171,13 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	Xsqlite3SelectDestInit(tls, bp+8, SRT_Coroutine, regAddrA)
 	Xsqlite3SelectDestInit(tls, bp+48, SRT_Coroutine, regAddrB)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19142, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19189, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	addrSelectA = Xsqlite3VdbeCurrentAddr(tls, v) + 1
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA)
 
 	(*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19153, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19200, 0)
 	Xsqlite3Select(tls, pParse, pPrior, bp+8)
 	Xsqlite3VdbeEndCoroutine(tls, v, regAddrA)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
@@ -89155,7 +89189,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset
 	(*Select)(unsafe.Pointer(p)).FiLimit = regLimitB
 	(*Select)(unsafe.Pointer(p)).FiOffset = 0
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19158, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19205, 0)
 	Xsqlite3Select(tls, pParse, p, bp+48)
 	(*Select)(unsafe.Pointer(p)).FiLimit = savedLimit
 	(*Select)(unsafe.Pointer(p)).FiOffset = savedOffset
@@ -89343,7 +89377,8 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr {
 				Xsqlite3VectorErrorMsg(tls, (*SubstContext)(unsafe.Pointer(pSubst)).FpParse, pCopy)
 			} else {
 				var db uintptr = (*Parse)(unsafe.Pointer((*SubstContext)(unsafe.Pointer(pSubst)).FpParse)).Fdb
-				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 && int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN {
+				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 &&
+					(int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN || (*Expr)(unsafe.Pointer(pCopy)).FiTable != (*SubstContext)(unsafe.Pointer(pSubst)).FiNewTable) {
 					libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(Expr{})))
 					(*Expr)(unsafe.Pointer(bp)).Fop = U8(TK_IF_NULL_ROW)
 					(*Expr)(unsafe.Pointer(bp)).FpLeft = pCopy
@@ -90242,7 +90277,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	for pIdx = (*Table)(unsafe.Pointer(pTab)).FpIndex; pIdx != 0 && Xsqlite3StrICmp(tls, (*Index)(unsafe.Pointer(pIdx)).FzName, zIndexedBy) != 0; pIdx = (*Index)(unsafe.Pointer(pIdx)).FpNext {
 	}
 	if !(pIdx != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19164, libc.VaList(bp, zIndexedBy, 0))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19211, libc.VaList(bp, zIndexedBy, 0))
 		(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 		return SQLITE_ERROR
 	}
@@ -90325,7 +90360,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 {
 	defer tls.Free(8)
 
 	if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2000>>13)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19182, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19229, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
 		return 1
 	}
 	return 0
@@ -90454,7 +90489,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		*(*U32)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= U32(SF_CopyCte)
 
 		if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4000>>14)) != 0 {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19205, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
+			Xsqlite3ErrorMsg(tls, pParse, ts+19252, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
 			return 2
 		}
 		libc.SetBitFieldPtr16Uint32(pFrom+60+4, uint32(1), 7, 0x80)
@@ -90477,7 +90512,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 					libc.SetBitFieldPtr16Uint32(pItem+60+4, uint32(1), 9, 0x200)
 					if (*Select)(unsafe.Pointer(pRecTerm)).FselFlags&U32(SF_Recursive) != 0 {
 						Xsqlite3ErrorMsg(tls, pParse,
-							ts+19225, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
+							ts+19272, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
 						return 2
 					}
 					*(*U32)(unsafe.Pointer(pRecTerm + 4)) |= U32(SF_Recursive)
@@ -90493,7 +90528,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 			pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior
 		}
 
-		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19268
+		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19315
 		pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith
 		(*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 48))
 		if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
@@ -90519,7 +90554,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		pEList = (*Select)(unsafe.Pointer(pLeft)).FpEList
 		if (*Cte)(unsafe.Pointer(pCte)).FpCols != 0 {
 			if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr != (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19291,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19338,
 					libc.VaList(bp+24, (*Cte)(unsafe.Pointer(pCte)).FzName, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr))
 				(*Parse)(unsafe.Pointer(pParse)).FpWith = pSavedWith
 				return 2
@@ -90530,9 +90565,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		Xsqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8)
 		if bMayRecursive != 0 {
 			if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19329
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19376
 			} else {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19363
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19410
 			}
 			Xsqlite3WalkSelect(tls, pWalker, pSel)
 		}
@@ -90579,7 +90614,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	if (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 {
 		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3DbStrDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias)
 	} else {
-		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19401, libc.VaList(bp, pFrom))
+		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19448, libc.VaList(bp, pFrom))
 	}
 	for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 {
 		pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior
@@ -90691,7 +90726,7 @@ __1:
 				return WRC_Abort
 			}
 			if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19405,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19452,
 					libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 				(*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0)
 				return WRC_Abort
@@ -90710,7 +90745,7 @@ __1:
 				if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW {
 					if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) &&
 						(*Table)(unsafe.Pointer(pTab)).FpSchema != (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19444,
+						Xsqlite3ErrorMsg(tls, pParse, ts+19491,
 							libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName))
 					}
 					(*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, *(*uintptr)(unsafe.Pointer(pTab + 64)), 0)
@@ -90834,7 +90869,7 @@ __3:
 							if pNew != 0 {
 								var pX uintptr = pNew + 8 + uintptr((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1)*32
 
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19475, libc.VaList(bp+24, zUName))
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19522, libc.VaList(bp+24, zUName))
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(ENAME_TAB), 14, 0xc000)
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(1), 8, 0x100)
 							}
@@ -90899,7 +90934,7 @@ __3:
 								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(pNestedFrom+8+uintptr(j)*32)).FzEName)
 
 							} else {
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19480,
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19527,
 									libc.VaList(bp+32, zSchemaName, zTabName, zName))
 
 							}
@@ -90930,9 +90965,9 @@ __3:
 				;
 				if !(tableSeen != 0) {
 					if zTName != 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19489, libc.VaList(bp+72, zTName))
+						Xsqlite3ErrorMsg(tls, pParse, ts+19536, libc.VaList(bp+72, zTName))
 					} else {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19507, 0)
+						Xsqlite3ErrorMsg(tls, pParse, ts+19554, 0)
 					}
 				}
 			}
@@ -90942,7 +90977,7 @@ __3:
 	}
 	if (*Select)(unsafe.Pointer(p)).FpEList != 0 {
 		if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19527, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+19574, 0)
 			return WRC_Abort
 		}
 		if elistFlags&U32(EP_HasFunc|EP_Subquery) != U32(0) {
@@ -91080,7 +91115,7 @@ func optimizeAggregateUseOfIndexedExpr(tls *libc.TLS, pParse uintptr, pSelect ui
 	(*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn = (*AggInfo)(unsafe.Pointer(pAggInfo)).FnAccumulator
 	if int32((*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn) > 0 {
 		if (*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn == 0 {
-			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(0)
+			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpGroupBy)).FnExpr)
 		} else {
 			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(int32((*AggInfo_col)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaCol+uintptr((*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn-1)*24)).FiSorterColumn) + 1)
 		}
@@ -91164,13 +91199,13 @@ __1:
 
 			if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != 1 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+19558, 0)
+					ts+19605, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1
 			} else {
 				var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral,
 					(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -8)
-				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19609, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
+				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19656, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
 			}
 		}
 
@@ -91359,11 +91394,11 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt
 
 	if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 {
 		var bCover int32 = libc.Bool32(pIdx != uintptr(0) && ((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0) || !(int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0xc000>>14) == SQLITE_IDXTYPE_PRIMARYKEY)))
-		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19642,
+		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19689,
 			libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName,
 				func() uintptr {
 					if bCover != 0 {
-						return ts + 19654
+						return ts + 19701
 					}
 					return ts + 1554
 				}(),
@@ -91691,7 +91726,7 @@ __5:
 		goto __7
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+19677,
+		ts+19724,
 		libc.VaList(bp, func() uintptr {
 			if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 {
 				return (*SrcItem)(unsafe.Pointer(p0)).FzAlias
@@ -91752,7 +91787,7 @@ __14:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19731,
+	Xsqlite3ErrorMsg(tls, pParse, ts+19778,
 		libc.VaList(bp+8, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr))
 	goto select_end
 __15:
@@ -91894,7 +91929,7 @@ __33:
 
 	(*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19771, libc.VaList(bp+32, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19818, libc.VaList(bp+32, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	libc.SetBitFieldPtr16Uint32(pItem1+60+4, uint32(1), 10, 0x400)
@@ -91953,7 +91988,7 @@ __43:
 	;
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19786, libc.VaList(bp+40, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19833, libc.VaList(bp+40, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	if !(onceAddr != 0) {
@@ -92424,9 +92459,9 @@ __101:
 	explainTempTable(tls, pParse,
 		func() uintptr {
 			if (*DistinctCtx)(unsafe.Pointer(bp+136)).FisTnct != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct) == U32(0) {
-				return ts + 19802
+				return ts + 19849
 			}
-			return ts + 19811
+			return ts + 19858
 		}())
 
 	groupBySort = 1
@@ -92777,7 +92812,7 @@ __65:
 	if !(int32((*DistinctCtx)(unsafe.Pointer(bp+136)).FeTnctType) == WHERE_DISTINCT_UNORDERED) {
 		goto __146
 	}
-	explainTempTable(tls, pParse, ts+19802)
+	explainTempTable(tls, pParse, ts+19849)
 __146:
 	;
 	if !((*SortCtx)(unsafe.Pointer(bp+48)).FpOrderBy != 0) {
@@ -92882,7 +92917,7 @@ __5:
 	}
 	Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg)
 	(*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+19820, 0)
+		ts+19867, 0)
 	(*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 	return 1
 __11:
@@ -93115,7 +93150,7 @@ func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2
 	if !((*Token)(unsafe.Pointer(pName2)).Fn > uint32(0)) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19885, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19932, 0)
 	goto trigger_cleanup
 __3:
 	;
@@ -93159,7 +93194,7 @@ __7:
 	goto trigger_cleanup
 __8:
 	;
-	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+19931, *(*uintptr)(unsafe.Pointer(bp + 32)))
+	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+19978, *(*uintptr)(unsafe.Pointer(bp + 32)))
 	if !(Xsqlite3FixSrcList(tls, bp+40, pTableName) != 0) {
 		goto __9
 	}
@@ -93177,7 +93212,7 @@ __10:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB) {
 		goto __11
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19939, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19986, 0)
 	goto trigger_orphan_error
 __11:
 	;
@@ -93189,7 +93224,7 @@ __11:
 	goto trigger_cleanup
 __12:
 	;
-	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19931, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
+	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19978, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
 		goto __13
 	}
 	goto trigger_cleanup
@@ -93204,11 +93239,12 @@ __13:
 	if !!(noErr != 0) {
 		goto __16
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19980, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20027, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
 	goto __17
 __16:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
+
 __17:
 	;
 	goto trigger_cleanup
@@ -93219,19 +93255,19 @@ __14:
 	if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+6381, 7) == 0) {
 		goto __18
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20006, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20053, 0)
 	goto trigger_cleanup
 __18:
 	;
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW && tr_tm != TK_INSTEAD) {
 		goto __19
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20044,
+	Xsqlite3ErrorMsg(tls, pParse, ts+20091,
 		libc.VaList(bp+8, func() uintptr {
 			if tr_tm == TK_BEFORE {
-				return ts + 20081
+				return ts + 20128
 			}
-			return ts + 20088
+			return ts + 20135
 		}(), pTableName+8))
 	goto trigger_orphan_error
 __19:
@@ -93240,7 +93276,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20094, libc.VaList(bp+24, pTableName+8))
+		ts+20141, libc.VaList(bp+24, pTableName+8))
 	goto trigger_orphan_error
 __20:
 	;
@@ -93389,7 +93425,7 @@ __2:
 __3:
 	;
 	Xsqlite3TokenInit(tls, bp+56, (*Trigger)(unsafe.Pointer(pTrig)).FzName)
-	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+19931, bp+56)
+	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+19978, bp+56)
 	if !(Xsqlite3FixTriggerStep(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 ||
 		Xsqlite3FixExpr(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0) {
 		goto __4
@@ -93422,7 +93458,7 @@ __9:
 		goto __12
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20140,
+		ts+20187,
 		libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrig)).FzName, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget))
 	goto triggerfinish_cleanup
 __12:
@@ -93447,13 +93483,13 @@ __13:
 	z = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pAll)).Fz, uint64((*Token)(unsafe.Pointer(pAll)).Fn))
 
 	Xsqlite3NestedParse(tls, pParse,
-		ts+20188,
+		ts+20235,
 		libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName,
 			(*Trigger)(unsafe.Pointer(pTrig)).Ftable, z))
 	Xsqlite3DbFree(tls, db, z)
 	Xsqlite3ChangeCookie(tls, pParse, iDb)
 	Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb,
-		Xsqlite3MPrintf(tls, db, ts+20263, libc.VaList(bp+48, zName)), uint16(0))
+		Xsqlite3MPrintf(tls, db, ts+20310, libc.VaList(bp+48, zName)), uint16(0))
 __7:
 	;
 __6:
@@ -93709,7 +93745,7 @@ __5:
 	if !!(noErr != 0) {
 		goto __9
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20292, libc.VaList(bp, pName+8))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20339, libc.VaList(bp, pName+8))
 	goto __10
 __9:
 	Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb)
@@ -93762,7 +93798,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) {
 
 	if libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse)) != uintptr(0) {
 		Xsqlite3NestedParse(tls, pParse,
-			ts+20312,
+			ts+20359,
 			libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Trigger)(unsafe.Pointer(pTrigger)).FzName))
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 		Xsqlite3VdbeAddOp4(tls, v, OP_DropTrigger, iDb, 0, 0, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, 0)
@@ -93876,12 +93912,12 @@ __9:
 		goto __15
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20374,
+		ts+20421,
 		libc.VaList(bp, func() uintptr {
 			if op == TK_DELETE {
-				return ts + 20422
+				return ts + 20469
 			}
-			return ts + 20429
+			return ts + 20476
 		}()))
 __15:
 	;
@@ -93995,7 +94031,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 {
 	if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK {
 		return 0
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20436, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20483, 0)
 	return 1
 }
 
@@ -94061,7 +94097,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab
 	}
 	Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(bp)).FpEList)
 	pNew = sqlite3ExpandReturning(tls, pParse, (*Returning)(unsafe.Pointer(pReturning)).FpReturnEL, pTab)
-	if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) {
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 {
 		libc.Xmemset(tls, bp+240, 0, uint64(unsafe.Sizeof(NameContext{})))
 		if (*Returning)(unsafe.Pointer(pReturning)).FnRetCol == 0 {
 			(*Returning)(unsafe.Pointer(pReturning)).FnRetCol = (*ExprList)(unsafe.Pointer(pNew)).FnExpr
@@ -94225,7 +94261,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt
 	if v != 0 {
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 {
 			Xsqlite3VdbeChangeP4(tls, v, -1,
-				Xsqlite3MPrintf(tls, db, ts+20478, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
+				Xsqlite3MPrintf(tls, db, ts+20525, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
 		}
 
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FpWhen != 0 {
@@ -94818,7 +94854,7 @@ __25:
 	}
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20492,
+		ts+20539,
 		libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*24)).FzCnName))
 	goto update_cleanup
 __27:
@@ -94850,7 +94886,7 @@ __21:
 	iRowidExpr = i
 	goto __30
 __29:
-	Xsqlite3ErrorMsg(tls, pParse, ts+20528, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20575, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
 	(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 	goto update_cleanup
 __30:
@@ -95176,7 +95212,12 @@ __74:
 	goto __77
 __76:
 	flags = WHERE_ONEPASS_DESIRED
-	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) && !(pTrigger != 0) && !(hasFK != 0) && !(chngKey != 0) && !(*(*int32)(unsafe.Pointer(bp + 104)) != 0)) {
+	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) &&
+		!(pTrigger != 0) &&
+		!(hasFK != 0) &&
+		!(chngKey != 0) &&
+		!(*(*int32)(unsafe.Pointer(bp + 104)) != 0) &&
+		(*NameContext)(unsafe.Pointer(bp+40)).FncFlags&NC_Subquery == 0) {
 		goto __78
 	}
 	flags = flags | WHERE_ONEPASS_MULTIROW
@@ -95730,7 +95771,7 @@ __168:
 	if !(regRowCount != 0) {
 		goto __169
 	}
-	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20547)
+	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20594)
 __169:
 	;
 update_cleanup:
@@ -96036,10 +96077,10 @@ __1:
 			if nClause == 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) {
 				*(*uint8)(unsafe.Pointer(bp + 216)) = uint8(0)
 			} else {
-				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]uint8{})), bp+216, ts+20560, libc.VaList(bp, nClause+1))
+				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]uint8{})), bp+216, ts+20607, libc.VaList(bp, nClause+1))
 			}
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+20564, libc.VaList(bp+8, bp+216))
+				ts+20611, libc.VaList(bp+8, bp+216))
 			return SQLITE_ERROR
 		}
 
@@ -96162,7 +96203,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 {
 		var zSubSql uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
 
 		if zSubSql != 0 &&
-			(libc.Xstrncmp(tls, zSubSql, ts+20637, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20641, uint64(3)) == 0) {
+			(libc.Xstrncmp(tls, zSubSql, ts+20684, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20688, uint64(3)) == 0) {
 			rc = execSql(tls, db, pzErrMsg, zSubSql)
 			if rc != SQLITE_OK {
 				break
@@ -96310,14 +96351,14 @@ func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p
 	if !!(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) {
 		goto __1
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20645)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20692)
 	return SQLITE_ERROR
 __1:
 	;
 	if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) {
 		goto __2
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20685)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20732)
 	return SQLITE_ERROR
 __2:
 	;
@@ -96328,7 +96369,7 @@ __2:
 	if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) {
 		goto __5
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20728)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20775)
 	return SQLITE_ERROR
 __5:
 	;
@@ -96356,7 +96397,7 @@ __4:
 	isMemDb = Xsqlite3PagerIsMemdb(tls, Xsqlite3BtreePager(tls, pMain))
 
 	nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb
-	rc = execSqlF(tls, db, pzErrMsg, ts+20746, libc.VaList(bp, zOut))
+	rc = execSqlF(tls, db, pzErrMsg, ts+20793, libc.VaList(bp, zOut))
 	(*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags
 	if !(rc != SQLITE_OK) {
 		goto __6
@@ -96376,7 +96417,7 @@ __6:
 		goto __8
 	}
 	rc = SQLITE_ERROR
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20769)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20816)
 	goto end_of_vacuum
 __8:
 	;
@@ -96436,7 +96477,7 @@ __12:
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb)
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20796,
+		ts+20843,
 		libc.VaList(bp+8, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __13
@@ -96445,7 +96486,7 @@ __12:
 __13:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20904,
+		ts+20951,
 		libc.VaList(bp+16, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __14
@@ -96456,7 +96497,7 @@ __14:
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
 
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20958,
+		ts+21005,
 		libc.VaList(bp+24, zDbMain))
 
 	*(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))
@@ -96467,7 +96508,7 @@ __14:
 __15:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+21109,
+		ts+21156,
 		libc.VaList(bp+32, zDbMain))
 	if !(rc != 0) {
 		goto __16
@@ -96896,11 +96937,11 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		if pEnd != 0 {
 			(*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32((int64((*Token)(unsafe.Pointer(pEnd)).Fz)-int64((*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz))/1)) + (*Token)(unsafe.Pointer(pEnd)).Fn
 		}
-		zStmt = Xsqlite3MPrintf(tls, db, ts+21239, libc.VaList(bp, pParse+272))
+		zStmt = Xsqlite3MPrintf(tls, db, ts+21286, libc.VaList(bp, pParse+272))
 
 		iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema)
 		Xsqlite3NestedParse(tls, pParse,
-			ts+21263,
+			ts+21310,
 			libc.VaList(bp+8, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
@@ -96910,7 +96951,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 
 		Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
-		zWhere = Xsqlite3MPrintf(tls, db, ts+21362, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
+		zWhere = Xsqlite3MPrintf(tls, db, ts+21409, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
 		Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0))
 		Xsqlite3DbFree(tls, db, zStmt)
 
@@ -96971,7 +97012,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	for pCtx = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx; pCtx != 0; pCtx = (*VtabCtx)(unsafe.Pointer(pCtx)).FpPrior {
 		if (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db,
-				ts+21381, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
+				ts+21428, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 			return SQLITE_LOCKED
 		}
 	}
@@ -96999,9 +97040,11 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FbDeclared = 0
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32
+	(*Table)(unsafe.Pointer(pTab)).FnTabRef++
 	rc = (*struct {
 		f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32
 	})(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+64)
+	Xsqlite3DeleteTable(tls, db, pTab)
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior
 	if rc == SQLITE_NOMEM {
 		Xsqlite3OomFault(tls, db)
@@ -97009,7 +97052,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 
 	if SQLITE_OK != rc {
 		if *(*uintptr)(unsafe.Pointer(bp + 64)) == uintptr(0) {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21423, libc.VaList(bp+8, zModuleName))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21470, libc.VaList(bp+8, zModuleName))
 		} else {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+3663, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64))))
 			Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
@@ -97021,7 +97064,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 		(*Module)(unsafe.Pointer(pMod)).FnRefModule++
 		(*VTable)(unsafe.Pointer(pVTable)).FnRef = 1
 		if (*VtabCtx)(unsafe.Pointer(bp+32)).FbDeclared == 0 {
-			var zFormat uintptr = ts + 21453
+			var zFormat uintptr = ts + 21500
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName))
 			Xsqlite3VtabUnlock(tls, pVTable)
 			rc = SQLITE_ERROR
@@ -97095,7 +97138,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32
 
 	if !(pMod != 0) {
 		var zModule uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pTab + 64 + 8))))
-		Xsqlite3ErrorMsg(tls, pParse, ts+21499, libc.VaList(bp, zModule))
+		Xsqlite3ErrorMsg(tls, pParse, ts+21546, libc.VaList(bp, zModule))
 		rc = SQLITE_ERROR
 	} else {
 		*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
@@ -97153,7 +97196,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr,
 	pMod = Xsqlite3HashFind(tls, db+576, zMod)
 
 	if pMod == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21499, libc.VaList(bp, zMod))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21546, libc.VaList(bp, zMod))
 		rc = SQLITE_ERROR
 	} else {
 		rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr)
@@ -97187,7 +97230,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3
 	if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
 		Xsqlite3Error(tls, db, SQLITE_MISUSE)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
-		return Xsqlite3MisuseError(tls, 151030)
+		return Xsqlite3MisuseError(tls, 151102)
 	}
 	pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab
 
@@ -97640,7 +97683,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	if !(p != 0) {
-		rc = Xsqlite3MisuseError(tls, 151521)
+		rc = Xsqlite3MisuseError(tls, 151593)
 	} else {
 		ap = va
 		switch op {
@@ -97667,7 +97710,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 			fallthrough
 		default:
 			{
-				rc = Xsqlite3MisuseError(tls, 151539)
+				rc = Xsqlite3MisuseError(tls, 151611)
 				break
 
 			}
@@ -97898,7 +97941,7 @@ type InLoop = struct {
 func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr {
 	i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2)))
 	if i == -2 {
-		return ts + 21518
+		return ts + 21565
 	}
 	if i == -1 {
 		return ts + 16267
@@ -97910,11 +97953,11 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	var i int32
 
 	if bAnd != 0 {
-		Xsqlite3_str_append(tls, pStr, ts+21525, 5)
+		Xsqlite3_str_append(tls, pStr, ts+21572, 5)
 	}
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21531, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21578, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97929,7 +97972,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	Xsqlite3_str_append(tls, pStr, zOp, 1)
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21531, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21578, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -97955,27 +97998,27 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) {
 	if int32(nEq) == 0 && (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT|WHERE_TOP_LIMIT) == U32(0) {
 		return
 	}
-	Xsqlite3_str_append(tls, pStr, ts+21533, 2)
+	Xsqlite3_str_append(tls, pStr, ts+21580, 2)
 	for i = 0; i < int32(nEq); i++ {
 		var z uintptr = explainIndexColumnName(tls, pIndex, i)
 		if i != 0 {
-			Xsqlite3_str_append(tls, pStr, ts+21525, 5)
+			Xsqlite3_str_append(tls, pStr, ts+21572, 5)
 		}
 		Xsqlite3_str_appendf(tls, pStr, func() uintptr {
 			if i >= int32(nSkip) {
-				return ts + 21536
+				return ts + 21583
 			}
-			return ts + 21541
+			return ts + 21588
 		}(), libc.VaList(bp, z))
 	}
 
 	j = i
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21549)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21596)
 		i = 1
 	}
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_TOP_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21551)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21598)
 	}
 	Xsqlite3_str_append(tls, pStr, ts+4957, 1)
 }
@@ -98018,11 +98061,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 
 		Xsqlite3StrAccumInit(tls, bp+64, db, bp+96, int32(unsafe.Sizeof([100]uint8{})), SQLITE_MAX_LENGTH)
 		(*StrAccum)(unsafe.Pointer(bp + 64)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-		Xsqlite3_str_appendf(tls, bp+64, ts+21553, libc.VaList(bp, func() uintptr {
+		Xsqlite3_str_appendf(tls, bp+64, ts+21600, libc.VaList(bp, func() uintptr {
 			if isSearch != 0 {
-				return ts + 21559
+				return ts + 21606
 			}
-			return ts + 21566
+			return ts + 21613
 		}(), pItem))
 		if flags&U32(WHERE_IPK|WHERE_VIRTUALTABLE) == U32(0) {
 			var zFmt uintptr = uintptr(0)
@@ -98035,40 +98078,40 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 					zFmt = ts + 10976
 				}
 			} else if flags&U32(WHERE_PARTIALIDX) != 0 {
-				zFmt = ts + 21571
+				zFmt = ts + 21618
 			} else if flags&U32(WHERE_AUTO_INDEX) != 0 {
-				zFmt = ts + 21604
+				zFmt = ts + 21651
 			} else if flags&U32(WHERE_IDX_ONLY) != 0 {
-				zFmt = ts + 21629
+				zFmt = ts + 21676
 			} else {
-				zFmt = ts + 21647
+				zFmt = ts + 21694
 			}
 			if zFmt != 0 {
-				Xsqlite3_str_append(tls, bp+64, ts+21656, 7)
+				Xsqlite3_str_append(tls, bp+64, ts+21703, 7)
 				Xsqlite3_str_appendf(tls, bp+64, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName))
 				explainIndexRange(tls, bp+64, pLoop)
 			}
 		} else if flags&U32(WHERE_IPK) != U32(0) && flags&U32(WHERE_CONSTRAINT) != U32(0) {
 			var cRangeOp uint8
 			var zRowid uintptr = ts + 16267
-			Xsqlite3_str_appendf(tls, bp+64, ts+21664, libc.VaList(bp+24, zRowid))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21711, libc.VaList(bp+24, zRowid))
 			if flags&U32(WHERE_COLUMN_EQ|WHERE_COLUMN_IN) != 0 {
 				cRangeOp = uint8('=')
 			} else if flags&U32(WHERE_BOTH_LIMIT) == U32(WHERE_BOTH_LIMIT) {
-				Xsqlite3_str_appendf(tls, bp+64, ts+21695, libc.VaList(bp+32, zRowid))
+				Xsqlite3_str_appendf(tls, bp+64, ts+21742, libc.VaList(bp+32, zRowid))
 				cRangeOp = uint8('<')
 			} else if flags&U32(WHERE_BTM_LIMIT) != 0 {
 				cRangeOp = uint8('>')
 			} else {
 				cRangeOp = uint8('<')
 			}
-			Xsqlite3_str_appendf(tls, bp+64, ts+21705, libc.VaList(bp+40, int32(cRangeOp)))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21752, libc.VaList(bp+40, int32(cRangeOp)))
 		} else if flags&U32(WHERE_VIRTUALTABLE) != U32(0) {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21710,
+			Xsqlite3_str_appendf(tls, bp+64, ts+21757,
 				libc.VaList(bp+48, *(*int32)(unsafe.Pointer(pLoop + 24)), *(*uintptr)(unsafe.Pointer(pLoop + 24 + 16))))
 		}
 		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&JT_LEFT != 0 {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21737, 0)
+			Xsqlite3_str_appendf(tls, bp+64, ts+21784, 0)
 		}
 		zMsg = Xsqlite3StrAccumFinish(tls, bp+64)
 
@@ -98100,22 +98143,22 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp
 
 	Xsqlite3StrAccumInit(tls, bp+24, db, bp+56, int32(unsafe.Sizeof([100]uint8{})), SQLITE_MAX_LENGTH)
 	(*StrAccum)(unsafe.Pointer(bp + 24)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-	Xsqlite3_str_appendf(tls, bp+24, ts+21748, libc.VaList(bp, pItem))
+	Xsqlite3_str_appendf(tls, bp+24, ts+21795, libc.VaList(bp, pItem))
 	pLoop = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_IPK) != 0 {
 		var pTab uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FpTab
 		if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21536, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21583, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
 		} else {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21769, 0)
+			Xsqlite3_str_appendf(tls, bp+24, ts+21816, 0)
 		}
 	} else {
 		for i = int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip); i < int32(*(*U16)(unsafe.Pointer(pLoop + 24))); i++ {
 			var z uintptr = explainIndexColumnName(tls, *(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)), i)
 			if i > int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip) {
-				Xsqlite3_str_append(tls, bp+24, ts+21525, 5)
+				Xsqlite3_str_append(tls, bp+24, ts+21572, 5)
 			}
-			Xsqlite3_str_appendf(tls, bp+24, ts+21536, libc.VaList(bp+16, z))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21583, libc.VaList(bp+16, z))
 		}
 	}
 	Xsqlite3_str_append(tls, bp+24, ts+4957, 1)
@@ -99712,7 +99755,7 @@ __134:
 	;
 __126:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21777, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21824, 0)
 	ii = 0
 __135:
 	if !(ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm) {
@@ -99740,7 +99783,7 @@ __139:
 	pOrExpr = pAndExpr
 __140:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21792, libc.VaList(bp, ii+1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21839, libc.VaList(bp, ii+1))
 
 	pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0),
 		uint16(WHERE_OR_SUBCLAUSE), iCovCur)
@@ -100258,7 +100301,7 @@ func Xsqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
 	var mAll Bitmask = uint64(0)
 	var k int32
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21801, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21848, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
 
 	for k = 0; k < iLevel; k++ {
 		var iIdxCur int32
@@ -100619,7 +100662,7 @@ var aOp = [4]Op2{
 	{FzOp: ts + 16116, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)},
 	{FzOp: ts + 15447, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)},
 	{FzOp: ts + 14967, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)},
-	{FzOp: ts + 21815, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
+	{FzOp: ts + 21862, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
 }
 
 func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) {
@@ -101109,12 +101152,12 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			extraRight = x - uint64(1)
 
 			if prereqAll>>1 >= x {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21822, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21869, 0)
 				return
 			}
 		} else if prereqAll>>1 >= x {
 			if (*SrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*SrcItem)(unsafe.Pointer(pSrc+8)).Ffg.Fjointype)&JT_LTORJ != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21822, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21869, 0)
 				return
 			}
 			*(*U32)(unsafe.Pointer(pExpr + 4)) &= libc.Uint32FromInt32(libc.CplInt32(EP_InnerON))
@@ -101193,7 +101236,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_OuterON) != U32(0)) &&
 			0 == Xsqlite3ExprCanBeNull(tls, pLeft) {
 			(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
-			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6769
+			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 7699
 			*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0)
@@ -101287,7 +101330,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 		}
 		zCollSeqName = func() uintptr {
 			if *(*int32)(unsafe.Pointer(bp + 20)) != 0 {
-				return ts + 21863
+				return ts + 21910
 			}
 			return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))
 		}()
@@ -101663,7 +101706,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 			k++
 		}
 		if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21870,
+			Xsqlite3ErrorMsg(tls, pParse, ts+21917,
 				libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j))
 			return
 		}
@@ -101679,7 +101722,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 		pRhs = Xsqlite3PExpr(tls, pParse, TK_UPLUS,
 			Xsqlite3ExprDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*ExprList_item)(unsafe.Pointer(pArgs+8+uintptr(j)*32)).FpExpr, 0), uintptr(0))
 		pTerm = Xsqlite3PExpr(tls, pParse, TK_EQ, pColRef, pRhs)
-		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ) != 0 {
+		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ|JT_RIGHT) != 0 {
 			joinType = U32(EP_OuterON)
 		} else {
 			joinType = U32(EP_InnerON)
@@ -102397,7 +102440,7 @@ __4:
 		goto __6
 	}
 	Xsqlite3_log(tls, SQLITE_WARNING|int32(1)<<8,
-		ts+21906, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
+		ts+21953, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
 			(*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*24)).FzCnName))
 	sentWarning = U8(1)
 __6:
@@ -102468,7 +102511,7 @@ __13:
 __14:
 	;
 	*(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)) = pIdx
-	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21932
+	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21979
 	(*Index)(unsafe.Pointer(pIdx)).FpTable = pTable
 	n = 0
 	idxCols = uint64(0)
@@ -102642,6 +102685,10 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 	var pLoop uintptr = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	var iCur int32
+	var saved_pIdxEpr uintptr
+
+	saved_pIdxEpr = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = uintptr(0)
 
 	addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once)
 	for __ccgo := true; __ccgo; __ccgo = iLevel < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel) {
@@ -102685,9 +102732,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 			var r1 int32 = Xsqlite3GetTempRange(tls, pParse, n)
 			var jj int32
 			for jj = 0; jj < n; jj++ {
-				var iCol int32 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(jj)*2)))
-
-				Xsqlite3ExprCodeGetColumnOfTable(tls, v, (*Index)(unsafe.Pointer(pIdx)).FpTable, iCur, iCol, r1+jj)
+				Xsqlite3ExprCodeLoadIndexColumn(tls, pParse, pIdx, iCur, jj, r1+jj)
 			}
 			Xsqlite3VdbeAddOp4Int(tls, v, OP_FilterAdd, (*WhereLevel)(unsafe.Pointer(pLevel)).FregFilter, 0, r1, n)
 			Xsqlite3ReleaseTempRange(tls, pParse, r1, n)
@@ -102721,6 +102766,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 		}
 	}
 	Xsqlite3VdbeJumpHere(tls, v, addrOnce)
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = saved_pIdxEpr
 }
 
 func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr {
@@ -102979,11 +103025,16 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro
 
 	_ = pParse
 
+	if !((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) && int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0xc000>>14) == SQLITE_IDXTYPE_PRIMARYKEY {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol)
+	} else {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnColumn)
+	}
 	nField = func() int32 {
-		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < (*Index)(unsafe.Pointer(pIdx)).FnSample {
+		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < nField {
 			return int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField)
 		}
-		return (*Index)(unsafe.Pointer(pIdx)).FnSample
+		return nField
 	}()
 	iCol = 0
 	iSample = (*Index)(unsafe.Pointer(pIdx)).FnSample * nField
@@ -104564,7 +104615,7 @@ __4:
 				j >= (*WhereClause)(unsafe.Pointer(pWC)).FnTerm ||
 				*(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) ||
 				int32((*sqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21943, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+				Xsqlite3ErrorMsg(tls, pParse, ts+21990, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 				return SQLITE_ERROR
 			}
@@ -104622,7 +104673,7 @@ __6:
 	(*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm = U16(mxTerm + 1)
 	for i = 0; i <= mxTerm; i++ {
 		if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21943, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+			Xsqlite3ErrorMsg(tls, pParse, ts+21990, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 			return SQLITE_ERROR
 		}
@@ -105020,7 +105071,7 @@ __1:
 		mPrior = mPrior | (*WhereLoop)(unsafe.Pointer(pNew)).FmaskSelf
 		if rc != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 			if rc == SQLITE_DONE {
-				Xsqlite3_log(tls, SQLITE_WARNING, ts+21969, 0)
+				Xsqlite3_log(tls, SQLITE_WARNING, ts+22016, 0)
 				rc = SQLITE_OK
 			} else {
 				goto __3
@@ -105627,7 +105678,7 @@ __3:
 	}
 
 	if nFrom == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22004, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+22051, 0)
 		Xsqlite3DbFreeNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pSpace)
 		return SQLITE_ERROR
 	}
@@ -105662,6 +105713,10 @@ __3:
 			if int32((*WherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*ExprList)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr {
 				(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_ORDERED)
 			}
+			if (*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 &&
+				int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr {
+				(*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = I8((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr)
+			}
 		} else {
 			(*WhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*WherePath)(unsafe.Pointer(pFrom)).FrevLoop
 			if int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 {
@@ -105956,6 +106011,9 @@ func whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur in
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCur = iIdxCur
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCol = i
 		(*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow = U8(bMaybeNullRow)
+		if Xsqlite3IndexAffinityStr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pIdx) != 0 {
+			(*IndexedExpr)(unsafe.Pointer(p)).Faff = *(*uint8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(i)))
+		}
 		(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = p
 		if (*IndexedExpr)(unsafe.Pointer(p)).FpIENext == uintptr(0) {
 			Xsqlite3ParserAddCleanup(tls, pParse, *(*uintptr)(unsafe.Pointer(&struct {
@@ -106108,7 +106166,7 @@ __1:
 	if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22022, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+22069, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
 	return uintptr(0)
 __2:
 	;
@@ -106172,7 +106230,7 @@ __6:
 	(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE)
 __7:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22050, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22097, 0)
 	goto __5
 __4:
 	ii = 0
@@ -107054,7 +107112,7 @@ __1:
 
 error_out:
 	Xsqlite3_result_error(tls,
-		pCtx, ts+22068, -1)
+		pCtx, ts+22115, -1)
 }
 
 func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
@@ -107187,7 +107245,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 			(*NtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 			if (*NtileCtx)(unsafe.Pointer(p)).FnParam <= int64(0) {
 				Xsqlite3_result_error(tls,
-					pCtx, ts+22124, -1)
+					pCtx, ts+22171, -1)
 			}
 		}
 		(*NtileCtx)(unsafe.Pointer(p)).FnTotal++
@@ -107277,17 +107335,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
 	}
 }
 
-var row_numberName = *(*[11]uint8)(unsafe.Pointer(ts + 22169))
-var dense_rankName = *(*[11]uint8)(unsafe.Pointer(ts + 22180))
-var rankName = *(*[5]uint8)(unsafe.Pointer(ts + 22191))
-var percent_rankName = *(*[13]uint8)(unsafe.Pointer(ts + 22196))
-var cume_distName = *(*[10]uint8)(unsafe.Pointer(ts + 22209))
-var ntileName = *(*[6]uint8)(unsafe.Pointer(ts + 22219))
-var last_valueName = *(*[11]uint8)(unsafe.Pointer(ts + 22225))
-var nth_valueName = *(*[10]uint8)(unsafe.Pointer(ts + 22236))
-var first_valueName = *(*[12]uint8)(unsafe.Pointer(ts + 22246))
-var leadName = *(*[5]uint8)(unsafe.Pointer(ts + 22258))
-var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22263))
+var row_numberName = *(*[11]uint8)(unsafe.Pointer(ts + 22216))
+var dense_rankName = *(*[11]uint8)(unsafe.Pointer(ts + 22227))
+var rankName = *(*[5]uint8)(unsafe.Pointer(ts + 22238))
+var percent_rankName = *(*[13]uint8)(unsafe.Pointer(ts + 22243))
+var cume_distName = *(*[10]uint8)(unsafe.Pointer(ts + 22256))
+var ntileName = *(*[6]uint8)(unsafe.Pointer(ts + 22266))
+var last_valueName = *(*[11]uint8)(unsafe.Pointer(ts + 22272))
+var nth_valueName = *(*[10]uint8)(unsafe.Pointer(ts + 22283))
+var first_valueName = *(*[12]uint8)(unsafe.Pointer(ts + 22293))
+var leadName = *(*[5]uint8)(unsafe.Pointer(ts + 22305))
+var lagName = *(*[4]uint8)(unsafe.Pointer(ts + 22310))
 
 func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) {
 	_ = p
@@ -107333,7 +107391,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin
 		}
 	}
 	if p == uintptr(0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22267, libc.VaList(bp, zName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+22314, libc.VaList(bp, zName))
 	}
 	return p
 }
@@ -107377,12 +107435,12 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin
 		((*Window)(unsafe.Pointer(pWin)).FpStart != 0 || (*Window)(unsafe.Pointer(pWin)).FpEnd != 0) &&
 		((*Window)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*ExprList)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != 1) {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+22286, 0)
+			ts+22333, 0)
 	} else if (*FuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
 		if (*Window)(unsafe.Pointer(pWin)).FpFilter != 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22357, 0)
+				ts+22404, 0)
 		} else {
 			*(*[8]WindowUpdate)(unsafe.Pointer(bp)) = [8]WindowUpdate{
 				{FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT},
@@ -107611,7 +107669,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr
 
 	if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) {
 		Xsqlite3ErrorMsg(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse,
-			ts+22420, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
+			ts+22467, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
 	}
 	return WRC_Continue
 }
@@ -107727,7 +107785,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 {
 
 		if *(*uintptr)(unsafe.Pointer(bp + 48)) == uintptr(0) {
 			*(*uintptr)(unsafe.Pointer(bp + 48)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0),
-				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7530))
+				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7519))
 		}
 
 		pSub = Xsqlite3SelectNew(tls,
@@ -107842,7 +107900,7 @@ __1:
 		eStart == TK_FOLLOWING && (eEnd == TK_PRECEDING || eEnd == TK_CURRENT)) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22446, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22493, 0)
 	goto windowAllocErr
 __2:
 	;
@@ -107907,15 +107965,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint
 			var zErr uintptr = uintptr(0)
 
 			if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 {
-				zErr = ts + 22478
+				zErr = ts + 22525
 			} else if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0 {
-				zErr = ts + 22495
+				zErr = ts + 22542
 			} else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 {
-				zErr = ts + 22511
+				zErr = ts + 22558
 			}
 			if zErr != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+22531, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
+					ts+22578, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
 			} else {
 				(*Window)(unsafe.Pointer(pWin)).FpPartition = Xsqlite3ExprListDup(tls, db, (*Window)(unsafe.Pointer(pExist)).FpPartition, 0)
 				if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 {
@@ -107936,7 +107994,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr
 		(*Window)(unsafe.Pointer(pWin)).FpOwner = p
 		if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Distinct) != 0 && int32((*Window)(unsafe.Pointer(pWin)).FeFrmType) != TK_FILTER {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22564, 0)
+				ts+22611, 0)
 		}
 	} else {
 		Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin)
@@ -108092,11 +108150,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) {
 }
 
 var azErr = [5]uintptr{
-	ts + 22611,
-	ts + 22664,
-	ts + 22068,
-	ts + 22715,
-	ts + 22767,
+	ts + 22658,
+	ts + 22711,
+	ts + 22115,
+	ts + 22762,
+	ts + 22814,
 }
 var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge}
 
@@ -109491,19 +109549,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) {
 			}
 			cnt++
 			if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*Select)(unsafe.Pointer(pLoop)).FpLimit != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+22817,
+				Xsqlite3ErrorMsg(tls, pParse, ts+22864,
 					libc.VaList(bp, func() uintptr {
 						if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) {
-							return ts + 22859
+							return ts + 22906
 						}
-						return ts + 22868
+						return ts + 22915
 					}(),
 						Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(pNext)).Fop))))
 				break
 			}
 		}
 		if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_MultiValue) == U32(0) && libc.AssignInt32(&mxSelect, *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 4*4))) > 0 && cnt > mxSelect {
-			Xsqlite3ErrorMsg(tls, pParse, ts+22874, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+22921, 0)
 		}
 	}
 
@@ -109571,7 +109629,7 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT
 	var p uintptr = Xsqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0))
 	if (hasCollate != 0 || sortOrder != -1) &&
 		int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22908,
+		Xsqlite3ErrorMsg(tls, pParse, ts+22955,
 			libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz))
 	}
 	Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1)
@@ -110668,7 +110726,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) {
 		yy_pop_parser_stack(tls, yypParser)
 	}
 
-	Xsqlite3ErrorMsg(tls, pParse, ts+22946, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22993, 0)
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
 }
@@ -111647,7 +111705,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(TF_WithoutRowid | TF_NoVisibleRowid)
 				} else {
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22968, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23015, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			break
@@ -111657,7 +111715,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(TF_Strict)
 				} else {
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22968, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+23015, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			*(*U32)(unsafe.Pointer(yymsp + 8)) = *(*U32)(unsafe.Pointer(bp + 40))
@@ -112400,7 +112458,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 		case uint32(157):
 			{
 				Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8)), yymsp+libc.UintptrFromInt32(-4)*24+8)
-				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+22995)
+				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+23042)
 				if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) != 0 {
 					var pFromClause uintptr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8))
 					if (*SrcList)(unsafe.Pointer(pFromClause)).FnSrc > 1 {
@@ -112564,7 +112622,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*Token)(unsafe.Pointer(bp + 128)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 
 					if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+23004, libc.VaList(bp+32, bp+128))
+						Xsqlite3ErrorMsg(tls, pParse, ts+23051, libc.VaList(bp+32, bp+128))
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0)
 					} else {
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0))
@@ -112781,9 +112839,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					Xsqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
 					*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_STRING, func() uintptr {
 						if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8)) != 0 {
-							return ts + 6764
+							return ts + 7694
 						}
-						return ts + 6769
+						return ts + 7699
 					}())
 					if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) != 0 {
 						Xsqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
@@ -113067,19 +113125,19 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 			{
 				*(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23028, 0)
+					ts+23075, 0)
 			}
 			break
 		case uint32(271):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23123, 0)
+					ts+23170, 0)
 			}
 			break
 		case uint32(272):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23207, 0)
+					ts+23254, 0)
 			}
 			break
 		case uint32(273):
@@ -113458,9 +113516,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To
 
 	_ = yymajor
 	if *(*uint8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8)).Fz)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23004, libc.VaList(bp, bp+8))
+		Xsqlite3ErrorMsg(tls, pParse, ts+23051, libc.VaList(bp, bp+8))
 	} else {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23292, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+23339, 0)
 	}
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
@@ -114228,7 +114286,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 			} else {
 				(*Token)(unsafe.Pointer(bp + 2464)).Fz = zSql
 				(*Token)(unsafe.Pointer(bp + 2464)).Fn = uint32(n)
-				Xsqlite3ErrorMsg(tls, pParse, ts+23309, libc.VaList(bp, bp+2464))
+				Xsqlite3ErrorMsg(tls, pParse, ts+23356, libc.VaList(bp, bp+2464))
 				break
 			}
 		}
@@ -114251,7 +114309,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 		if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) {
 			(*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+3663, libc.VaList(bp+8, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc)))
 		}
-		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23334, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
+		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23381, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
 		nErr++
 	}
 	(*Parse)(unsafe.Pointer(pParse)).FzTail = zSql
@@ -114424,7 +114482,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'C':
 						{
-							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23345, 6) == 0 {
+							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23392, 6) == 0 {
 								token = U8(TkCREATE)
 							} else {
 								token = U8(TkOTHER)
@@ -114437,11 +114495,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'T':
 						{
-							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19931, 7) == 0 {
+							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19978, 7) == 0 {
 								token = U8(TkTRIGGER)
-							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23352, 4) == 0 {
+							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23399, 4) == 0 {
 								token = U8(TkTEMP)
-							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23357, 9) == 0 {
+							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23404, 9) == 0 {
 								token = U8(TkTEMP)
 							} else {
 								token = U8(TkOTHER)
@@ -114454,9 +114512,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'E':
 						{
-							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23367, 3) == 0 {
+							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23414, 3) == 0 {
 								token = U8(TkEND)
-							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23371, 7) == 0 {
+							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23418, 7) == 0 {
 								token = U8(TkEXPLAIN)
 							} else {
 								token = U8(TkOTHER)
@@ -114695,7 +114753,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 {
 	var rc int32 = SQLITE_OK
 
 	if Xsqlite3Config.FisInit != 0 {
-		return Xsqlite3MisuseError(tls, 174337)
+		return Xsqlite3MisuseError(tls, 174426)
 	}
 
 	ap = va
@@ -115270,7 +115328,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 		return SQLITE_OK
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 175111)
+		return Xsqlite3MisuseError(tls, 175200)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 {
@@ -115285,7 +115343,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 
 	if !(forceZombie != 0) && connectionIsBusy(tls, db) != 0 {
 		Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-			ts+23379, 0)
+			ts+23426, 0)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		return SQLITE_BUSY
 	}
@@ -115476,23 +115534,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) {
 // Return a static string that describes the kind of error specified in the
 // argument.
 func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
-	var zErr uintptr = ts + 23447
+	var zErr uintptr = ts + 23494
 	switch rc {
 	case SQLITE_ABORT | int32(2)<<8:
 		{
-			zErr = ts + 23461
+			zErr = ts + 23508
 			break
 
 		}
 	case SQLITE_ROW:
 		{
-			zErr = ts + 23483
+			zErr = ts + 23530
 			break
 
 		}
 	case SQLITE_DONE:
 		{
-			zErr = ts + 23505
+			zErr = ts + 23552
 			break
 
 		}
@@ -115510,35 +115568,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
 }
 
 var aMsg = [29]uintptr{
-	ts + 23528,
-	ts + 23541,
+	ts + 23575,
+	ts + 23588,
 	uintptr(0),
-	ts + 23557,
-	ts + 23582,
-	ts + 23596,
-	ts + 23615,
+	ts + 23604,
+	ts + 23629,
+	ts + 23643,
+	ts + 23662,
 	ts + 1490,
-	ts + 23640,
-	ts + 23677,
-	ts + 23689,
-	ts + 23704,
-	ts + 23737,
-	ts + 23755,
-	ts + 23780,
-	ts + 23809,
+	ts + 23687,
+	ts + 23724,
+	ts + 23736,
+	ts + 23751,
+	ts + 23784,
+	ts + 23802,
+	ts + 23827,
+	ts + 23856,
 	uintptr(0),
 	ts + 5838,
 	ts + 5334,
-	ts + 23826,
-	ts + 23844,
-	ts + 23862,
+	ts + 23873,
+	ts + 23891,
+	ts + 23909,
 	uintptr(0),
-	ts + 23896,
-	uintptr(0),
-	ts + 23917,
 	ts + 23943,
-	ts + 23966,
-	ts + 23987,
+	uintptr(0),
+	ts + 23964,
+	ts + 23990,
+	ts + 24013,
+	ts + 24034,
 }
 
 func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 {
@@ -115659,7 +115717,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 		libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) ||
 		(nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) ||
 		255 < Xsqlite3Strlen30(tls, zFunctionName) {
-		return Xsqlite3MisuseError(tls, 175758)
+		return Xsqlite3MisuseError(tls, 175847)
 	}
 
 	extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS)
@@ -115709,7 +115767,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 	if p != 0 && (*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK) == U32(enc) && int32((*FuncDef)(unsafe.Pointer(p)).FnArg) == nArg {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24003, 0)
+				ts+24050, 0)
 
 			return SQLITE_BUSY
 		} else {
@@ -115831,7 +115889,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs
 	_ = NotUsed
 	_ = NotUsed2
 	zErr = Xsqlite3_mprintf(tls,
-		ts+24066, libc.VaList(bp, zName))
+		ts+24113, libc.VaList(bp, zName))
 	Xsqlite3_result_error(tls, context, zErr, -1)
 	Xsqlite3_free(tls, zErr)
 }
@@ -116067,7 +116125,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
 	}
 	if iDb < 0 {
 		rc = SQLITE_ERROR
-		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24117, libc.VaList(bp, zDb))
+		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24164, libc.VaList(bp, zDb))
 	} else {
 		(*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0
 		rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt)
@@ -116160,7 +116218,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr {
 		return Xsqlite3ErrStr(tls, SQLITE_NOMEM)
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176503))
+		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176592))
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -116230,7 +116288,7 @@ var misuse = [34]U16{
 // passed to this function, we assume a malloc() failed during sqlite3_open().
 func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176582)
+		return Xsqlite3MisuseError(tls, 176671)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -116240,7 +116298,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 
 func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176591)
+		return Xsqlite3MisuseError(tls, 176680)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -116277,14 +116335,14 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint
 		}()
 	}
 	if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE {
-		return Xsqlite3MisuseError(tls, 176639)
+		return Xsqlite3MisuseError(tls, 176728)
 	}
 
 	pColl = Xsqlite3FindCollSeq(tls, db, U8(enc2), zName, 0)
 	if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24138, 0)
+				ts+24185, 0)
 			return SQLITE_BUSY
 		}
 		Xsqlite3ExpirePreparedStatements(tls, db, 0)
@@ -116414,7 +116472,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u
 
 	if !((flags&uint32(SQLITE_OPEN_URI) != 0 ||
 		Xsqlite3Config.FbOpenUri != 0) &&
-		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24206, uint64(5)) == 0) {
+		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24253, uint64(5)) == 0) {
 		goto __1
 	}
 	iOut = 0
@@ -116459,10 +116517,10 @@ __8:
 	goto __8
 __9:
 	;
-	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24212, zUri+7, uint64(9)) != 0)) {
+	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24259, zUri+7, uint64(9)) != 0)) {
 		goto __10
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24222,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24269,
 		libc.VaList(bp, iIn-7, zUri+7))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
@@ -116567,7 +116625,7 @@ __27:
 	zVal = zOpt + uintptr(nOpt+1)
 	nVal = Xsqlite3Strlen30(tls, zVal)
 
-	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24250, zOpt, uint64(3)) == 0) {
+	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24297, zOpt, uint64(3)) == 0) {
 		goto __29
 	}
 	zVfs = zVal
@@ -116578,17 +116636,17 @@ __29:
 	mask = 0
 	limit = 0
 
-	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24254, zOpt, uint64(5)) == 0) {
+	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24301, zOpt, uint64(5)) == 0) {
 		goto __31
 	}
 
 	mask = SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE
 	aMode = uintptr(unsafe.Pointer(&aCacheMode))
 	limit = mask
-	zModeType = ts + 24254
+	zModeType = ts + 24301
 __31:
 	;
-	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24260, zOpt, uint64(4)) == 0) {
+	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24307, zOpt, uint64(4)) == 0) {
 		goto __32
 	}
 
@@ -116626,7 +116684,7 @@ __36:
 	if !(mode == 0) {
 		goto __38
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24265, libc.VaList(bp+16, zModeType, zVal))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24312, libc.VaList(bp+16, zModeType, zVal))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
 __38:
@@ -116634,7 +116692,7 @@ __38:
 	if !(mode&libc.CplInt32(SQLITE_OPEN_MEMORY) > limit) {
 		goto __39
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24285,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24332,
 		libc.VaList(bp+32, zModeType, zVal))
 	rc = SQLITE_PERM
 	goto parse_uri_out
@@ -116674,7 +116732,7 @@ __2:
 	if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) {
 		goto __42
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24309, libc.VaList(bp+48, zVfs))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24356, libc.VaList(bp+48, zVfs))
 	rc = SQLITE_ERROR
 __42:
 	;
@@ -116698,14 +116756,14 @@ type OpenMode = struct {
 }
 
 var aCacheMode = [3]OpenMode{
-	{Fz: ts + 24325, Fmode: SQLITE_OPEN_SHAREDCACHE},
-	{Fz: ts + 24332, Fmode: SQLITE_OPEN_PRIVATECACHE},
+	{Fz: ts + 24372, Fmode: SQLITE_OPEN_SHAREDCACHE},
+	{Fz: ts + 24379, Fmode: SQLITE_OPEN_PRIVATECACHE},
 	{},
 }
 var aOpenMode = [5]OpenMode{
-	{Fz: ts + 24340, Fmode: SQLITE_OPEN_READONLY},
-	{Fz: ts + 24343, Fmode: SQLITE_OPEN_READWRITE},
-	{Fz: ts + 24346, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
+	{Fz: ts + 24387, Fmode: SQLITE_OPEN_READONLY},
+	{Fz: ts + 24390, Fmode: SQLITE_OPEN_READWRITE},
+	{Fz: ts + 24393, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
 	{Fz: ts + 17362, Fmode: SQLITE_OPEN_MEMORY},
 	{},
 }
@@ -116852,10 +116910,10 @@ __12:
 	createCollation(tls, db, uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{binCollFunc})), uintptr(0))
-	createCollation(tls, db, ts+21863, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+21910, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{nocaseCollatingFunc})), uintptr(0))
-	createCollation(tls, db, ts+24350, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+24397, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{rtrimCollFunc})), uintptr(0))
 	if !((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) {
@@ -116869,7 +116927,7 @@ __15:
 	if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) {
 		goto __16
 	}
-	rc = Xsqlite3MisuseError(tls, 177308)
+	rc = Xsqlite3MisuseError(tls, 177397)
 	goto __17
 __16:
 	rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24)
@@ -116922,7 +116980,7 @@ __22:
 
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 6441
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).Fsafety_level = U8(SQLITE_DEFAULT_SYNCHRONOUS + 1)
-	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23352
+	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23399
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF)
 
 	(*Sqlite3)(unsafe.Pointer(db)).FeOpenState = U8(SQLITE_STATE_OPEN)
@@ -117027,7 +117085,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 {
 		return rc
 	}
 	if zFilename == uintptr(0) {
-		zFilename = ts + 24356
+		zFilename = ts + 24403
 	}
 	pVal = Xsqlite3ValueNew(tls, uintptr(0))
 	Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, func() uint8 {
@@ -117145,21 +117203,21 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr)
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	Xsqlite3_log(tls, iErr, ts+24359,
+	Xsqlite3_log(tls, iErr, ts+24406,
 		libc.VaList(bp, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls)))
 	return iErr
 }
 
 func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24384)
+	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24431)
 }
 
 func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24404)
+	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24451)
 }
 
 func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24411)
+	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24458)
 }
 
 // This is a convenience routine that makes sure that all thread-specific
@@ -117317,7 +117375,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24)))
-	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24428, libc.VaList(bp, zTableName,
+	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24475, libc.VaList(bp, zTableName,
 		zColumnName))
 	rc = SQLITE_ERROR
 __20:
@@ -117973,7 +118031,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 {
 
 	azCompileOpt = Xsqlite3CompileOptions(tls, bp)
 
-	if Xsqlite3_strnicmp(tls, zOptName, ts+24456, 7) == 0 {
+	if Xsqlite3_strnicmp(tls, zOptName, ts+24503, 7) == 0 {
 		zOptName += uintptr(7)
 	}
 	n = Xsqlite3Strlen30(tls, zOptName)
@@ -118091,7 +118149,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin
 
 	Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr {
 		if rc != 0 {
-			return ts + 24464
+			return ts + 24511
 		}
 		return uintptr(0)
 	}(), 0)
@@ -118269,7 +118327,7 @@ type JsonParse1 = struct {
 type JsonParse = JsonParse1
 
 var jsonType = [8]uintptr{
-	ts + 6181, ts + 6764, ts + 6769, ts + 6191, ts + 6186, ts + 8005, ts + 24487, ts + 24493,
+	ts + 6181, ts + 7694, ts + 7699, ts + 6191, ts + 6186, ts + 8005, ts + 24534, ts + 24540,
 }
 
 func jsonZero(tls *libc.TLS, p uintptr) {
@@ -118422,7 +118480,7 @@ __10:
 	*(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('0')
 	*(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('0')
 	*(*uint8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = uint8('0' + int32(c)>>4)
-	c = *(*uint8)(unsafe.Pointer(ts + 24500 + uintptr(int32(c)&0xf)))
+	c = *(*uint8)(unsafe.Pointer(ts + 24547 + uintptr(int32(c)&0xf)))
 __8:
 	;
 __6:
@@ -118477,7 +118535,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) {
 	default:
 		{
 			if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 {
-				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24517, -1)
+				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24564, -1)
 				(*JsonString)(unsafe.Pointer(p)).FbErr = U8(2)
 				jsonReset(tls, p)
 			}
@@ -118541,13 +118599,13 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr
 		}
 	case JSON_TRUE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6764, uint32(4))
+			jsonAppendRaw(tls, pOut, ts+7694, uint32(4))
 			break
 
 		}
 	case JSON_FALSE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6769, uint32(5))
+			jsonAppendRaw(tls, pOut, ts+7699, uint32(5))
 			break
 
 		}
@@ -119097,12 +119155,12 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 't' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6764, uint64(4)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7694, uint64(4)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+U32(4))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_TRUE), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 'f' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6769, uint64(5)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7699, uint64(5)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+U32(5))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_FALSE), uint32(0), uintptr(0))
 		return int32(i + U32(5))
@@ -119203,7 +119261,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32
 			if (*JsonParse)(unsafe.Pointer(pParse)).Foom != 0 {
 				Xsqlite3_result_error_nomem(tls, pCtx)
 			} else {
-				Xsqlite3_result_error(tls, pCtx, ts+24546, -1)
+				Xsqlite3_result_error(tls, pCtx, ts+24593, -1)
 			}
 		}
 		jsonParseReset(tls, pParse)
@@ -119509,7 +119567,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt
 	}
 	if int32(*(*uint8)(unsafe.Pointer(zPath))) == '.' {
 		jsonParseAddNode(tls, pParse, uint32(JSON_OBJECT), uint32(0), uintptr(0))
-	} else if libc.Xstrncmp(tls, zPath, ts+24561, uint64(3)) == 0 {
+	} else if libc.Xstrncmp(tls, zPath, ts+24608, uint64(3)) == 0 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0))
 	} else {
 		return uintptr(0)
@@ -119524,7 +119582,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	return Xsqlite3_mprintf(tls, ts+24565, libc.VaList(bp, zErr))
+	return Xsqlite3_mprintf(tls, ts+24612, libc.VaList(bp, zErr))
 }
 
 func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr {
@@ -119578,7 +119636,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24591,
+	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24638,
 		libc.VaList(bp, zFuncName))
 	Xsqlite3_result_error(tls, pCtx, zMsg, -1)
 	Xsqlite3_free(tls, zMsg)
@@ -119683,11 +119741,11 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 			if int32(*(*uint8)(unsafe.Pointer(zPath))) != '$' {
 				jsonInit(tls, bp, ctx)
 				if int32(Xsqlite3CtypeMap[*(*uint8)(unsafe.Pointer(zPath))])&0x04 != 0 {
-					jsonAppendRaw(tls, bp, ts+24634, uint32(2))
+					jsonAppendRaw(tls, bp, ts+24681, uint32(2))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendRaw(tls, bp, ts+4998, uint32(2))
 				} else {
-					jsonAppendRaw(tls, bp, ts+24637, uint32(1+libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zPath))) != '[')))
+					jsonAppendRaw(tls, bp, ts+24684, uint32(1+libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zPath))) != '[')))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendChar(tls, bp, uint8(0))
 				}
@@ -119844,14 +119902,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 
 	if argc&1 != 0 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+24640, -1)
+			ts+24687, -1)
 		return
 	}
 	jsonInit(tls, bp, ctx)
 	jsonAppendChar(tls, bp, uint8('{'))
 	for i = 0; i < argc; i = i + 2 {
 		if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != SQLITE_TEXT {
-			Xsqlite3_result_error(tls, ctx, ts+24691, -1)
+			Xsqlite3_result_error(tls, ctx, ts+24738, -1)
 			jsonReset(tls, bp)
 			return
 		}
@@ -120021,9 +120079,9 @@ __1:
 	}
 	jsonWrongNumArgs(tls, ctx, func() uintptr {
 		if bIsSet != 0 {
-			return ts + 24725
+			return ts + 24772
 		}
-		return ts + 24729
+		return ts + 24776
 	}())
 	return
 __2:
@@ -120156,7 +120214,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24736, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24783, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -120253,7 +120311,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24739, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24786, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -120297,7 +120355,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u
 	_ = argc
 	_ = pAux
 	rc = Xsqlite3_declare_vtab(tls, db,
-		ts+24742)
+		ts+24789)
 	if rc == SQLITE_OK {
 		pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{}))))
 		if pNew == uintptr(0) {
@@ -120428,7 +120486,7 @@ func jsonAppendObjectPathElement(tls *libc.TLS, pStr uintptr, pNode uintptr) {
 			nn = nn - 2
 		}
 	}
-	jsonPrintf(tls, nn+2, pStr, ts+24825, libc.VaList(bp, nn, z))
+	jsonPrintf(tls, nn+2, pStr, ts+24872, libc.VaList(bp, nn, z))
 }
 
 func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
@@ -120447,7 +120505,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
 	pNode = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(i)*16
 	pUp = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(iUp)*16
 	if int32((*JsonNode)(unsafe.Pointer(pUp)).FeType) == JSON_ARRAY {
-		jsonPrintf(tls, 30, pStr, ts+24831, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
+		jsonPrintf(tls, 30, pStr, ts+24878, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
 	} else {
 		if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_LABEL == 0 {
 			pNode -= 16
@@ -120543,7 +120601,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 					jsonAppendChar(tls, bp+8, uint8('$'))
 				}
 				if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY {
-					jsonPrintf(tls, 30, bp+8, ts+24831, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
+					jsonPrintf(tls, 30, bp+8, ts+24878, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
 				} else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT {
 					jsonAppendObjectPathElement(tls, bp+8, pThis)
 				}
@@ -120567,7 +120625,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 		{
 			var zRoot uintptr = (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot
 			if zRoot == uintptr(0) {
-				zRoot = ts + 24836
+				zRoot = ts + 24883
 			}
 			Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0))
 			break
@@ -120689,7 +120747,7 @@ func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, ar
 		var rc int32 = SQLITE_NOMEM
 		if int32((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.Foom) == 0 {
 			Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg)
-			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24546, 0)
+			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24593, 0)
 			if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 {
 				rc = SQLITE_ERROR
 			}
@@ -120784,25 +120842,25 @@ func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) {
 }
 
 var aJsonFunc = [19]FuncDef{
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24838},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24843},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24854},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24854},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24872},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 24885},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 24888},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24892},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24904},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24916},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24927},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24938},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24950},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 24963},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24972},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24972},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24982},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24993},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25010}}
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24885},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24890},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24901},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24901},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24919},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 24932},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 24935},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24939},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24951},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24963},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24974},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24985},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24997},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 25010},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25019},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25019},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25029},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25040},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25057}}
 
 // Register the JSON table-valued functions
 func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 {
@@ -120821,8 +120879,8 @@ var aMod = [2]struct {
 	FzName   uintptr
 	FpModule uintptr
 }{
-	{FzName: ts + 25028, FpModule: 0},
-	{FzName: ts + 25038, FpModule: 0},
+	{FzName: ts + 25075, FpModule: 0},
+	{FzName: ts + 25085, FpModule: 0},
 }
 
 type Rtree1 = struct {
@@ -121082,11 +121140,11 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo
 		}
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) {
-		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25048, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25095, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		if zTab == uintptr(0) {
 			return SQLITE_NOMEM
 		}
-		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25056, iNode, 0,
+		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25103, iNode, 0,
 			pRtree+112)
 		Xsqlite3_free(tls, zTab)
 	}
@@ -121297,7 +121355,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32
 	var zCreate uintptr = Xsqlite3_mprintf(tls,
-		ts+25061,
+		ts+25108,
 		libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
@@ -121995,7 +122053,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 {
 	var pSrc uintptr
 	var pInfo uintptr
 
-	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25143)
+	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25190)
 	if pSrc == uintptr(0) {
 		return SQLITE_ERROR
 	}
@@ -123336,7 +123394,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+25157, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+	zSql = Xsqlite3_mprintf(tls, ts+25204, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 	if zSql != 0 {
 		rc = Xsqlite3_prepare_v2(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -1, bp+56, uintptr(0))
 	} else {
@@ -123348,12 +123406,12 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 		if iCol == 0 {
 			var zCol uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 0)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25177, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
+				ts+25224, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
 		} else {
 			var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol)
 			var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol+1)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25209, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
+				ts+25256, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
 		}
 	}
 
@@ -123579,7 +123637,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32 = SQLITE_NOMEM
 	var zSql uintptr = Xsqlite3_mprintf(tls,
-		ts+25246, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
+		ts+25293, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
 	if zSql != 0 {
 		nodeBlobReset(tls, pRtree)
 		rc = Xsqlite3_exec(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0))
@@ -123602,7 +123660,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 {
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	var zFmt uintptr = ts + 25391
+	var zFmt uintptr = ts + 25438
 	var zSql uintptr
 
 	var rc int32
@@ -123650,7 +123708,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName1 = [3]uintptr{
-	ts + 25447, ts + 5060, ts + 16267,
+	ts + 25494, ts + 5060, ts + 16267,
 }
 
 var rtreeModule = Sqlite3_module{
@@ -123693,19 +123751,19 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		var p uintptr = Xsqlite3_str_new(tls, db)
 		var ii int32
 		Xsqlite3_str_appendf(tls, p,
-			ts+25452,
+			ts+25499,
 			libc.VaList(bp, zDb, zPrefix))
 		for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
-			Xsqlite3_str_appendf(tls, p, ts+25514, libc.VaList(bp+16, ii))
+			Xsqlite3_str_appendf(tls, p, ts+25561, libc.VaList(bp+16, ii))
 		}
 		Xsqlite3_str_appendf(tls, p,
-			ts+25519,
+			ts+25566,
 			libc.VaList(bp+24, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25583,
+			ts+25630,
 			libc.VaList(bp+40, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25653,
+			ts+25700,
 			libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))
 		zCreate = Xsqlite3_str_finish(tls, p)
 		if !(zCreate != 0) {
@@ -123734,7 +123792,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		if i != 3 || int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) == 0 {
 			zFormat = azSql[i]
 		} else {
-			zFormat = ts + 25702
+			zFormat = ts + 25749
 		}
 		zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix))
 		if zSql != 0 {
@@ -123746,7 +123804,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FnAux != 0 {
 		(*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls,
-			ts+25810,
+			ts+25857,
 			libc.VaList(bp+96, zDb, zPrefix))
 		if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -123754,18 +123812,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 			var p uintptr = Xsqlite3_str_new(tls, db)
 			var ii int32
 			var zSql uintptr
-			Xsqlite3_str_appendf(tls, p, ts+25855, libc.VaList(bp+112, zDb, zPrefix))
+			Xsqlite3_str_appendf(tls, p, ts+25902, libc.VaList(bp+112, zDb, zPrefix))
 			for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
 				if ii != 0 {
 					Xsqlite3_str_append(tls, p, ts+12767, 1)
 				}
 				if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) {
-					Xsqlite3_str_appendf(tls, p, ts+25882, libc.VaList(bp+128, ii, ii+2, ii))
+					Xsqlite3_str_appendf(tls, p, ts+25929, libc.VaList(bp+128, ii, ii+2, ii))
 				} else {
-					Xsqlite3_str_appendf(tls, p, ts+25904, libc.VaList(bp+152, ii, ii+2))
+					Xsqlite3_str_appendf(tls, p, ts+25951, libc.VaList(bp+152, ii, ii+2))
 				}
 			}
-			Xsqlite3_str_appendf(tls, p, ts+25912, 0)
+			Xsqlite3_str_appendf(tls, p, ts+25959, 0)
 			zSql = Xsqlite3_str_finish(tls, p)
 			if zSql == uintptr(0) {
 				rc = SQLITE_NOMEM
@@ -123780,14 +123838,14 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 }
 
 var azSql = [8]uintptr{
-	ts + 25928,
-	ts + 25981,
-	ts + 26026,
-	ts + 26078,
-	ts + 26132,
-	ts + 26177,
-	ts + 26235,
-	ts + 26290,
+	ts + 25975,
+	ts + 26028,
+	ts + 26073,
+	ts + 26125,
+	ts + 26179,
+	ts + 26224,
+	ts + 26282,
+	ts + 26337,
 }
 
 func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 {
@@ -123816,7 +123874,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 	var zSql uintptr
 	if isCreate != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = 0
-		zSql = Xsqlite3_mprintf(tls, ts+26337, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
+		zSql = Xsqlite3_mprintf(tls, ts+26384, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
 		rc = getIntFromStmt(tls, db, zSql, bp+48)
 		if rc == SQLITE_OK {
 			(*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp + 48)) - 64
@@ -123828,7 +123886,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		}
 	} else {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+26357,
+			ts+26404,
 			libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		rc = getIntFromStmt(tls, db, zSql, pRtree+32)
 		if rc != SQLITE_OK {
@@ -123836,7 +123894,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		} else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < 512-64 {
 			rc = SQLITE_CORRUPT | int32(1)<<8
 
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26414,
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26461,
 				libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		}
 	}
@@ -123878,10 +123936,10 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr
 	ii = 4
 	*(*[5]uintptr)(unsafe.Pointer(bp + 96)) = [5]uintptr{
 		uintptr(0),
-		ts + 26449,
-		ts + 26492,
-		ts + 26527,
-		ts + 26563,
+		ts + 26496,
+		ts + 26539,
+		ts + 26574,
+		ts + 26610,
 	}
 
 	if !(argc < 6 || argc > RTREE_MAX_AUX_COLUMN+3) {
@@ -123912,7 +123970,7 @@ __2:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+26600,
+	Xsqlite3_str_appendf(tls, pSql, ts+26647,
 		libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8))))
 	ii = 4
 __3:
@@ -123924,7 +123982,7 @@ __3:
 		goto __6
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+26624, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
+	Xsqlite3_str_appendf(tls, pSql, ts+26671, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
 	goto __7
 __6:
 	if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) {
@@ -123947,7 +124005,7 @@ __4:
 	goto __5
 __5:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26630, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26677, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __10
@@ -124043,7 +124101,7 @@ __25:
 	return rc
 }
 
-var azFormat = [2]uintptr{ts + 26633, ts + 26644}
+var azFormat = [2]uintptr{ts + 26680, ts + 26691}
 
 func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	bp := tls.Alloc(1072)
@@ -124083,11 +124141,11 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 		if ii > 0 {
 			Xsqlite3_str_append(tls, pOut, ts+10920, 1)
 		}
-		Xsqlite3_str_appendf(tls, pOut, ts+26654, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
+		Xsqlite3_str_appendf(tls, pOut, ts+26701, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
 		for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+56)).FnDim2); jj++ {
-			Xsqlite3_str_appendf(tls, pOut, ts+26660, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
+			Xsqlite3_str_appendf(tls, pOut, ts+26707, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
 		}
-		Xsqlite3_str_append(tls, pOut, ts+26664, 1)
+		Xsqlite3_str_append(tls, pOut, ts+26711, 1)
 	}
 	errCode = Xsqlite3_str_errcode(tls, pOut)
 	Xsqlite3_result_text(tls, ctx, Xsqlite3_str_finish(tls, pOut), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
@@ -124098,7 +124156,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	_ = nArg
 	if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB ||
 		Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 {
-		Xsqlite3_result_error(tls, ctx, ts+26666, -1)
+		Xsqlite3_result_error(tls, ctx, ts+26713, -1)
 	} else {
 		var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 		if zBlob != 0 {
@@ -124176,7 +124234,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr
 		if z == uintptr(0) {
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM
 		} else {
-			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26699,
+			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26746,
 				libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr {
 					if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 {
 						return ts + 4062
@@ -124200,7 +124258,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) {
 		(*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = rtreeCheckPrepare(tls, pCheck,
-			ts+26706,
+			ts+26753,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab))
 	}
 
@@ -124219,7 +124277,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 		}
 		rtreeCheckReset(tls, pCheck, (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode)
 		if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) {
-			rtreeCheckAppendMsg(tls, pCheck, ts+26751, libc.VaList(bp+16, iNode))
+			rtreeCheckAppendMsg(tls, pCheck, ts+26798, libc.VaList(bp+16, iNode))
 		}
 	}
 
@@ -124233,8 +124291,8 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	var rc int32
 	var pStmt uintptr
 	*(*[2]uintptr)(unsafe.Pointer(bp + 80)) = [2]uintptr{
-		ts + 26783,
-		ts + 26837,
+		ts + 26830,
+		ts + 26884,
 	}
 
 	if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) {
@@ -124249,23 +124307,23 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	Xsqlite3_bind_int64(tls, pStmt, 1, iKey)
 	rc = Xsqlite3_step(tls, pStmt)
 	if rc == SQLITE_DONE {
-		rtreeCheckAppendMsg(tls, pCheck, ts+26885,
+		rtreeCheckAppendMsg(tls, pCheck, ts+26932,
 			libc.VaList(bp+16, iKey, iVal, func() uintptr {
 				if bLeaf != 0 {
-					return ts + 26930
+					return ts + 26977
 				}
-				return ts + 26938
+				return ts + 26985
 			}()))
 	} else if rc == SQLITE_ROW {
 		var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0)
 		if ii != iVal {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+26947,
+				ts+26994,
 				libc.VaList(bp+40, iKey, ii, func() uintptr {
 					if bLeaf != 0 {
-						return ts + 26930
+						return ts + 26977
 					}
-					return ts + 26938
+					return ts + 26985
 				}(), iKey, iVal))
 		}
 	}
@@ -124289,7 +124347,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 			return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48)) > *(*RtreeValue)(unsafe.Pointer(bp + 52)))
 		}() != 0 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27005, libc.VaList(bp, i, iCell, iNode))
+				ts+27052, libc.VaList(bp, i, iCell, iNode))
 		}
 
 		if pParent != 0 {
@@ -124309,7 +124367,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 					return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52)) > *(*RtreeValue)(unsafe.Pointer(bp + 60)))
 				}() != 0 {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27053, libc.VaList(bp+24, i, iCell, iNode))
+					ts+27100, libc.VaList(bp+24, i, iCell, iNode))
 			}
 		}
 	}
@@ -124326,14 +124384,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 	if aNode != 0 {
 		if *(*int32)(unsafe.Pointer(bp + 48)) < 4 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27120, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
+				ts+27167, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
 		} else {
 			var nCell int32
 			var i int32
 			if aParent == uintptr(0) {
 				iDepth = readInt16(tls, aNode)
 				if iDepth > RTREE_MAX_DEPTH {
-					rtreeCheckAppendMsg(tls, pCheck, ts+27154, libc.VaList(bp+16, iDepth))
+					rtreeCheckAppendMsg(tls, pCheck, ts+27201, libc.VaList(bp+16, iDepth))
 					Xsqlite3_free(tls, aNode)
 					return
 				}
@@ -124341,7 +124399,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 			nCell = readInt16(tls, aNode+2)
 			if 4+nCell*(8+(*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim*2*4) > *(*int32)(unsafe.Pointer(bp + 48)) {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27184,
+					ts+27231,
 					libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48))))
 			} else {
 				for i = 0; i < nCell; i++ {
@@ -124370,14 +124428,14 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) {
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK {
 		var pCount uintptr
-		pCount = rtreeCheckPrepare(tls, pCheck, ts+27239,
+		pCount = rtreeCheckPrepare(tls, pCheck, ts+27286,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl))
 		if pCount != 0 {
 			if Xsqlite3_step(tls, pCount) == SQLITE_ROW {
 				var nActual I64 = Xsqlite3_column_int64(tls, pCount, 0)
 				if nActual != nExpect {
 					rtreeCheckAppendMsg(tls, pCheck,
-						ts+27270, libc.VaList(bp+24, zTbl, nExpect, nActual))
+						ts+27317, libc.VaList(bp+24, zTbl, nExpect, nActual))
 				}
 			}
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount)
@@ -124404,7 +124462,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	}
 
 	if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
-		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27337, libc.VaList(bp, zDb, zTab))
+		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27384, libc.VaList(bp, zDb, zTab))
 		if pStmt != 0 {
 			nAux = Xsqlite3_column_count(tls, pStmt) - 2
 			Xsqlite3_finalize(tls, pStmt)
@@ -124413,12 +124471,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		}
 	}
 
-	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25157, libc.VaList(bp+16, zDb, zTab))
+	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25204, libc.VaList(bp+16, zDb, zTab))
 	if pStmt != 0 {
 		var rc int32
 		(*RtreeCheck)(unsafe.Pointer(bp + 32)).FnDim = (Xsqlite3_column_count(tls, pStmt) - 1 - nAux) / 2
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).FnDim < 1 {
-			rtreeCheckAppendMsg(tls, bp+32, ts+27365, 0)
+			rtreeCheckAppendMsg(tls, bp+32, ts+27412, 0)
 		} else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).FbInt = libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)
 		}
@@ -124432,8 +124490,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			rtreeCheckNode(tls, bp+32, 0, uintptr(0), int64(1))
 		}
-		rtreeCheckCount(tls, bp+32, ts+27396, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
-		rtreeCheckCount(tls, bp+32, ts+27403, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27443, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27450, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
 	}
 
 	Xsqlite3_finalize(tls, (*RtreeCheck)(unsafe.Pointer(bp+32)).FpGetNode)
@@ -124441,7 +124499,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 + 40 + 1*8)))
 
 	if bEnd != 0 {
-		var rc int32 = Xsqlite3_exec(tls, db, ts+27411, uintptr(0), uintptr(0), uintptr(0))
+		var rc int32 = Xsqlite3_exec(tls, db, ts+27458, uintptr(0), uintptr(0), uintptr(0))
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).Frc = rc
 		}
@@ -124456,7 +124514,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 
 	if nArg != 1 && nArg != 2 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+27415, -1)
+			ts+27462, -1)
 	} else {
 		var rc int32
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
@@ -124474,7 +124532,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 				if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
 					return *(*uintptr)(unsafe.Pointer(bp))
 				}
-				return ts + 18012
+				return ts + 18059
 			}(), -1, libc.UintptrFromInt32(-1))
 		} else {
 			Xsqlite3_result_error_code(tls, ctx, rc)
@@ -124845,11 +124903,11 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var db uintptr = Xsqlite3_context_db_handle(tls, context)
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
-		Xsqlite3_str_append(tls, x, ts+27466, 1)
+		Xsqlite3_str_append(tls, x, ts+27513, 1)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27468, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27515, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27479, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27526, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -124869,19 +124927,19 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
 		var cSep uint8 = uint8('\'')
-		Xsqlite3_str_appendf(tls, x, ts+27490, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27537, 0)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27508, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27555, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 			cSep = uint8(' ')
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27516, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27563, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		for i = 1; i < argc; i++ {
 			var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 			if z != 0 && *(*uint8)(unsafe.Pointer(z)) != 0 {
-				Xsqlite3_str_appendf(tls, x, ts+27524, libc.VaList(bp+40, z))
+				Xsqlite3_str_appendf(tls, x, ts+27571, libc.VaList(bp+40, z))
 			}
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27528, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27575, 0)
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -125801,7 +125859,7 @@ __1:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+27541, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+27588, 0)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1)
 	ii = 3
@@ -125810,7 +125868,7 @@ __2:
 		goto __4
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+27563, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
+	Xsqlite3_str_appendf(tls, pSql, ts+27610, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
 	goto __3
 __3:
 	ii++
@@ -125818,7 +125876,7 @@ __3:
 	goto __4
 __4:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26630, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26677, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __5
@@ -126055,7 +126113,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 	}
 	if iFuncTerm >= 0 {
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum
-		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27567
+		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27614
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).FargvIndex = 1
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).Fomit = uint8(0)
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 300.0
@@ -126063,7 +126121,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 		return SQLITE_OK
 	}
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4
-	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27573
+	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27620
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000)
 	return SQLITE_OK
@@ -126175,7 +126233,7 @@ __1:
 	if !(*(*int32)(unsafe.Pointer(bp + 48)) == SQLITE_ERROR) {
 		goto __4
 	}
-	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27582, 0)
+	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27629, 0)
 __4:
 	;
 	goto geopoly_update_end
@@ -126307,14 +126365,14 @@ geopoly_update_end:
 func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 {
 	_ = pVtab
 	_ = nArg
-	if Xsqlite3_stricmp(tls, zName, ts+27622) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27669) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyOverlapFunc}))
 		*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
 		return SQLITE_INDEX_CONSTRAINT_FUNCTION
 	}
-	if Xsqlite3_stricmp(tls, zName, ts+27638) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27685) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyWithinFunc}))
@@ -126379,7 +126437,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 {
 			uintptr(0), aAgg[i].FxStep, aAgg[i].FxFinal)
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27653, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27700, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
 	}
 	return rc
 }
@@ -126391,25 +126449,25 @@ var aFunc = [12]struct {
 	F__ccgo_pad1 [6]byte
 	FzName       uintptr
 }{
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27661},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27674},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27687},
-	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27700},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27638},
-	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27712},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27622},
-	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27735},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27749},
-	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27762},
-	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27776},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27792},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27708},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27721},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27734},
+	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27747},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27685},
+	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27759},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27669},
+	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27782},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27796},
+	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27809},
+	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27823},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27839},
 }
 var aAgg = [1]struct {
 	FxStep  uintptr
 	FxFinal uintptr
 	FzName  uintptr
 }{
-	{FxStep: 0, FxFinal: 0, FzName: ts + 27804},
+	{FxStep: 0, FxFinal: 0, FzName: ts + 27851},
 }
 
 // Register the r-tree module with database handle db. This creates the
@@ -126419,26 +126477,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 {
 	var utf8 int32 = SQLITE_UTF8
 	var rc int32
 
-	rc = Xsqlite3_create_function(tls, db, ts+27823, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	rc = Xsqlite3_create_function(tls, db, ts+27870, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr)
 	}{rtreenode})), uintptr(0), uintptr(0))
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27833, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27880, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreedepth})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27844, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27891, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreecheck})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_REAL32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27567, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27614, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_INT32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27855, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27902, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		rc = sqlite3_geopoly_init(tls, db)
@@ -126492,7 +126550,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
 			Xsqlite3_result_error_nomem(tls, ctx)
 			rtreeMatchArgFree(tls, pBlob)
 		} else {
-			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25143, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
+			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25190, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
 		}
 	}
 }
@@ -126819,7 +126877,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 
 	nOut = rbuDeltaOutputSize(tls, aDelta, nDelta)
 	if nOut < 0 {
-		Xsqlite3_result_error(tls, context, ts+27865, -1)
+		Xsqlite3_result_error(tls, context, ts+27912, -1)
 		return
 	}
 
@@ -126830,7 +126888,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 		nOut2 = rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut)
 		if nOut2 != nOut {
 			Xsqlite3_free(tls, aOut)
-			Xsqlite3_result_error(tls, context, ts+27865, -1)
+			Xsqlite3_result_error(tls, context, ts+27912, -1)
 		} else {
 			Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		}
@@ -126931,7 +126989,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuObjIterClearStatements(tls, pIter)
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) {
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+27886, uintptr(0), uintptr(0), p+64)
+				ts+27933, uintptr(0), uintptr(0), p+64)
 		}
 
 		if rc == SQLITE_OK {
@@ -126995,7 +127053,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) {
 				Xsqlite3_result_text(tls, pCtx, zIn, -1, uintptr(0))
 			}
 		} else {
-			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25056, zIn, uint64(4)) == 0 {
+			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25103, zIn, uint64(4)) == 0 {
 				var i int32
 				for i = 4; int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) >= '0' && int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) <= '9'; i++ {
 				}
@@ -127016,16 +127074,16 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 
 	rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28057, libc.VaList(bp, func() uintptr {
+			ts+28104, libc.VaList(bp, func() uintptr {
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					return ts + 28207
+					return ts + 28254
 				}
 				return ts + 1554
 			}())))
 
 	if rc == SQLITE_OK {
 		rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64,
-			ts+28248)
+			ts+28295)
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1
@@ -127141,7 +127199,7 @@ func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28373, libc.VaList(bp, zTab)))
+			ts+28420, libc.VaList(bp, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) != SQLITE_ROW) {
 		goto __1
 	}
@@ -127159,7 +127217,7 @@ __2:
 	*(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), 1)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+1*8, p+64,
-		Xsqlite3_mprintf(tls, ts+28492, libc.VaList(bp+8, zTab)))
+		Xsqlite3_mprintf(tls, ts+28539, libc.VaList(bp+8, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) {
 		goto __3
 	}
@@ -127177,7 +127235,7 @@ __4:
 	}
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+2*8, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28513, libc.VaList(bp+16, zIdx)))
+			ts+28560, libc.VaList(bp+16, zIdx)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __7
 	}
@@ -127200,7 +127258,7 @@ __6:
 __5:
 	;
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+3*8, p+64,
-		Xsqlite3_mprintf(tls, ts+28564, libc.VaList(bp+24, zTab)))
+		Xsqlite3_mprintf(tls, ts+28611, libc.VaList(bp+24, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __10
 	}
@@ -127246,7 +127304,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		libc.Xmemcpy(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+16, p+64,
-			Xsqlite3_mprintf(tls, ts+28585, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28632, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0
@@ -127261,7 +127319,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 			libc.Xmemset(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0x01, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		}
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp+8, zIdx)))
+			Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp+8, zIdx)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
 			var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 1)
 			if iCid >= 0 {
@@ -127301,7 +127359,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+56, pIter+108)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19489, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19536, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
 			return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc
@@ -127311,18 +127369,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		}
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+64, p+64,
-			Xsqlite3_mprintf(tls, ts+28642, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
+			Xsqlite3_mprintf(tls, ts+28689, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 			rbuAllocateIterArrays(tls, p, pIter, nCol)
 		}
 		for i = 0; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && i < nCol; i++ {
 			var zName uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), i)
-			if Xsqlite3_strnicmp(tls, ts+28661, zName, 4) != 0 {
+			if Xsqlite3_strnicmp(tls, ts+28708, zName, 4) != 0 {
 				var zCopy uintptr = rbuStrndup(tls, zName, p+56)
 				*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol
 				*(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(libc.PostIncInt32(&(*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol, 1))*8)) = zCopy
-			} else if 0 == Xsqlite3_stricmp(tls, ts+28666, zName) {
+			} else if 0 == Xsqlite3_stricmp(tls, ts+28713, zName) {
 				bRbuRowid = 1
 			}
 		}
@@ -127334,18 +127392,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			bRbuRowid != libc.Bool32((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls,
-				ts+28676, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
+				ts+28723, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 					func() uintptr {
 						if bRbuRowid != 0 {
-							return ts + 28705
+							return ts + 28752
 						}
-						return ts + 28718
+						return ts + 28765
 					}()))
 		}
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-				Xsqlite3_mprintf(tls, ts+28727, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				Xsqlite3_mprintf(tls, ts+28774, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		}
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64))) {
 			var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 1)
@@ -127359,7 +127417,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			}
 			if i == (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28749,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28796,
 					libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName))
 			} else {
 				var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 5)
@@ -127406,7 +127464,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var i int32
 	for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 		var z uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-		zList = rbuMPrintf(tls, p, ts+28776, libc.VaList(bp, zList, zSep, z))
+		zList = rbuMPrintf(tls, p, ts+28823, libc.VaList(bp, zList, zSep, z))
 		zSep = ts + 14614
 	}
 	return zList
@@ -127424,7 +127482,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr,
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if int32(*(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zRet = rbuMPrintf(tls, p, ts+28785, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
+				zRet = rbuMPrintf(tls, p, ts+28832, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
 				zSep = zSeparator
 				break
 			}
@@ -127446,25 +127504,25 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32,
 	if bRowid != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+28798, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				ts+28845, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 			var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-			zRet = rbuMPrintf(tls, p, ts+28830, libc.VaList(bp+16, iMax))
+			zRet = rbuMPrintf(tls, p, ts+28877, libc.VaList(bp+16, iMax))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 	} else {
-		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+28853)
-		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28859, ts+28866, ts+4957)
+		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+28900)
+		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28906, ts+28913, ts+4957)
 		var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+1554)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 				Xsqlite3_mprintf(tls,
-					ts+28874,
+					ts+28921,
 					libc.VaList(bp+24, zSelect, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 				var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-				zRet = rbuMPrintf(tls, p, ts+28916, libc.VaList(bp+56, zList, zVal))
+				zRet = rbuMPrintf(tls, p, ts+28963, libc.VaList(bp+56, zList, zVal))
 			}
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 		}
@@ -127506,7 +127564,7 @@ func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	*(*uintptr)(unsafe.Pointer(bp + 176)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-		Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+		Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 __1:
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176)))) {
 		goto __2
@@ -127541,7 +127599,7 @@ __10:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 	goto __7
 __6:
-	zCol = ts + 28936
+	zCol = ts + 28983
 __7:
 	;
 	goto __5
@@ -127549,11 +127607,11 @@ __4:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 __5:
 	;
-	zLhs = rbuMPrintf(tls, p, ts+28944,
+	zLhs = rbuMPrintf(tls, p, ts+28991,
 		libc.VaList(bp+8, zLhs, zSep, zCol, zCollate))
-	zOrder = rbuMPrintf(tls, p, ts+28965,
+	zOrder = rbuMPrintf(tls, p, ts+29012,
 		libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate))
-	zSelect = rbuMPrintf(tls, p, ts+29001,
+	zSelect = rbuMPrintf(tls, p, ts+29048,
 		libc.VaList(bp+80, zSelect, zSep, iCol, zCol))
 	zSep = ts + 14614
 	iCol++
@@ -127573,7 +127631,7 @@ __11:
 	*(*uintptr)(unsafe.Pointer(bp + 184)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+184, p+64,
-		Xsqlite3_mprintf(tls, ts+29028,
+		Xsqlite3_mprintf(tls, ts+29075,
 			libc.VaList(bp+112, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 184)))) {
 		goto __13
@@ -127600,7 +127658,7 @@ __19:
 	;
 __18:
 	;
-	zVector = rbuMPrintf(tls, p, ts+29076, libc.VaList(bp+136, zVector, zSep, zQuoted))
+	zVector = rbuMPrintf(tls, p, ts+29123, libc.VaList(bp+136, zVector, zSep, zQuoted))
 	zSep = ts + 14614
 	goto __15
 __15:
@@ -127612,7 +127670,7 @@ __16:
 	if !!(bFailed != 0) {
 		goto __20
 	}
-	zRet = rbuMPrintf(tls, p, ts+29083, libc.VaList(bp+160, zLhs, zVector))
+	zRet = rbuMPrintf(tls, p, ts+29130, libc.VaList(bp+160, zLhs, zVector))
 __20:
 	;
 __13:
@@ -127645,7 +127703,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 	if rc == SQLITE_OK {
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200, p+64,
-			Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+			Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 	}
 
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200))) {
@@ -127657,7 +127715,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 		if iCid == -2 {
 			var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 0)
-			zRet = Xsqlite3_mprintf(tls, ts+29095, libc.VaList(bp+8, zRet, zCom,
+			zRet = Xsqlite3_mprintf(tls, ts+29142, libc.VaList(bp+8, zRet, zCom,
 				(*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FnSpan, (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FzSpan, zCollate))
 			zType = ts + 1554
 		} else {
@@ -127669,37 +127727,37 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 					zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 				} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					zCol = ts + 28936
+					zCol = ts + 28983
 				} else {
-					zCol = ts + 28666
+					zCol = ts + 28713
 				}
 				zType = ts + 1119
 			} else {
 				zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 				zType = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8))
 			}
-			zRet = Xsqlite3_mprintf(tls, ts+29117, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
+			zRet = Xsqlite3_mprintf(tls, ts+29164, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 5) != 0 {
 			var zOrder uintptr = func() uintptr {
 				if bDesc != 0 {
-					return ts + 28853
+					return ts + 28900
 				}
 				return ts + 1554
 			}()
-			zImpPK = Xsqlite3_mprintf(tls, ts+29137,
+			zImpPK = Xsqlite3_mprintf(tls, ts+29184,
 				libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder))
 		}
-		zImpCols = Xsqlite3_mprintf(tls, ts+29158,
+		zImpCols = Xsqlite3_mprintf(tls, ts+29205,
 			libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate))
 		zWhere = Xsqlite3_mprintf(tls,
-			ts+29191, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
+			ts+29238, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
 		if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) {
 			rc = SQLITE_NOMEM
 		}
 		zCom = ts + 14614
-		zAnd = ts + 21525
+		zAnd = ts + 21572
 		nBind++
 	}
 
@@ -127738,9 +127796,9 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = Xsqlite3_mprintf(tls, ts+29215, libc.VaList(bp, zList, zS, zObj, zCol))
+				zList = Xsqlite3_mprintf(tls, ts+29262, libc.VaList(bp, zList, zS, zObj, zCol))
 			} else {
-				zList = Xsqlite3_mprintf(tls, ts+29227, libc.VaList(bp+32, zList, zS))
+				zList = Xsqlite3_mprintf(tls, ts+29274, libc.VaList(bp+32, zList, zS))
 			}
 			zS = ts + 14614
 			if zList == uintptr(0) {
@@ -127750,7 +127808,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-			zList = rbuMPrintf(tls, p, ts+29236, libc.VaList(bp+48, zList, zObj))
+			zList = rbuMPrintf(tls, p, ts+29283, libc.VaList(bp+48, zList, zObj))
 		}
 	}
 	return zList
@@ -127762,18 +127820,18 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	var zList uintptr = uintptr(0)
 	if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-		zList = rbuMPrintf(tls, p, ts+29251, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
+		zList = rbuMPrintf(tls, p, ts+29298, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
 	} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
 		var zSep uintptr = ts + 1554
 		var i int32
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
-				zList = rbuMPrintf(tls, p, ts+29265, libc.VaList(bp+8, zList, zSep, i, i+1))
-				zSep = ts + 21525
+				zList = rbuMPrintf(tls, p, ts+29312, libc.VaList(bp+8, zList, zSep, i, i+1))
+				zSep = ts + 21572
 			}
 		}
 		zList = rbuMPrintf(tls, p,
-			ts+29277, libc.VaList(bp+40, zList))
+			ts+29324, libc.VaList(bp+40, zList))
 
 	} else {
 		var zSep uintptr = ts + 1554
@@ -127781,8 +127839,8 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = rbuMPrintf(tls, p, ts+29327, libc.VaList(bp+48, zList, zSep, zCol, i+1))
-				zSep = ts + 21525
+				zList = rbuMPrintf(tls, p, ts+29374, libc.VaList(bp+48, zList, zSep, zCol, i+1))
+				zSep = ts + 21572
 			}
 		}
 	}
@@ -127791,7 +127849,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 func rbuBadControlError(tls *libc.TLS, p uintptr) {
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29340, 0)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29387, 0)
 }
 
 func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr {
@@ -127809,15 +127867,15 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr
 			for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 				var c uint8 = *(*uint8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4)))))
 				if int32(c) == 'x' {
-					zList = rbuMPrintf(tls, p, ts+29327,
+					zList = rbuMPrintf(tls, p, ts+29374,
 						libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14614
 				} else if int32(c) == 'd' {
-					zList = rbuMPrintf(tls, p, ts+29366,
+					zList = rbuMPrintf(tls, p, ts+29413,
 						libc.VaList(bp+32, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14614
 				} else if int32(c) == 'f' {
-					zList = rbuMPrintf(tls, p, ts+29396,
+					zList = rbuMPrintf(tls, p, ts+29443,
 						libc.VaList(bp+72, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14614
 				}
@@ -127854,19 +127912,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var z uintptr = uintptr(0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		var zSep uintptr = ts + 29433
+		var zSep uintptr = ts + 29480
 		*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 		*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56, p+64,
-			Xsqlite3_mprintf(tls, ts+28585, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28632, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) {
 			var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 3)
 			if zOrig != 0 && libc.Xstrcmp(tls, zOrig, ts+16155) == 0 {
 				var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 1)
 				if zIdx != 0 {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-						Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp+8, zIdx)))
+						Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp+8, zIdx)))
 				}
 				break
 			}
@@ -127878,15 +127936,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 				var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 2)
 				var zDesc uintptr
 				if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 3) != 0 {
-					zDesc = ts + 28853
+					zDesc = ts + 28900
 				} else {
 					zDesc = ts + 1554
 				}
-				z = rbuMPrintf(tls, p, ts+29446, libc.VaList(bp+16, z, zSep, zCol, zDesc))
+				z = rbuMPrintf(tls, p, ts+29493, libc.VaList(bp+16, z, zSep, zCol, zDesc))
 				zSep = ts + 14614
 			}
 		}
-		z = rbuMPrintf(tls, p, ts+29457, libc.VaList(bp+48, z))
+		z = rbuMPrintf(tls, p, ts+29504, libc.VaList(bp+48, z))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
 	return z
@@ -127906,7 +127964,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		var zPk uintptr = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168, p+64,
-			ts+29461)
+			ts+29508)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168)), 1, tnum)
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168))) {
@@ -127915,7 +127973,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		}
 		if zIdx != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-				Xsqlite3_mprintf(tls, ts+28613, libc.VaList(bp, zIdx)))
+				Xsqlite3_mprintf(tls, ts+28660, libc.VaList(bp, zIdx)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168)))
 
@@ -127925,23 +127983,23 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 				var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 1)
 				var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 3)
 				var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 4)
-				zCols = rbuMPrintf(tls, p, ts+29511, libc.VaList(bp+8, zCols, zComma,
+				zCols = rbuMPrintf(tls, p, ts+29558, libc.VaList(bp+8, zCols, zComma,
 					iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate))
-				zPk = rbuMPrintf(tls, p, ts+29533, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
+				zPk = rbuMPrintf(tls, p, ts+29580, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
 					if bDesc != 0 {
-						return ts + 28853
+						return ts + 28900
 					}
 					return ts + 1554
 				}()))
 				zComma = ts + 14614
 			}
 		}
-		zCols = rbuMPrintf(tls, p, ts+29543, libc.VaList(bp+80, zCols))
+		zCols = rbuMPrintf(tls, p, ts+29590, libc.VaList(bp+80, zCols))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176)))
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 1, tnum))
 		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+29558,
+			ts+29605,
 			libc.VaList(bp+120, zCols, zPk))
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 0, 0))
 	}
@@ -127967,13 +128025,13 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192, uintptr(0), uintptr(0), uintptr(0))
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 {
-				zPk = ts + 29620
+				zPk = ts + 29667
 			}
-			zSql = rbuMPrintf(tls, p, ts+29633,
+			zSql = rbuMPrintf(tls, p, ts+29680,
 				libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192)),
 					func() uintptr {
 						if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 {
-							return ts + 29660
+							return ts + 29707
 						}
 						return ts + 1554
 					}()))
@@ -127983,16 +128041,16 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
 			var zPk uintptr = rbuWithoutRowidPK(tls, p, pIter)
 			if zPk != 0 {
-				zSql = rbuMPrintf(tls, p, ts+29670, libc.VaList(bp+88, zSql, zPk))
+				zSql = rbuMPrintf(tls, p, ts+29717, libc.VaList(bp+88, zSql, zPk))
 			}
 		}
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 1, tnum))
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29677,
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29724,
 			libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql,
 				func() uintptr {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
-						return ts + 29709
+						return ts + 29756
 					}
 					return ts + 1554
 				}()))
@@ -128009,7 +128067,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis
 	if zBind != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls,
-				ts+29724,
+				ts+29771,
 				libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind)))
 	}
 }
@@ -128046,7 +128104,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(bp + 8)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64,
-			ts+29781)
+			ts+29828)
 	}
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		var rc2 int32
@@ -128151,7 +128209,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 		var zLimit uintptr = uintptr(0)
 
 		if nOffset != 0 {
-			zLimit = Xsqlite3_mprintf(tls, ts+29847, libc.VaList(bp, nOffset))
+			zLimit = Xsqlite3_mprintf(tls, ts+29894, libc.VaList(bp, nOffset))
 			if !(zLimit != 0) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
 			}
@@ -128174,7 +128232,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 0, 1))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 1, tnum))
 			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+29867,
+				ts+29914,
 				libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600)), *(*uintptr)(unsafe.Pointer(bp + 608))))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, 0, 0))
 
@@ -128182,13 +128240,13 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64,
-					Xsqlite3_mprintf(tls, ts+29932, libc.VaList(bp+128, zTbl, zBind)))
+					Xsqlite3_mprintf(tls, ts+29979, libc.VaList(bp+128, zTbl, zBind)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64,
-					Xsqlite3_mprintf(tls, ts+29968, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
+					Xsqlite3_mprintf(tls, ts+30015, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
 			}
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -128204,7 +128262,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					}
 
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30002,
+						ts+30049,
 						libc.VaList(bp+160, zCollist,
 							(*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
@@ -128212,9 +128270,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								if zStart != 0 {
 									return func() uintptr {
 										if zPart != 0 {
-											return ts + 30063
+											return ts + 30110
 										}
-										return ts + 30067
+										return ts + 30114
 									}()
 								}
 								return ts + 1554
@@ -128223,20 +128281,20 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					Xsqlite3_free(tls, zStart)
 				} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30073,
+						ts+30120,
 						libc.VaList(bp+216, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart, zCollist, zLimit))
 				} else {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30134,
+						ts+30181,
 						libc.VaList(bp+264, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart,
 							zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
 							func() uintptr {
 								if zPart != 0 {
-									return ts + 30063
+									return ts + 30110
 								}
-								return ts + 30067
+								return ts + 30114
 							}(),
 							zCollist, zLimit))
 				}
@@ -128273,16 +128331,16 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB {
 					return ts + 1554
 				}
-				return ts + 30293
+				return ts + 30340
 			}()
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30302,
+						ts+30349,
 						libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr {
 							if bRbuRowid != 0 {
-								return ts + 30338
+								return ts + 30385
 							}
 							return ts + 1554
 						}(), zBindings)))
@@ -128291,32 +128349,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30348, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
+						ts+30395, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 				var zRbuRowid uintptr = ts + 1554
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-					zRbuRowid = ts + 30376
+					zRbuRowid = ts + 30423
 				}
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-					ts+30388, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
+					ts+30435, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
 						if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
-							return ts + 30464
+							return ts + 30511
 						}
 						return ts + 1554
 					}(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-					ts+30481,
+					ts+30528,
 					libc.VaList(bp+440, zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zNewlist))
 
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-						ts+30780,
+						ts+30827,
 						libc.VaList(bp+512, zWrite, zTbl, zNewlist))
 				}
 
@@ -128329,9 +128387,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				var zOrder uintptr = uintptr(0)
 				if bRbuRowid != 0 {
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-						zRbuRowid = ts + 30879
+						zRbuRowid = ts + 30926
 					} else {
-						zRbuRowid = ts + 30889
+						zRbuRowid = ts + 30936
 					}
 				}
 
@@ -128344,7 +128402,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 						}
 					}
 					if bRbuRowid != 0 {
-						zOrder = rbuMPrintf(tls, p, ts+28936, 0)
+						zOrder = rbuMPrintf(tls, p, ts+28983, 0)
 					} else {
 						zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+1554, ts+14614, ts+1554)
 					}
@@ -128353,11 +128411,11 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz,
 						Xsqlite3_mprintf(tls,
-							ts+30900,
+							ts+30947,
 							libc.VaList(bp+536, zCollist,
 								func() uintptr {
 									if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-										return ts + 30948
+										return ts + 30995
 									}
 									return ts + 1554
 								}(),
@@ -128370,7 +128428,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								}(),
 								func() uintptr {
 									if zOrder != 0 {
-										return ts + 22859
+										return ts + 22906
 									}
 									return ts + 1554
 								}(), zOrder,
@@ -128438,9 +128496,9 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp
 			var zPrefix uintptr = ts + 1554
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB {
-				zPrefix = ts + 30293
+				zPrefix = ts + 30340
 			}
-			zUpdate = Xsqlite3_mprintf(tls, ts+30954,
+			zUpdate = Xsqlite3_mprintf(tls, ts+31001,
 				libc.VaList(bp, zPrefix, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere))
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate)
@@ -128499,7 +128557,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr {
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 16)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8, p+64,
-		Xsqlite3_mprintf(tls, ts+30984, libc.VaList(bp, p+48)))
+		Xsqlite3_mprintf(tls, ts+31031, libc.VaList(bp, p+48)))
 	for *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 		switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0) {
 		case RBU_STATE_STAGE:
@@ -128572,18 +128630,18 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441, SQLITE_FCNTL_RBUCNT, p)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) {
 			var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441)
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31014, libc.VaList(bp, zFile, zFile))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31061, libc.VaList(bp, zFile, zFile))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 {
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31042, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31089, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
 		libc.Xmemcpy(tls, p+48, ts+3286, uint64(4))
 	} else {
 		libc.Xmemcpy(tls, p+48, ts+6441, uint64(4))
 	}
 
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31060, libc.VaList(bp+24, p+48))
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31107, libc.VaList(bp+24, p+48))
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		var bOpen int32 = 0
@@ -128623,11 +128681,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				return
 			}
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31126, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31173, 0)
 		} else {
 			var zTarget uintptr
 			var zExtra uintptr = uintptr(0)
-			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24206, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
+			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24253, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
 				zExtra = (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5
 				for *(*uint8)(unsafe.Pointer(zExtra)) != 0 {
 					if int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zExtra, 1)))) == '?' {
@@ -128639,13 +128697,13 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				}
 			}
 
-			zTarget = Xsqlite3_mprintf(tls, ts+31158,
+			zTarget = Xsqlite3_mprintf(tls, ts+31205,
 				libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441),
 					func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1554
 						}
-						return ts + 31190
+						return ts + 31237
 					}(), func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1554
@@ -128664,21 +128722,21 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31192, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31239, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTmpInsertFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31207, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31254, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuFossilDeltaFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+31224, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31271, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTargetNameFunc})), uintptr(0), uintptr(0))
 	}
@@ -128686,7 +128744,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, SQLITE_FCNTL_RBU, p)
 	}
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31240, 0)
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31287, 0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, SQLITE_FCNTL_RBU, p)
@@ -128694,7 +128752,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31268, 0)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31315, 0)
 	}
 }
 
@@ -128723,14 +128781,14 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
 	if pState == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = 0
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31240, uintptr(0), uintptr(0), uintptr(0))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31287, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var rc2 int32
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CAPTURE
-		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31286, uintptr(0), uintptr(0), uintptr(0))
+		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31333, uintptr(0), uintptr(0), uintptr(0))
 		if rc2 != SQLITE_NOTICE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 		}
@@ -128856,7 +128914,7 @@ func rbuLockDatabase(tls *libc.TLS, db uintptr) int32 {
 
 func rbuExclusiveCheckpoint(tls *libc.TLS, db uintptr) int32 {
 	var zUri uintptr = Xsqlite3_db_filename(tls, db, uintptr(0))
-	return Xsqlite3_uri_boolean(tls, zUri, ts+31321, 0)
+	return Xsqlite3_uri_boolean(tls, zUri, ts+31368, 0)
 }
 
 func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
@@ -128871,8 +128929,8 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6441)
 	}
-	zOal = Xsqlite3_mprintf(tls, ts+31346, libc.VaList(bp, zMove))
-	zWal = Xsqlite3_mprintf(tls, ts+31353, libc.VaList(bp+8, zMove))
+	zOal = Xsqlite3_mprintf(tls, ts+31393, libc.VaList(bp, zMove))
+	zWal = Xsqlite3_mprintf(tls, ts+31400, libc.VaList(bp+8, zMove))
 
 	if zWal == uintptr(0) || zOal == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
@@ -128989,7 +129047,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) {
 			(*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 &&
 			Xsqlite3_column_type(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect, i) == SQLITE_NULL {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_MISMATCH
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23844, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23891, 0)
 			return
 		}
 
@@ -129082,7 +129140,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 		var iCookie int32 = 1000000
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8, p+64,
-			ts+31360)
+			ts+31407)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 				iCookie = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0)
@@ -129090,7 +129148,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8)))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31382, libc.VaList(bp, iCookie+1))
+			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31429, libc.VaList(bp, iCookie+1))
 		}
 	}
 }
@@ -129111,7 +129169,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) {
 
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+31409,
+				ts+31456,
 				libc.VaList(bp, p+48,
 					RBU_STATE_STAGE, eStage,
 					RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl,
@@ -129141,9 +129199,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+31567, libc.VaList(bp, zPragma)))
+			Xsqlite3_mprintf(tls, ts+31614, libc.VaList(bp, zPragma)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31582,
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31629,
 				libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 0)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -129157,10 +129215,10 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 
-	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31602, uintptr(0), uintptr(0), p+64)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31649, uintptr(0), uintptr(0), p+64)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+31627)
+			ts+31674)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -129174,12 +129232,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+31735)
+			ts+31782)
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64,
-			ts+31800)
+			ts+31847)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -129191,7 +129249,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
 	}
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31844, uintptr(0), uintptr(0), p+64)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31891, uintptr(0), uintptr(0), p+64)
 	}
 
 	rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp)))
@@ -129219,7 +129277,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 {
 						if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 							rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-								ts+31869, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
+								ts+31916, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 						}
 					} else {
 						rbuObjIterPrepareAll(tls, p, pIter, 0)
@@ -129341,7 +129399,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) {
 
 		if rc == SQLITE_OK && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) {
 			rc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31897, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31944, 0)
 		}
 
 		if rc == SQLITE_OK {
@@ -129357,7 +129415,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	var zOal uintptr = rbuMPrintf(tls, p, ts+31346, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
+	var zOal uintptr = rbuMPrintf(tls, p, ts+31393, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
 	if zOal != 0 {
 		*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6441, SQLITE_FCNTL_VFS_POINTER, bp+8)
@@ -129374,7 +129432,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) {
 	defer tls.Free(76)
 
 	Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8)
-	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]uint8{})), bp+12, ts+31922, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
+	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]uint8{})), bp+12, ts+31969, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12, uintptr(0))
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12)
@@ -129408,7 +129466,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) {
 
 	rc = prepareFreeAndCollectError(tls, db, bp+8, bp+16,
 		Xsqlite3_mprintf(tls,
-			ts+31933, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
+			ts+31980, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
 	if rc != SQLITE_OK {
 		Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 16)), -1)
 	} else {
@@ -129438,13 +129496,13 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+32005, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+32052, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuIndexCntFunc})), uintptr(0), uintptr(0))
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32019)
+				ts+32066)
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
@@ -129455,7 +129513,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && bExists != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32076)
+				ts+32123)
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
@@ -129529,7 +129587,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd != 0 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32150, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32197, 0)
 			} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_MOVE {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CKPT
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FnStep = 0
@@ -129547,12 +129605,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 			}()
 			if (*Rbu_file)(unsafe.Pointer(pFd)).FiCookie != (*RbuState)(unsafe.Pointer(pState)).FiCookie {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32182,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32229,
 					libc.VaList(bp+8, func() uintptr {
 						if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-							return ts + 32214
+							return ts + 32261
 						}
-						return ts + 32221
+						return ts + 32268
 					}()))
 			}
 		}
@@ -129576,14 +129634,14 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32228, uintptr(0), uintptr(0), p+64)
+						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32275, uintptr(0), uintptr(0), p+64)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 						var frc int32 = Xsqlite3_file_control(tls, db, ts+6441, SQLITE_FCNTL_ZIPVFS, uintptr(0))
 						if frc == SQLITE_OK {
 							(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls,
-								db, ts+32244, uintptr(0), uintptr(0), p+64)
+								db, ts+32291, uintptr(0), uintptr(0), p+64)
 						}
 					}
 
@@ -129637,7 +129695,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr
 	}
 	if zState != 0 {
 		var n int32 = int32(libc.Xstrlen(tls, zState))
-		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32268, zState+uintptr(n-7), uint64(7)) {
+		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32315, zState+uintptr(n-7), uint64(7)) {
 			return rbuMisuseError(tls)
 		}
 	}
@@ -129664,7 +129722,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) {
 		var i uint32
 		var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg)
 		for i = uint32(0); Size_t(i) < nErrmsg-uint64(8); i++ {
-			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30293, uint64(8)) == 0 {
+			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30340, uint64(8)) == 0 {
 				var nDel int32 = 8
 				for int32(*(*uint8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= '0' && int32(*(*uint8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= '9' {
 					nDel++
@@ -129700,7 +129758,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 {
 		rbuObjIterFinalize(tls, p+80)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 {
-			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32276, uintptr(0), uintptr(0), uintptr(0))
+			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32323, uintptr(0), uintptr(0), uintptr(0))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE && rc2 != SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 			}
@@ -129819,12 +129877,12 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 				zBegin = ts + 14503
 			} else {
-				zBegin = ts + 32228
+				zBegin = ts + 32275
 			}
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32228, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32275, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -130170,7 +130228,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 			})(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16)
 			if rc == SQLITE_OK {
 				rc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32303, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32350, 0)
 			} else if rc == SQLITE_NOTFOUND {
 				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p
 				(*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu
@@ -130195,7 +130253,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 	if rc == SQLITE_OK && op == SQLITE_FCNTL_VFSNAME {
 		var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs
 		var zIn uintptr = *(*uintptr)(unsafe.Pointer(pArg))
-		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32326, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
+		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32373, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
 		*(*uintptr)(unsafe.Pointer(pArg)) = zOut
 		if zOut == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -130355,7 +130413,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags
 	}
 
 	if oflags&SQLITE_OPEN_MAIN_DB != 0 &&
-		Xsqlite3_uri_boolean(tls, zName, ts+32337, 0) != 0 {
+		Xsqlite3_uri_boolean(tls, zName, ts+32384, 0) != 0 {
 		oflags = SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE
 		zOpen = uintptr(0)
 	}
@@ -131184,7 +131242,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 		rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0))
 		if rc == SQLITE_OK {
 			zPragma = Xsqlite3_mprintf(tls,
-				ts+32348, 0)
+				ts+32395, 0)
 		} else if rc == SQLITE_ERROR {
 			zPragma = Xsqlite3_mprintf(tls, ts+1554, 0)
 		} else {
@@ -131197,7 +131255,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 			return rc
 		}
 	} else {
-		zPragma = Xsqlite3_mprintf(tls, ts+32469, libc.VaList(bp, zDb, zThis))
+		zPragma = Xsqlite3_mprintf(tls, ts+32516, libc.VaList(bp, zDb, zThis))
 	}
 	if !(zPragma != 0) {
 		*(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0)
@@ -131877,9 +131935,9 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr,
 
 	for i = 0; i < nCol; i++ {
 		if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
-			zRet = Xsqlite3_mprintf(tls, ts+32498,
+			zRet = Xsqlite3_mprintf(tls, ts+32545,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 21525
+			zSep = ts + 21572
 			if zRet == uintptr(0) {
 				break
 			}
@@ -131902,9 +131960,9 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 		if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 {
 			bHave = 1
 			zRet = Xsqlite3_mprintf(tls,
-				ts+32532,
+				ts+32579,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 32573
+			zSep = ts + 32620
 			if zRet == uintptr(0) {
 				break
 			}
@@ -131912,7 +131970,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 	}
 
 	if bHave == 0 {
-		zRet = Xsqlite3_mprintf(tls, ts+7530, 0)
+		zRet = Xsqlite3_mprintf(tls, ts+7519, 0)
 	}
 
 	return zRet
@@ -131923,7 +131981,7 @@ func sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, zTbl uintpt
 	defer tls.Free(40)
 
 	var zRet uintptr = Xsqlite3_mprintf(tls,
-		ts+32578,
+		ts+32625,
 		libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr))
 	return zRet
 }
@@ -131966,7 +132024,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro
 		rc = SQLITE_NOMEM
 	} else {
 		var zStmt uintptr = Xsqlite3_mprintf(tls,
-			ts+32656,
+			ts+32703,
 			libc.VaList(bp, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2))
 		if zStmt == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -132093,7 +132151,7 @@ __6:
 	if !(pzErrMsg != 0) {
 		goto __16
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32709, 0)
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32756, 0)
 __16:
 	;
 	rc = SQLITE_SCHEMA
@@ -132569,7 +132627,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 
 	if 0 == Xsqlite3_stricmp(tls, ts+11348, zTab) {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+32736, libc.VaList(bp, zDb))
+			ts+32783, libc.VaList(bp, zDb))
 		if zSql == uintptr(0) {
 			*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_NOMEM
 		}
@@ -132578,18 +132636,18 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 		var zSep uintptr = ts + 1554
 		*(*SessionBuffer)(unsafe.Pointer(bp + 8)) = SessionBuffer{}
 
-		sessionAppendStr(tls, bp+8, ts+32846, bp+24)
+		sessionAppendStr(tls, bp+8, ts+32893, bp+24)
 		sessionAppendIdent(tls, bp+8, zDb, bp+24)
 		sessionAppendStr(tls, bp+8, ts+1567, bp+24)
 		sessionAppendIdent(tls, bp+8, zTab, bp+24)
-		sessionAppendStr(tls, bp+8, ts+32861, bp+24)
+		sessionAppendStr(tls, bp+8, ts+32908, bp+24)
 		for i = 0; i < nCol; i++ {
 			if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
 				sessionAppendStr(tls, bp+8, zSep, bp+24)
 				sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+24)
-				sessionAppendStr(tls, bp+8, ts+32869, bp+24)
+				sessionAppendStr(tls, bp+8, ts+32916, bp+24)
 				sessionAppendInteger(tls, bp+8, i+1, bp+24)
-				zSep = ts + 21525
+				zSep = ts + 21572
 			}
 		}
 		zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8)).FaBuf
@@ -132698,7 +132756,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 {
 		return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc
 	}
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32875, uintptr(0), uintptr(0), uintptr(0))
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32922, uintptr(0), uintptr(0), uintptr(0))
 	if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
@@ -132790,7 +132848,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	}
 
 	Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24)).FaBuf)
-	Xsqlite3_exec(tls, db, ts+32895, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+32942, uintptr(0), uintptr(0), uintptr(0))
 	Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db))
 	return *(*int32)(unsafe.Pointer(bp + 40))
 }
@@ -133053,7 +133111,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 		rc = sessionInputBuffer(tls, pIn, 9)
 		if rc == SQLITE_OK {
 			if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData {
-				rc = Xsqlite3CorruptError(tls, 219078)
+				rc = Xsqlite3CorruptError(tls, 219169)
 			} else {
 				eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1)))))
 
@@ -133076,7 +133134,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 				rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
 				if rc == SQLITE_OK {
 					if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext {
-						rc = Xsqlite3CorruptError(tls, 219098)
+						rc = Xsqlite3CorruptError(tls, 219189)
 					} else {
 						var enc U8 = func() uint8 {
 							if eType == SQLITE_TEXT {
@@ -133118,7 +133176,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in
 		nRead = nRead + sessionVarintGet(tls, (*SessionInput)(unsafe.Pointer(pIn)).FaData+uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext+nRead), bp)
 
 		if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > 65536 {
-			rc = Xsqlite3CorruptError(tls, 219152)
+			rc = Xsqlite3CorruptError(tls, 219243)
 		} else {
 			rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100)
 			nRead = nRead + *(*int32)(unsafe.Pointer(bp))
@@ -133179,7 +133237,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 {
 			(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
 			sessionBufferGrow(tls, p+72, int64(nByte), bp+4)
 		} else {
-			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219240)
+			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219331)
 		}
 	}
 
@@ -133253,13 +133311,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 	}
 
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219326))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219417))
 	}
 
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op)
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))))
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219332))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219423))
 	}
 
 	if paRec != 0 {
@@ -133321,7 +133379,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 				if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8))
 					if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) {
-						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219376))
+						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219467))
 					}
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0)
 				}
@@ -133694,7 +133752,7 @@ __27:
 	goto __6
 
 __11:
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219741)
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219832)
 	goto finished_invert
 __6:
 	;
@@ -133873,34 +133931,34 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32,
 				(*SessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24
 				libc.Xmemcpy(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(unsafe.Sizeof(U32(0))))
 
-				sessionAppendStr(tls, bp, ts+32913, bp+16)
+				sessionAppendStr(tls, bp, ts+32960, bp+16)
 				sessionAppendIdent(tls, bp, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+16)
-				sessionAppendStr(tls, bp, ts+32926, bp+16)
+				sessionAppendStr(tls, bp, ts+32973, bp+16)
 
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-						sessionAppendStr(tls, bp, ts+32932, bp+16)
+						sessionAppendStr(tls, bp, ts+32979, bp+16)
 						sessionAppendInteger(tls, bp, ii*2+1, bp+16)
 						zSep = ts + 14614
 					}
 				}
 
 				zSep = ts + 1554
-				sessionAppendStr(tls, bp, ts+32861, bp+16)
+				sessionAppendStr(tls, bp, ts+32908, bp+16)
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						if bStat1 != 0 && ii == 1 {
 							sessionAppendStr(tls, bp,
-								ts+32937, bp+16)
+								ts+32984, bp+16)
 						} else {
 							sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-							sessionAppendStr(tls, bp, ts+32869, bp+16)
+							sessionAppendStr(tls, bp, ts+32916, bp+16)
 							sessionAppendInteger(tls, bp, ii*2+2, bp+16)
 						}
-						zSep = ts + 21525
+						zSep = ts + 21572
 					}
 				}
 
@@ -133952,34 +134010,34 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 	var nPk int32 = 0
 
-	sessionAppendStr(tls, bp, ts+33012, bp+16)
+	sessionAppendStr(tls, bp, ts+33059, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+32861, bp+16)
+	sessionAppendStr(tls, bp, ts+32908, bp+16)
 
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 			nPk++
 			sessionAppendStr(tls, bp, zSep, bp+16)
 			sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-			sessionAppendStr(tls, bp, ts+32932, bp+16)
+			sessionAppendStr(tls, bp, ts+32979, bp+16)
 			sessionAppendInteger(tls, bp, i+1, bp+16)
-			zSep = ts + 21525
+			zSep = ts + 21572
 		}
 	}
 
 	if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol {
-		sessionAppendStr(tls, bp, ts+33030, bp+16)
+		sessionAppendStr(tls, bp, ts+33077, bp+16)
 		sessionAppendInteger(tls, bp, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol+1, bp+16)
-		sessionAppendStr(tls, bp, ts+32573, bp+16)
+		sessionAppendStr(tls, bp, ts+32620, bp+16)
 
 		zSep = ts + 1554
 		for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 			if !(int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i)))) != 0) {
 				sessionAppendStr(tls, bp, zSep, bp+16)
 				sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-				sessionAppendStr(tls, bp, ts+32869, bp+16)
+				sessionAppendStr(tls, bp, ts+32916, bp+16)
 				sessionAppendInteger(tls, bp, i+1, bp+16)
-				zSep = ts + 33038
+				zSep = ts + 33085
 			}
 		}
 		sessionAppendStr(tls, bp, ts+4957, bp+16)
@@ -134006,9 +134064,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	var i int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 
-	sessionAppendStr(tls, bp, ts+33043, bp+16)
+	sessionAppendStr(tls, bp, ts+33090, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+21531, bp+16)
+	sessionAppendStr(tls, bp, ts+21578, bp+16)
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if i != 0 {
 			sessionAppendStr(tls, bp, ts+14614, bp+16)
@@ -134016,9 +134074,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 		sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
 	}
 
-	sessionAppendStr(tls, bp, ts+33061, bp+16)
+	sessionAppendStr(tls, bp, ts+33108, bp+16)
 	for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
-		sessionAppendStr(tls, bp, ts+33072, bp+16)
+		sessionAppendStr(tls, bp, ts+33119, bp+16)
 	}
 	sessionAppendStr(tls, bp, ts+4957, bp+16)
 
@@ -134037,11 +134095,11 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 {
 	var rc int32 = sessionSelectRow(tls, db, ts+11348, p)
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+16,
-			ts+33076)
+			ts+33123)
 	}
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+8,
-			ts+33189)
+			ts+33236)
 	}
 	return rc
 }
@@ -134069,7 +134127,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab
 				f func(*libc.TLS, uintptr, int32, uintptr) int32
 			})(unsafe.Pointer(&struct{ uintptr }{xValue})).f(tls, pIter, i, bp)
 			if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
-				rc = Xsqlite3CorruptError(tls, 220219)
+				rc = Xsqlite3CorruptError(tls, 220310)
 			} else {
 				rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp)))
 			}
@@ -134322,7 +134380,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 		if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
 			rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 		} else if *(*int32)(unsafe.Pointer(bp)) != 0 {
-			rc = Xsqlite3_exec(tls, db, ts+33333, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33380, uintptr(0), uintptr(0), uintptr(0))
 			if rc == SQLITE_OK {
 				rc = sessionBindRow(tls, pIter,
 					*(*uintptr)(unsafe.Pointer(&struct {
@@ -134338,7 +134396,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 				rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 			}
 			if rc == SQLITE_OK {
-				rc = Xsqlite3_exec(tls, db, ts+33354, uintptr(0), uintptr(0), uintptr(0))
+				rc = Xsqlite3_exec(tls, db, ts+33401, uintptr(0), uintptr(0), uintptr(0))
 			}
 		}
 	}
@@ -134411,10 +134469,10 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 	(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FbInvertConstraints = libc.BoolInt32(!!(flags&SQLITE_CHANGESETAPPLY_INVERT != 0))
 	Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db))
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
-		rc = Xsqlite3_exec(tls, db, ts+33373, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33420, uintptr(0), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_exec(tls, db, ts+33399, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33446, uintptr(0), uintptr(0), uintptr(0))
 	}
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3changeset_next(tls, pIter) {
 		Xsqlite3changeset_op(tls, pIter, bp+176, bp+184, bp+188, uintptr(0))
@@ -134473,16 +134531,16 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 				if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol == 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33429, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+33476, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol < *(*int32)(unsafe.Pointer(bp + 184)) {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33473,
+						ts+33520,
 						libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 200)), (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol, *(*int32)(unsafe.Pointer(bp + 184))))
 				} else if *(*int32)(unsafe.Pointer(bp + 184)) < nMinCol || libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 192)), uint64(*(*int32)(unsafe.Pointer(bp + 184)))) != 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33544, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+33591, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else {
 					(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FnCol = *(*int32)(unsafe.Pointer(bp + 184))
 					if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), ts+11348) {
@@ -134536,14 +134594,14 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 			}
 		}
 	}
-	Xsqlite3_exec(tls, db, ts+33604, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+33651, uintptr(0), uintptr(0), uintptr(0))
 
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, db, ts+33634, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33681, uintptr(0), uintptr(0), uintptr(0))
 		} else {
-			Xsqlite3_exec(tls, db, ts+33658, uintptr(0), uintptr(0), uintptr(0))
-			Xsqlite3_exec(tls, db, ts+33634, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33705, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33681, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -135791,7 +135849,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) {
 		fts5yy_pop_parser_stack(tls, fts5yypParser)
 	}
 
-	sqlite3Fts5ParseError(tls, pParse, ts+33686, 0)
+	sqlite3Fts5ParseError(tls, pParse, ts+33733, 0)
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -136079,7 +136137,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32
 
 	_ = fts5yymajor
 	sqlite3Fts5ParseError(tls,
-		pParse, ts+33714, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
+		pParse, ts+33761, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -136266,7 +136324,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int
 		if n < 0 {
 			n = int32(libc.Xstrlen(tls, z))
 		}
-		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33745, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
+		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33792, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
 		if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) {
 			*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 		}
@@ -136334,7 +136392,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp
 	var iCol int32
 
 	if nVal != 3 {
-		var zErr uintptr = ts + 33752
+		var zErr uintptr = ts + 33799
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -136516,7 +136574,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
 	var nCol int32
 
 	if nVal != 5 {
-		var zErr uintptr = ts + 33802
+		var zErr uintptr = ts + 33849
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -136840,13 +136898,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(96)
 
 	*(*[3]Builtin)(unsafe.Pointer(bp)) = [3]Builtin{
-		{FzFunc: ts + 33850, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33897, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5SnippetFunction}))},
-		{FzFunc: ts + 33858, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33905, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5HighlightFunction}))},
-		{FzFunc: ts + 33868, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33915, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5Bm25Function}))},
 	}
@@ -137397,7 +137455,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 	var nCmd int32 = int32(libc.Xstrlen(tls, zCmd))
-	if Xsqlite3_strnicmp(tls, ts+33873, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+33920, zCmd, nCmd) == 0 {
 		var nByte int32 = int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))
 		var p uintptr
 		var bFirst int32 = 1
@@ -137424,14 +137482,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 				break
 			}
 			if int32(*(*uint8)(unsafe.Pointer(p))) < '0' || int32(*(*uint8)(unsafe.Pointer(p))) > '9' {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33880, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33927, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
 
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES {
 				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-					ts+33911, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
+					ts+33958, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -137442,7 +137500,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 			}
 
 			if nPre <= 0 || nPre >= 1000 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33944, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33991, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -137455,7 +137513,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+33981, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34028, zCmd, nCmd) == 0 {
 		var p uintptr = zArg
 		var nArg Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zArg) + uint64(1))
 		var azArg uintptr = sqlite3Fts5MallocZero(tls, bp+40, int64(uint64(unsafe.Sizeof(uintptr(0)))*uint64(nArg)))
@@ -137464,7 +137522,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 		if azArg != 0 && pSpace != 0 {
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33990, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34037, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				for nArg = int64(0); p != 0 && *(*uint8)(unsafe.Pointer(p)) != 0; nArg++ {
@@ -137483,7 +137541,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 					}
 				}
 				if p == uintptr(0) {
-					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34023, 0)
+					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34070, 0)
 					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				} else {
 					*(*int32)(unsafe.Pointer(bp + 40)) = sqlite3Fts5GetTokenizer(tls, pGlobal,
@@ -137498,14 +137556,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34057, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34104, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34065, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34112, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			if *(*uint8)(unsafe.Pointer(zArg)) != 0 {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_EXTERNAL
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34097, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34144, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
 			} else {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE
 			}
@@ -137513,9 +137571,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34103, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34150, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34117, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34164, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40, zArg, -1)
@@ -137523,9 +137581,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34155, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34202, zCmd, nCmd) == 0 {
 		if int32(*(*uint8)(unsafe.Pointer(zArg))) != '0' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '1' || int32(*(*uint8)(unsafe.Pointer(zArg + 1))) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34166, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34213, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.Bool32(int32(*(*uint8)(unsafe.Pointer(zArg))) == '1')
@@ -137537,17 +137595,17 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		*(*[4]Fts5Enum)(unsafe.Pointer(bp + 48)) = [4]Fts5Enum{
 			{FzName: ts + 8026, FeVal: FTS5_DETAIL_NONE},
 			{FzName: ts + 17345},
-			{FzName: ts + 34201, FeVal: FTS5_DETAIL_COLUMNS},
+			{FzName: ts + 34248, FeVal: FTS5_DETAIL_COLUMNS},
 			{},
 		}
 
 		if libc.AssignPtrInt32(bp+40, fts5ConfigSetEnum(tls, bp+48, zArg, pConfig+92)) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34209, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34256, 0)
 		}
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34240, libc.VaList(bp+24, nCmd, zCmd))
+	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34287, libc.VaList(bp+24, nCmd, zCmd))
 	return SQLITE_ERROR
 }
 
@@ -137594,15 +137652,15 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr,
 	defer tls.Free(16)
 
 	var rc int32 = SQLITE_OK
-	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22191) ||
+	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22238) ||
 		0 == Xsqlite3_stricmp(tls, zCol, ts+16267) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34268, libc.VaList(bp, zCol))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34315, libc.VaList(bp, zCol))
 		rc = SQLITE_ERROR
 	} else if zArg != 0 {
-		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34298) {
+		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34345) {
 			*(*U8)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*Fts5Config)(unsafe.Pointer(p)).FnCol))) = U8(1)
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34308, libc.VaList(bp+8, zArg))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34355, libc.VaList(bp+8, zArg))
 			rc = SQLITE_ERROR
 		}
 	}
@@ -137619,13 +137677,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_OK
 	*(*Fts5Buffer)(unsafe.Pointer(bp + 32)) = Fts5Buffer{}
 
-	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34339, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
+	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34386, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
 	if (*Fts5Config)(unsafe.Pointer(p)).FeContent != FTS5_CONTENT_NONE {
 		for i = 0; i < (*Fts5Config)(unsafe.Pointer(p)).FnCol; i++ {
 			if (*Fts5Config)(unsafe.Pointer(p)).FeContent == FTS5_CONTENT_EXTERNAL {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34344, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34391, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
 			} else {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34351, libc.VaList(bp+16, i))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34398, libc.VaList(bp+16, i))
 			}
 		}
 	}
@@ -137663,8 +137721,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 	(*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -1)
 	(*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize = 1
 	(*Fts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL
-	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22191) == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34359, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
+	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22238) == 0 {
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34406, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
 		*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 	}
 
@@ -137696,7 +137754,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 
 		if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK {
 			if z == uintptr(0) {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34388, libc.VaList(bp+8, zOrig))
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34435, libc.VaList(bp+8, zOrig))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				if bOption != 0 {
@@ -137733,14 +137791,14 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 		var zTail uintptr = uintptr(0)
 
 		if (*Fts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL {
-			zTail = ts + 34057
+			zTail = ts + 34104
 		} else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 {
-			zTail = ts + 34408
+			zTail = ts + 34455
 		}
 
 		if zTail != 0 {
 			(*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls,
-				bp+40, ts+34416, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
+				bp+40, ts+34463, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
 		}
 	}
 
@@ -137789,7 +137847,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_OK
 	var zSql uintptr
 
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34427, 0)
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34474, 0)
 	for i = 0; zSql != 0 && i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
 		var zSep uintptr = func() uintptr {
 			if i == 0 {
@@ -137797,10 +137855,10 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 			}
 			return ts + 14614
 		}()
-		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34443, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
+		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34490, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
 	}
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34450,
-		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22191))
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34497,
+		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22238))
 
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql)
@@ -137910,7 +137968,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 
 	var rc int32 = SQLITE_OK
 
-	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34476) {
+	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34523) {
 		var pgsz int32 = 0
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			pgsz = Xsqlite3_value_int(tls, pVal)
@@ -137920,7 +137978,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34481) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34528) {
 		var nHashSize int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nHashSize = Xsqlite3_value_int(tls, pVal)
@@ -137930,7 +137988,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34490) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34537) {
 		var nAutomerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nAutomerge = Xsqlite3_value_int(tls, pVal)
@@ -137943,7 +138001,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34500) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34547) {
 		var nUsermerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nUsermerge = Xsqlite3_value_int(tls, pVal)
@@ -137953,7 +138011,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34510) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34557) {
 		var nCrisisMerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nCrisisMerge = Xsqlite3_value_int(tls, pVal)
@@ -137969,7 +138027,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22191) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22238) {
 		var zIn uintptr = Xsqlite3_value_text(tls, pVal)
 
 		rc = sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8)
@@ -137992,7 +138050,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 	bp := tls.Alloc(52)
 	defer tls.Free(52)
 
-	var zSelect uintptr = ts + 34522
+	var zSelect uintptr = ts + 34569
 	var zSql uintptr
 	*(*uintptr)(unsafe.Pointer(bp + 40)) = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
@@ -138014,7 +138072,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) {
 			var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 0)
 			var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 1)
-			if 0 == Xsqlite3_stricmp(tls, zK, ts+34554) {
+			if 0 == Xsqlite3_stricmp(tls, zK, ts+34601) {
 				iVersion = Xsqlite3_value_int(tls, pVal)
 			} else {
 				*(*int32)(unsafe.Pointer(bp + 48)) = 0
@@ -138028,7 +138086,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 {
 			*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-				ts+34562,
+				ts+34609,
 				libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION))
 		}
 	}
@@ -138126,7 +138184,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 					}
 				}
 				if int32(*(*uint8)(unsafe.Pointer(z2))) == 0 {
-					sqlite3Fts5ParseError(tls, pParse, ts+34627, 0)
+					sqlite3Fts5ParseError(tls, pParse, ts+34674, 0)
 					return FTS5_EOF
 				}
 			}
@@ -138139,20 +138197,20 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 		{
 			var z2 uintptr
 			if sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(z))) == 0 {
-				sqlite3Fts5ParseError(tls, pParse, ts+34647, libc.VaList(bp, z))
+				sqlite3Fts5ParseError(tls, pParse, ts+34694, libc.VaList(bp, z))
 				return FTS5_EOF
 			}
 			tok = FTS5_STRING
 			for z2 = z + 1; sqlite3Fts5IsBareword(tls, *(*uint8)(unsafe.Pointer(z2))) != 0; z2++ {
 			}
 			(*Fts5Token)(unsafe.Pointer(pToken)).Fn = int32((int64(z2) - int64(z)) / 1)
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34678, uint64(2)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34725, uint64(2)) == 0 {
 				tok = FTS5_OR
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34681, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34728, uint64(3)) == 0 {
 				tok = FTS5_NOT
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30063, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30110, uint64(3)) == 0 {
 				tok = FTS5_AND
 			}
 			break
@@ -139930,9 +139988,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34685, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
+	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34732, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
 		sqlite3Fts5ParseError(tls,
-			pParse, ts+33714, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
+			pParse, ts+33761, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
 	}
 }
 
@@ -139948,7 +140006,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p
 				var c uint8 = *(*uint8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))
 				if int32(c) < '0' || int32(c) > '9' {
 					sqlite3Fts5ParseError(tls,
-						pParse, ts+34690, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
+						pParse, ts+34737, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
 					return
 				}
 				nNear = nNear*10 + (int32(*(*uint8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - '0')
@@ -140035,7 +140093,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui
 			}
 		}
 		if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol {
-			sqlite3Fts5ParseError(tls, pParse, ts+20528, libc.VaList(bp, z))
+			sqlite3Fts5ParseError(tls, pParse, ts+20575, libc.VaList(bp, z))
 		} else {
 			pRet = fts5ParseColset(tls, pParse, pColset, iCol)
 		}
@@ -140116,7 +140174,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo
 	*(*uintptr)(unsafe.Pointer(bp)) = pColset
 	if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE {
 		sqlite3Fts5ParseError(tls, pParse,
-			ts+34719, 0)
+			ts+34766, 0)
 	} else {
 		fts5ParseSetColset(tls, pParse, pExpr, pColset, bp)
 	}
@@ -140286,12 +140344,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 1 ||
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*Fts5ExprTerm)(unsafe.Pointer(pPhrase+32)).FbFirst != 0 {
 							sqlite3Fts5ParseError(tls, pParse,
-								ts+34772,
+								ts+34819,
 								libc.VaList(bp, func() uintptr {
 									if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 {
-										return ts + 34822
+										return ts + 34869
 									}
-									return ts + 34685
+									return ts + 34732
 								}()))
 							Xsqlite3_free(tls, pRet)
 							pRet = uintptr(0)
@@ -141234,7 +141292,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK {
 			var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 			rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb,
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34829, iRowid, 0, p+56)
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34876, iRowid, 0, p+56)
 		}
 
 		if rc == SQLITE_ERROR {
@@ -141313,7 +141371,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in
 	if (*Fts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+64, Xsqlite3_mprintf(tls,
-			ts+34835,
+			ts+34882,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 		if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 			return
@@ -141338,7 +141396,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = Xsqlite3_mprintf(tls,
-			ts+34886,
+			ts+34933,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if fts5IndexPrepareStmt(tls, p, p+72, zSql) != 0 {
 			return
@@ -141361,7 +141419,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+88, Xsqlite3_mprintf(tls,
-			ts+34935,
+			ts+34982,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -141600,7 +141658,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 {
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) {
 			(*Fts5Index)(unsafe.Pointer(p)).Frc = fts5IndexPrepareStmt(tls, p, p+112,
-				Xsqlite3_mprintf(tls, ts+34975, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
+				Xsqlite3_mprintf(tls, ts+35022, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
 			if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 				return int64(0)
 			}
@@ -142799,7 +142857,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls,
-			ts+34998,
+			ts+35045,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect
@@ -144265,7 +144323,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls,
-			ts+35082,
+			ts+35129,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 
@@ -145347,13 +145405,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		(*Fts5Index)(unsafe.Pointer(p)).FpConfig = pConfig
 		(*Fts5Index)(unsafe.Pointer(p)).FnWorkUnit = FTS5_WORK_UNIT
-		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35139, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35186, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 {
 			*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+25056, ts+35147, 0, pzErr)
+				pConfig, ts+25103, ts+35194, 0, pzErr)
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 				*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls, pConfig, ts+11488,
-					ts+35182,
+					ts+35229,
 					1, pzErr)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
@@ -145606,7 +145664,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 {
 	sqlite3Fts5Put32(tls, bp, iNew)
 
 	rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl,
-		ts+34829, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
+		ts+34876, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
 	if rc == SQLITE_OK {
 		Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, 4, 0)
 		rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
@@ -145720,7 +145778,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) {
 	}
 
 	fts5IndexPrepareStmt(tls, p, bp+24, Xsqlite3_mprintf(tls,
-		ts+35226,
+		ts+35273,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid)))
 
 	for (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
@@ -145890,7 +145948,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks
 		} else {
 			(*Fts5Buffer)(unsafe.Pointer(bp + 16)).Fn = 0
 			fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp))+96+uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaFirst+1*4)).FiFirst)*120, uintptr(0), bp+16)
-			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35312)
+			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35359)
 			for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fn, bp+32, bp+40) {
 				var iCol int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) >> 32)
 				var iTokOff int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) & int64(0x7FFFFFFF))
@@ -146161,7 +146219,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 {
 
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 {
 		(*Fts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+35317, 0)
+			ts+35364, 0)
 		return SQLITE_ERROR
 	}
 
@@ -146585,7 +146643,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 	(*Fts5Sorter)(unsafe.Pointer(pSorter)).FnIdx = nPhrase
 
 	rc = fts5PrepareStatement(tls, pSorter, pConfig,
-		ts+35356,
+		ts+35403,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			func() uintptr {
 				if zRankArgs != 0 {
@@ -146601,9 +146659,9 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 			}(),
 			func() uintptr {
 				if bDesc != 0 {
-					return ts + 35411
+					return ts + 35458
 				}
-				return ts + 35416
+				return ts + 35463
 			}()))
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter
@@ -146649,12 +146707,12 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr)
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan = FTS5_PLAN_SPECIAL
 
-	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35420, z, n) {
+	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35467, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = I64(sqlite3Fts5IndexReads(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex))
 	} else if n == 2 && 0 == Xsqlite3_strnicmp(tls, ts+5057, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId
 	} else {
-		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35426, libc.VaList(bp, n, z))
+		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35473, libc.VaList(bp, n, z))
 		rc = SQLITE_ERROR
 	}
 
@@ -146685,7 +146743,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs
 
 	if zRankArgs != 0 {
-		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35454, libc.VaList(bp, zRankArgs))
+		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35501, libc.VaList(bp, zRankArgs))
 		if zSql != 0 {
 			*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 			*(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1,
@@ -146716,7 +146774,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 		pAux = fts5FindAuxiliary(tls, pTab, zRank)
 		if pAux == uintptr(0) {
-			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35464, libc.VaList(bp+8, zRank))
+			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35511, libc.VaList(bp+8, zRank))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		}
 	}
@@ -146748,14 +146806,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin
 			*(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_FREE_ZRANK
 		} else if rc == SQLITE_ERROR {
 			(*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35485, libc.VaList(bp, z))
+				ts+35532, libc.VaList(bp, z))
 		}
 	} else {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank != 0 {
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRankArgs
 		} else {
-			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33868
+			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33915
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0)
 		}
 	}
@@ -146811,7 +146869,7 @@ func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintp
 		goto __1
 	}
 	(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+35317, 0)
+		ts+35364, 0)
 	return SQLITE_ERROR
 __1:
 	;
@@ -147028,7 +147086,7 @@ __35:
 		goto __40
 	}
 	*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-		ts+35518, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		ts+35565, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	rc = SQLITE_ERROR
 	goto __41
 __40:
@@ -147173,28 +147231,28 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr)
 	var rc int32 = SQLITE_OK
 	*(*int32)(unsafe.Pointer(bp)) = 0
 
-	if 0 == Xsqlite3_stricmp(tls, ts+35554, zCmd) {
+	if 0 == Xsqlite3_stricmp(tls, ts+35601, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			fts5SetVtabError(tls, pTab,
-				ts+35565, 0)
+				ts+35612, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35645, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35692, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE {
 			fts5SetVtabError(tls, pTab,
-				ts+35653, 0)
+				ts+35700, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
 	} else if 0 == Xsqlite3_stricmp(tls, ts+16934, zCmd) {
 		rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35709, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35756, zCmd) {
 		var nMerge int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageMerge(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, nMerge)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35715, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35762, zCmd) {
 		var iArg int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg)
 	} else {
@@ -147265,12 +147323,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p
 
 		if eType0 == SQLITE_INTEGER && fts5IsContentless(tls, pTab) != 0 {
 			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35731,
+				ts+35778,
 				libc.VaList(bp, func() uintptr {
 					if nArg > 1 {
-						return ts + 20429
+						return ts + 20476
 					}
-					return ts + 35768
+					return ts + 35815
 				}(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		} else if nArg == 1 {
@@ -147900,7 +147958,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 
 	pCsr = fts5CursorFromCsrid(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId)
 	if pCsr == uintptr(0) || (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 {
-		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35780, libc.VaList(bp, iCsrId))
+		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35827, libc.VaList(bp, iCsrId))
 		Xsqlite3_result_error(tls, context, zErr, -1)
 		Xsqlite3_free(tls, zErr)
 	} else {
@@ -148144,7 +148202,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 	}())
 	if pMod == uintptr(0) {
 		rc = SQLITE_ERROR
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35801, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35848, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
 	} else {
 		rc = (*struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
@@ -148163,7 +148221,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 		(*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16
 		if rc != SQLITE_OK {
 			if pzErr != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35823, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35870, 0)
 			}
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls,
@@ -148210,7 +148268,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 	var ppApi uintptr
 	_ = nArg
 
-	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35854)
+	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35901)
 	if ppApi != 0 {
 		*(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal
 	}
@@ -148219,7 +148277,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) {
 	_ = nArg
 	_ = apUnused
-	Xsqlite3_result_text(tls, pCtx, ts+35867, -1, libc.UintptrFromInt32(-1))
+	Xsqlite3_result_text(tls, pCtx, ts+35914, -1, libc.UintptrFromInt32(-1))
 }
 
 func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
@@ -148233,7 +148291,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName2 = [5]uintptr{
-	ts + 35958, ts + 34057, ts + 25056, ts + 34408, ts + 11488,
+	ts + 36005, ts + 34104, ts + 25103, ts + 34455, ts + 11488,
 }
 
 func fts5Init(tls *libc.TLS, db uintptr) int32 {
@@ -148257,7 +148315,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		(*Fts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32
 		}{fts5FindTokenizer}))
-		rc = Xsqlite3_create_module_v2(tls, db, ts+35965, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+36012, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5IndexInit(tls, db)
 		}
@@ -148275,13 +148333,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35965, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+				db, ts+36012, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
 				}{fts5Fts5Func})), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35970, 0,
+				db, ts+36017, 0,
 				SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
 				p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
@@ -148338,17 +148396,17 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p
 
 	if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) {
 		*(*[11]uintptr)(unsafe.Pointer(bp + 128)) = [11]uintptr{
-			ts + 35985,
-			ts + 36053,
-			ts + 36122,
-			ts + 36155,
-			ts + 36194,
-			ts + 36234,
-			ts + 36273,
-			ts + 36314,
-			ts + 36353,
-			ts + 36395,
-			ts + 36435,
+			ts + 36032,
+			ts + 36100,
+			ts + 36169,
+			ts + 36202,
+			ts + 36241,
+			ts + 36281,
+			ts + 36320,
+			ts + 36361,
+			ts + 36400,
+			ts + 36442,
+			ts + 36482,
 		}
 		var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = uintptr(0)
@@ -148450,18 +148508,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 {
 	defer tls.Free(80)
 
 	var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36458,
+		ts+36505,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36562,
+			ts+36609,
 			libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36600,
+			ts+36647,
 			libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	return rc
@@ -148473,7 +148531,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin
 
 	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(pRc)) = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36638,
+			ts+36685,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail))
 	}
 }
@@ -148485,14 +148543,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in
 	var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig
 	*(*int32)(unsafe.Pointer(bp)) = sqlite3Fts5StorageSync(tls, pStorage)
 
-	fts5StorageRenameOne(tls, pConfig, bp, ts+25056, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+25103, zName)
 	fts5StorageRenameOne(tls, pConfig, bp, ts+11488, zName)
-	fts5StorageRenameOne(tls, pConfig, bp, ts+35958, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+36005, zName)
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34408, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34455, zName)
 	}
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34057, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34104, zName)
 	}
 	return *(*int32)(unsafe.Pointer(bp))
 }
@@ -148504,17 +148562,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn
 	var rc int32
 	*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
-	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36680,
+	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36727,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn,
 			func() uintptr {
 				if bWithout != 0 {
-					return ts + 29709
+					return ts + 29756
 				}
 				return ts + 1554
 			}()))
 	if *(*uintptr)(unsafe.Pointer(bp + 64)) != 0 {
 		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-			ts+36710,
+			ts+36757,
 			libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64))))
 		Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
@@ -148551,27 +148609,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre
 			} else {
 				var i int32
 				var iOff int32
-				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36754, 0)
+				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36801, 0)
 				iOff = int32(libc.Xstrlen(tls, zDefn))
 				for i = 0; i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
-					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36777, libc.VaList(bp, i))
+					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36824, libc.VaList(bp, i))
 					iOff = iOff + int32(libc.Xstrlen(tls, zDefn+uintptr(iOff)))
 				}
-				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34057, zDefn, 0, pzErr)
+				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34104, zDefn, 0, pzErr)
 			}
 			Xsqlite3_free(tls, zDefn)
 		}
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+34408, ts+36783, 0, pzErr)
+				pConfig, ts+34455, ts+36830, 0, pzErr)
 		}
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+35958, ts+36815, 1, pzErr)
+				pConfig, ts+36005, ts+36862, 1, pzErr)
 		}
 		if rc == SQLITE_OK {
-			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34554, uintptr(0), FTS5_CURRENT_VERSION)
+			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34601, uintptr(0), FTS5_CURRENT_VERSION)
 		}
 	}
 
@@ -148777,12 +148835,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 	(*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0
 
 	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36832,
+		ts+36879,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36882,
+			ts+36929,
 			libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 
@@ -148790,7 +148848,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 		rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex)
 	}
 	if rc == SQLITE_OK {
-		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34554, uintptr(0), FTS5_CURRENT_VERSION)
+		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34601, uintptr(0), FTS5_CURRENT_VERSION)
 	}
 	return rc
 }
@@ -148966,7 +149024,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr)
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+36911,
+	zSql = Xsqlite3_mprintf(tls, ts+36958,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix))
 	if zSql == uintptr(0) {
 		rc = SQLITE_NOMEM
@@ -149148,14 +149206,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 {
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			*(*I64)(unsafe.Pointer(bp + 48)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34057, bp+48)
+			rc = fts5StorageCount(tls, p, ts+34104, bp+48)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 48)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
 		}
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			*(*I64)(unsafe.Pointer(bp + 56)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34408, bp+56)
+			rc = fts5StorageCount(tls, p, ts+34455, bp+56)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 56)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
@@ -149350,9 +149408,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32,
 			libc.Xmemcpy(tls, p, uintptr(unsafe.Pointer(&aAsciiTokenChar)), uint64(unsafe.Sizeof(aAsciiTokenChar)))
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36943) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36990) {
 					fts5AsciiAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36954) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37001) {
 					fts5AsciiAddExceptions(tls, p, zArg, 0)
 				} else {
 					rc = SQLITE_ERROR
@@ -149567,7 +149625,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 	} else {
 		p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Unicode61Tokenizer{})))
 		if p != 0 {
-			var zCat uintptr = ts + 36965
+			var zCat uintptr = ts + 37012
 			var i int32
 			libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{})))
 
@@ -149579,7 +149637,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 			}
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36974) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37021) {
 					zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
 				}
 			}
@@ -149590,18 +149648,18 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36985) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37032) {
 					if int32(*(*uint8)(unsafe.Pointer(zArg))) != '0' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '1' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '2' || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 {
 						rc = SQLITE_ERROR
 					} else {
 						(*Unicode61Tokenizer)(unsafe.Pointer(p)).FeRemoveDiacritic = int32(*(*uint8)(unsafe.Pointer(zArg))) - '0'
 
 					}
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36943) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36990) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36954) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37001) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 0)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36974) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37021) {
 				} else {
 					rc = SQLITE_ERROR
 				}
@@ -149877,7 +149935,7 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp
 	var rc int32 = SQLITE_OK
 	var pRet uintptr
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
-	var zBase uintptr = ts + 37003
+	var zBase uintptr = ts + 37050
 
 	if nArg > 0 {
 		zBase = *(*uintptr)(unsafe.Pointer(azArg))
@@ -150019,7 +150077,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37013, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37060, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -150027,11 +150085,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37016, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37063, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37021, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37068, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -150039,7 +150097,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'e':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37026, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37073, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -150047,7 +150105,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37029, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37076, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -150055,11 +150113,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37032, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37079, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37037, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37084, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -150067,19 +150125,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37042, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37089, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37046, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37093, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37052, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37099, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37057, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37104, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150087,11 +150145,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'o':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37061, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37108, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37065, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37112, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -150099,7 +150157,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 's':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37068, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37115, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150107,11 +150165,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37072, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37119, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37076, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37123, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150119,7 +150177,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37080, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37127, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150127,7 +150185,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37084, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37131, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150135,7 +150193,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37088, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37135, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150151,24 +150209,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37092, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37072, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37139, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37119, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'b':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37095, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37098, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37142, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37145, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37102, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37088, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37149, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37135, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
@@ -150183,44 +150241,44 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37105, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37152, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37072, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37119, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37113, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37160, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37120, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37167, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 4
 			}
 		}
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37125, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37172, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37021, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37068, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37130, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37177, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37016, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37063, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
 		}
 		break
 
 	case 'e':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37135, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37182, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37088, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37135, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 'g':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37140, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37187, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+15480, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
@@ -150229,91 +150287,91 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37145, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37192, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37098, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37145, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37149, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37196, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37154, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37201, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37057, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37104, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37160, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37207, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37164, uint64(1))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37211, uint64(1))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 1
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37166, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37213, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37080, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37127, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
 		}
 		break
 
 	case 'o':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37172, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37219, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37088, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37135, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37180, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37227, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37072, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37119, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37186, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37233, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37072, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37119, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37191, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37238, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37197, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37244, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37084, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37131, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37205, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37252, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37213, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37260, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37217, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37264, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37080, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37127, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
 		}
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37225, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37272, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37231, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37278, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37084, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37131, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37237, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37284, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37098, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37145, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 3
 			}
 		}
@@ -150328,16 +150386,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37244, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37291, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37029, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37076, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37249, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37296, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -150345,21 +150403,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37254, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37301, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37029, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37076, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37260, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37307, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37029, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37076, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37213, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37260, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -150367,7 +150425,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37266, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37313, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
@@ -150375,9 +150433,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37272, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37319, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
@@ -150392,12 +150450,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*uint8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'e':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37278, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37325, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37282, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37329, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 2
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37285, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37332, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 				ret = 1
@@ -150406,7 +150464,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37288, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37335, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 				ret = 1
@@ -150562,7 +150620,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp
 		(*TrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = 1
 		for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 			var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37292) {
+			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37339) {
 				if int32(*(*uint8)(unsafe.Pointer(zArg))) != '0' && int32(*(*uint8)(unsafe.Pointer(zArg))) != '1' || *(*uint8)(unsafe.Pointer(zArg + 1)) != 0 {
 					rc = SQLITE_ERROR
 				} else {
@@ -150742,22 +150800,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(128)
 
 	*(*[4]BuiltinTokenizer)(unsafe.Pointer(bp)) = [4]BuiltinTokenizer{
-		{FzName: ts + 37003, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37050, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5UnicodeCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5UnicodeDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5UnicodeTokenize}))}},
-		{FzName: ts + 37307, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37354, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5AsciiCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5AsciiDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5AsciiTokenize}))}},
-		{FzName: ts + 37313, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37360, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5PorterCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5PorterDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5PorterTokenize}))}},
-		{FzName: ts + 37320, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37367, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5TriCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5TriDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
@@ -151900,14 +151958,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint
 	var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8, zType, -1)
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		sqlite3Fts5Dequote(tls, zCopy)
-		if Xsqlite3_stricmp(tls, zCopy, ts+37328) == 0 {
+		if Xsqlite3_stricmp(tls, zCopy, ts+37375) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37332) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37379) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37336) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37383) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37345, libc.VaList(bp, zCopy))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37392, libc.VaList(bp, zCopy))
 			*(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_ERROR
 		}
 		Xsqlite3_free(tls, zCopy)
@@ -151933,19 +151991,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	defer tls.Free(36)
 
 	*(*[3]uintptr)(unsafe.Pointer(bp + 8)) = [3]uintptr{
-		ts + 37379,
-		ts + 37419,
-		ts + 37454,
+		ts + 37426,
+		ts + 37466,
+		ts + 37501,
 	}
 
 	var pRet uintptr = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
 	var bDb int32
 
-	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23352, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
+	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23399, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
 
 	if argc != 5 && bDb == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37497, 0)
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37544, 0)
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 	} else {
 		var nByte int32
@@ -152078,11 +152136,11 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 
 	if (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 {
 		(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+37530, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+			ts+37577, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 		return SQLITE_ERROR
 	}
 	zSql = sqlite3Fts5Mprintf(tls, bp+64,
-		ts+37561,
+		ts+37608,
 		libc.VaList(bp+16, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 64)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+72, uintptr(0))
@@ -152106,7 +152164,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 			*(*uintptr)(unsafe.Pointer(bp + 72)) = uintptr(0)
 			if *(*int32)(unsafe.Pointer(bp + 64)) == SQLITE_OK {
 				(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-					ts+37612, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+					ts+37659, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 				*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 			}
 		} else {
@@ -152501,7 +152559,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32
 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 {
 	var p uintptr = pGlobal
 
-	return Xsqlite3_create_module_v2(tls, db, ts+37638, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
+	return Xsqlite3_create_module_v2(tls, db, ts+37685, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
 }
 
 var fts5Vocab = Sqlite3_module{
@@ -152523,7 +152581,7 @@ var fts5Vocab = Sqlite3_module{
 // ************* End of stmt.c ***********************************************
 // Return the source-id for this library
 func Xsqlite3_sourceid(tls *libc.TLS) uintptr {
-	return ts + 37648
+	return ts + 37695
 }
 
 func init() {
@@ -153500,5 +153558,5 @@ func init() {
 	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError
 }
 
-var ts1 = "3.41.0\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00"
+var ts1 = "3.41.2\x00ATOMIC_INTRINSICS=1\x00COMPILER=gcc-10.2.1 20210110\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00"
 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_openbsd_amd64.go b/vendor/modernc.org/sqlite/lib/sqlite_openbsd_amd64.go
index 9f8fb208..cd6cc479 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_openbsd_amd64.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_openbsd_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_openbsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_openbsd_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
@@ -675,11 +675,11 @@ const (
 	NC_OrderAgg                           = 0x8000000
 	NC_PartIdx                            = 0x000002
 	NC_SelfRef                            = 0x00002e
+	NC_Subquery                           = 0x000040
 	NC_UAggInfo                           = 0x000100
 	NC_UBaseReg                           = 0x000400
 	NC_UEList                             = 0x000080
 	NC_UUpsert                            = 0x000200
-	NC_VarSelect                          = 0x000040
 	NDEBUG                                = 1
 	NMEADISC                              = 7
 	NN                                    = 1
@@ -1836,7 +1836,7 @@ const (
 	SQLITE_SHM_UNLOCK                     = 1
 	SQLITE_SORTER_PMASZ                   = 250
 	SQLITE_SOUNDEX                        = 1
-	SQLITE_SOURCE_ID                      = "2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d"
+	SQLITE_SOURCE_ID                      = "2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da"
 	SQLITE_SO_ASC                         = 0
 	SQLITE_SO_DESC                        = 1
 	SQLITE_SO_UNDEFINED                   = -1
@@ -1944,8 +1944,8 @@ const (
 	SQLITE_UTF8                           = 1
 	SQLITE_VDBEINT_H                      = 0
 	SQLITE_VDBE_H                         = 0
-	SQLITE_VERSION                        = "3.41.0"
-	SQLITE_VERSION_NUMBER                 = 3041000
+	SQLITE_VERSION                        = "3.41.2"
+	SQLITE_VERSION_NUMBER                 = 3041002
 	SQLITE_VTABRISK_High                  = 2
 	SQLITE_VTABRISK_Low                   = 0
 	SQLITE_VTABRISK_Normal                = 1
@@ -5209,7 +5209,8 @@ type IndexedExpr1 = struct {
 	FiIdxCur       int32
 	FiIdxCol       int32
 	FbMaybeNullRow U8
-	F__ccgo_pad1   [3]byte
+	Faff           U8
+	F__ccgo_pad1   [2]byte
 	FpIENext       uintptr
 }
 
@@ -5851,17 +5852,18 @@ type Pager = Pager1
 
 // Handle type for pages.
 type PgHdr2 = struct {
-	FpPage      uintptr
-	FpData      uintptr
-	FpExtra     uintptr
-	FpCache     uintptr
-	FpDirty     uintptr
-	FpPager     uintptr
-	Fpgno       Pgno
-	Fflags      U16
-	FnRef       I16
-	FpDirtyNext uintptr
-	FpDirtyPrev uintptr
+	FpPage       uintptr
+	FpData       uintptr
+	FpExtra      uintptr
+	FpCache      uintptr
+	FpDirty      uintptr
+	FpPager      uintptr
+	Fpgno        Pgno
+	Fflags       U16
+	F__ccgo_pad1 [2]byte
+	FnRef        I64
+	FpDirtyNext  uintptr
+	FpDirtyPrev  uintptr
 }
 
 // Handle type for pages.
@@ -6082,14 +6084,14 @@ type PCache2 = struct {
 	FpDirty      uintptr
 	FpDirtyTail  uintptr
 	FpSynced     uintptr
-	FnRefSum     int32
+	FnRefSum     I64
 	FszCache     int32
 	FszSpill     int32
 	FszPage      int32
 	FszExtra     int32
 	FbPurgeable  U8
 	FeCreate     U8
-	F__ccgo_pad1 [2]byte
+	F__ccgo_pad1 [6]byte
 	FxStress     uintptr
 	FpStress     uintptr
 	FpCache      uintptr
@@ -6895,7 +6897,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
 	_ = pMutex
 
 	if op < 0 || op >= int32(uint64(unsafe.Sizeof([10]Sqlite3StatValueType{}))/uint64(unsafe.Sizeof(Sqlite3StatValueType(0)))) {
-		return Xsqlite3MisuseError(tls, 23229)
+		return Xsqlite3MisuseError(tls, 23233)
 	}
 	if statMutex[op] != 0 {
 		pMutex = Xsqlite3Pcache1Mutex(tls)
@@ -14824,7 +14826,7 @@ func closePendingFds(tls *libc.TLS, pFile uintptr) {
 
 	for p = (*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused; p != 0; p = pNext {
 		pNext = (*UnixUnusedFd)(unsafe.Pointer(p)).FpNext
-		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38271)
+		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38275)
 		Xsqlite3_free(tls, p)
 	}
 	(*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused = uintptr(0)
@@ -15300,7 +15302,7 @@ func unixUnlock(tls *libc.TLS, id uintptr, eFileLock int32) int32 {
 func closeUnixFile(tls *libc.TLS, id uintptr) int32 {
 	var pFile uintptr = id
 	if (*UnixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
-		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39055)
+		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39059)
 		(*UnixFile)(unsafe.Pointer(pFile)).Fh = -1
 	}
 
@@ -15578,7 +15580,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 {
 	if fd >= 0 {
 		return SQLITE_OK
 	}
-	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40676), ts+3362, bp+8, 40676)
+	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40680), ts+3362, bp+8, 40680)
 }
 
 func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
@@ -15595,14 +15597,14 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
 
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3650, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40717)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3650, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40721)
 	}
 
 	if int32((*UnixFile)(unsafe.Pointer(pFile)).FctrlFlags)&UNIXFILE_DIRSYNC != 0 {
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, bp)
 		if rc == SQLITE_OK {
 			full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0)
-			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40731)
+			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40735)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -15622,7 +15624,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 {
 	rc = robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte)
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3281, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40762)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3281, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40766)
 	} else {
 		return SQLITE_OK
 	}
@@ -15877,7 +15879,7 @@ func unixShmPurge(tls *libc.TLS, pFd uintptr) {
 		}
 		Xsqlite3_free(tls, (*UnixShmNode)(unsafe.Pointer(p)).FapRegion)
 		if (*UnixShmNode)(unsafe.Pointer(p)).FhShm >= 0 {
-			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41442)
+			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41446)
 			(*UnixShmNode)(unsafe.Pointer(p)).FhShm = -1
 		}
 		(*UnixInodeInfo)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0)
@@ -15905,7 +15907,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32
 			rc = unixShmSystemLock(tls, pDbFd, F_WRLCK, (22+SQLITE_SHM_NLOCK)*4+SQLITE_SHM_NLOCK, 1)
 
 			if rc == SQLITE_OK && robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3281, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41499)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3281, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41503)
 			}
 		}
 	} else if int32((*flock)(unsafe.Pointer(bp+8)).Fl_type) == F_WRLCK {
@@ -16004,7 +16006,7 @@ __8:
 	if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) {
 		goto __10
 	}
-	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41624), ts+3245, zShm, 41624)
+	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41628), ts+3245, zShm, 41628)
 	goto shm_open_err
 __10:
 	;
@@ -16134,7 +16136,7 @@ __11:
 		goto __14
 	}
 	zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3316, zFile, 41768)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3316, zFile, 41772)
 	goto shmpage_out
 __14:
 	;
@@ -16180,7 +16182,7 @@ __16:
 	if !(pMem == libc.UintptrFromInt32(-1)) {
 		goto __20
 	}
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3403, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41795)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3403, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41799)
 	goto shmpage_out
 __20:
 	;
@@ -16452,7 +16454,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 		unixEnterMutex(tls)
 		rc = findInodeInfo(tls, pNew, pNew+16)
 		if rc != SQLITE_OK {
-			robust_close(tls, pNew, h, 42672)
+			robust_close(tls, pNew, h, 42676)
 			h = -1
 		}
 		unixLeaveMutex(tls)
@@ -16473,7 +16475,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 	storeLastErrno(tls, pNew, 0)
 	if rc != SQLITE_OK {
 		if h >= 0 {
-			robust_close(tls, pNew, h, 42757)
+			robust_close(tls, pNew, h, 42761)
 		}
 	} else {
 		(*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle
@@ -16789,7 +16791,7 @@ __15:
 	if !(fd < 0) {
 		goto __19
 	}
-	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43198), ts+3245, zName, 43198)
+	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43202), ts+3245, zName, 43202)
 	if !(rc == SQLITE_OK) {
 		goto __20
 	}
@@ -16880,7 +16882,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		if *(*int32)(unsafe.Pointer(libc.X__errno(tls))) == ENOENT {
 			rc = SQLITE_IOERR | int32(23)<<8
 		} else {
-			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3355, zPath, 43337)
+			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3355, zPath, 43341)
 		}
 		return rc
 	}
@@ -16888,9 +16890,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, zPath, bp)
 		if rc == SQLITE_OK {
 			if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3772, zPath, 43347)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3772, zPath, 43351)
 			}
-			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43349)
+			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43353)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -16954,18 +16956,18 @@ func appendOnePathElement(tls *libc.TLS, pPath uintptr, zName uintptr, nName int
 		zIn = (*DbPath)(unsafe.Pointer(pPath)).FzOut
 		if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8)))(tls, zIn, bp) != 0 {
 			if *(*int32)(unsafe.Pointer(libc.X__errno(tls))) != ENOENT {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43443), ts+3443, zIn, 43443)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43447), ts+3443, zIn, 43447)
 			}
 		} else if (*stat)(unsafe.Pointer(bp)).Fst_mode&Mode_t(0170000) == Mode_t(0120000) {
 			var got Ssize_t
 
 			if libc.PostIncInt32(&(*DbPath)(unsafe.Pointer(pPath)).FnSymlink, 1) > SQLITE_MAX_SYMLINK {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43449)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43453)
 				return
 			}
 			got = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls, zIn, bp+128, uint64(unsafe.Sizeof([1026]int8{}))-uint64(2))
 			if got <= int64(0) || got >= Ssize_t(unsafe.Sizeof([1026]int8{}))-int64(2) {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43454), ts+3434, zIn, 43454)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43458), ts+3434, zIn, 43458)
 				return
 			}
 			*(*int8)(unsafe.Pointer(bp + 128 + uintptr(got))) = int8(0)
@@ -17005,14 +17007,14 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO
 	(*DbPath)(unsafe.Pointer(bp + 1032)).FzOut = zOut
 	if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' {
 		if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, bp, uint64(unsafe.Sizeof([1026]int8{}))-uint64(2)) == uintptr(0) {
-			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43512), ts+3263, zPath, 43512)
+			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43516), ts+3263, zPath, 43516)
 		}
 		appendAllPathElements(tls, bp+1032, bp)
 	}
 	appendAllPathElements(tls, bp+1032, zPath)
 	*(*int8)(unsafe.Pointer(zOut + uintptr((*DbPath)(unsafe.Pointer(bp+1032)).FnUsed))) = int8(0)
 	if (*DbPath)(unsafe.Pointer(bp+1032)).Frc != 0 || (*DbPath)(unsafe.Pointer(bp+1032)).FnUsed < 2 {
-		return Xsqlite3CantopenError(tls, 43518)
+		return Xsqlite3CantopenError(tls, 43522)
 	}
 	if (*DbPath)(unsafe.Pointer(bp+1032)).FnSymlink != 0 {
 		return SQLITE_OK | int32(2)<<8
@@ -17087,7 +17089,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in
 			for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__errno(tls))) == EINTR {
 				got = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*24 + 8)))(tls, fd, zBuf, uint64(nBuf)))
 			}
-			robust_close(tls, uintptr(0), fd, 43619)
+			robust_close(tls, uintptr(0), fd, 43623)
 		}
 
 	}
@@ -18520,7 +18522,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 	libc.Xmemset(tls, pPgHdr+32, 0, uint64(unsafe.Sizeof(PgHdr{}))-uint64(uintptr(0)+32))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpPage = pPage
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpData = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpBuf
-	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*72
+	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*80
 	libc.Xmemset(tls, (*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra, 0, uint64(8))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpCache = pCache
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).Fpgno = pgno
@@ -18550,7 +18552,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 // reference count drops to 0, then it is made eligible for recycling.
 func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) {
 	(*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum--
-	if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 {
+	if libc.PreDecInt64(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1) == int64(0) {
 		if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_CLEAN != 0 {
 			pcacheUnpin(tls, p)
 		} else {
@@ -18601,7 +18603,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) {
 	*(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE))
 	*(*U16)(unsafe.Pointer(p + 52)) |= U16(PGHDR_CLEAN)
 
-	if int32((*PgHdr)(unsafe.Pointer(p)).FnRef) == 0 {
+	if (*PgHdr)(unsafe.Pointer(p)).FnRef == int64(0) {
 		pcacheUnpin(tls, p)
 	}
 }
@@ -18705,8 +18707,8 @@ func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) {
 }
 
 func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr {
-	bp := tls.Alloc(72)
-	defer tls.Free(72)
+	bp := tls.Alloc(80)
+	defer tls.Free(80)
 
 	var pTail uintptr
 	pTail = bp
@@ -18784,13 +18786,13 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr {
 //
 // This is not the total number of pages referenced, but the sum of the
 // reference count for all pages.
-func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 {
+func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) I64 {
 	return (*PCache)(unsafe.Pointer(pCache)).FnRefSum
 }
 
 // Return the number of references to the page supplied as an argument.
-func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 {
-	return int32((*PgHdr)(unsafe.Pointer(p)).FnRef)
+func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) I64 {
+	return (*PgHdr)(unsafe.Pointer(p)).FnRef
 }
 
 // Return the total number of pages in the cache.
@@ -21080,7 +21082,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 {
 
 	pPg = Xsqlite3PagerLookup(tls, pPager, iPg)
 	if pPg != 0 {
-		if Xsqlite3PcachePageRefcount(tls, pPg) == 1 {
+		if Xsqlite3PcachePageRefcount(tls, pPg) == int64(1) {
 			Xsqlite3PcacheDrop(tls, pPg)
 		} else {
 			rc = readDbPage(tls, pPg)
@@ -21503,7 +21505,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr,
 	var pageSize U32 = *(*U32)(unsafe.Pointer(pPageSize))
 
 	if (int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) == 0 || (*Pager)(unsafe.Pointer(pPager)).FdbSize == Pgno(0)) &&
-		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 &&
+		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) &&
 		pageSize != 0 && pageSize != U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) {
 		var pNew uintptr = uintptr(0)
 		*(*I64)(unsafe.Pointer(bp)) = int64(0)
@@ -21961,7 +21963,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 {
 
 		for rc == SQLITE_OK && pList != 0 {
 			var pNext uintptr = (*PgHdr)(unsafe.Pointer(pList)).FpDirty
-			if int32((*PgHdr)(unsafe.Pointer(pList)).FnRef) == 0 {
+			if (*PgHdr)(unsafe.Pointer(pList)).FnRef == int64(0) {
 				rc = pagerStress(tls, pPager, pList)
 			}
 			pList = pNext
@@ -22111,7 +22113,7 @@ __11:
 		goto __12
 	}
 
-	rc = Xsqlite3CantopenError(tls, 60235)
+	rc = Xsqlite3CantopenError(tls, 60239)
 __12:
 	;
 	if !(rc != SQLITE_OK) {
@@ -22492,7 +22494,7 @@ __7:
 	if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) {
 		goto __10
 	}
-	rc = Xsqlite3CantopenError(tls, 60754)
+	rc = Xsqlite3CantopenError(tls, 60758)
 	Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd)
 __10:
 	;
@@ -22598,7 +22600,7 @@ __24:
 }
 
 func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) {
-	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 {
+	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) {
 		pagerUnlockAndRollback(tls, pPager)
 	}
 }
@@ -22616,7 +22618,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla
 	if !(pgno == Pgno(0)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 60967)
+	return Xsqlite3CorruptError(tls, 60971)
 __1:
 	;
 	*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3)
@@ -22655,7 +22657,7 @@ __5:
 	if !(pgno == (*Pager)(unsafe.Pointer(pPager)).FlckPgno) {
 		goto __7
 	}
-	rc = Xsqlite3CorruptError(tls, 60999)
+	rc = Xsqlite3CorruptError(tls, 61003)
 	goto pager_acquire_err
 __7:
 	;
@@ -23442,7 +23444,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 {
 
 // Return the number of references to the specified page.
 func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 {
-	return Xsqlite3PcachePageRefcount(tls, pPage)
+	return int32(Xsqlite3PcachePageRefcount(tls, pPage))
 }
 
 // Parameter eStat must be one of SQLITE_DBSTATUS_CACHE_HIT, _MISS, _WRITE,
@@ -23685,9 +23687,9 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno
 	pPgOld = Xsqlite3PagerLookup(tls, pPager, pgno)
 
 	if pPgOld != 0 {
-		if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 {
+		if (*PgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
 			Xsqlite3PagerUnrefNotNull(tls, pPgOld)
-			return Xsqlite3CorruptError(tls, 62623)
+			return Xsqlite3CorruptError(tls, 62627)
 		}
 		*(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC)
 		if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 {
@@ -24444,7 +24446,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 {
 		nCollide = idx
 		for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) {
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 64387)
+				return Xsqlite3CorruptError(tls, 64391)
 			}
 		}
 		*(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaPgno + uintptr(idx-1)*4)) = iPage
@@ -24543,7 +24545,7 @@ __6:
 	if !(version != U32(WAL_MAX_VERSION)) {
 		goto __7
 	}
-	rc = Xsqlite3CantopenError(tls, 64519)
+	rc = Xsqlite3CantopenError(tls, 64523)
 	goto finished
 __7:
 	;
@@ -25129,7 +25131,7 @@ __10:
 		goto __14
 	}
 
-	rc = Xsqlite3CorruptError(tls, 65333)
+	rc = Xsqlite3CorruptError(tls, 65337)
 	goto __15
 __14:
 	Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16)
@@ -25404,7 +25406,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 {
 	}
 
 	if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) {
-		rc = Xsqlite3CantopenError(tls, 65682)
+		rc = Xsqlite3CantopenError(tls, 65686)
 	}
 	if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
 		if rc != SQLITE_OK {
@@ -25877,7 +25879,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr
 				iRead = iFrame
 			}
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 66419)
+				return Xsqlite3CorruptError(tls, 66423)
 			}
 			iKey = walNextHash(tls, iKey)
 		}
@@ -26382,7 +26384,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
 
 	if rc == SQLITE_OK {
 		if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf {
-			rc = Xsqlite3CorruptError(tls, 67138)
+			rc = Xsqlite3CorruptError(tls, 67142)
 		} else {
 			rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
 		}
@@ -27040,7 +27042,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32
 		}
 		Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
 		if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
-			rc = Xsqlite3CorruptError(tls, 69249)
+			rc = Xsqlite3CorruptError(tls, 69253)
 		} else {
 			rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
 		}
@@ -27177,7 +27179,7 @@ __1:
 	if !(key == Pgno(0)) {
 		goto __2
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69430)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69434)
 	return
 __2:
 	;
@@ -27194,7 +27196,7 @@ __3:
 		goto __4
 	}
 
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69443)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69447)
 	goto ptrmap_exit
 __4:
 	;
@@ -27202,7 +27204,7 @@ __4:
 	if !(offset < 0) {
 		goto __5
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69448)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69452)
 	goto ptrmap_exit
 __5:
 	;
@@ -27245,7 +27247,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 	offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1)))
 	if offset < 0 {
 		Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
-		return Xsqlite3CorruptError(tls, 69493)
+		return Xsqlite3CorruptError(tls, 69497)
 	}
 
 	*(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
@@ -27255,7 +27257,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 
 	Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
 	if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 {
-		return Xsqlite3CorruptError(tls, 69501)
+		return Xsqlite3CorruptError(tls, 69505)
 	}
 	return SQLITE_OK
 }
@@ -27505,7 +27507,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr,
 	if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 		var ovfl Pgno
 		if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) {
-			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69893)
+			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69897)
 			return
 		}
 		ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4))
@@ -27552,7 +27554,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 {
 	if !(iFree > usableSize-4) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 69951)
+	return Xsqlite3CorruptError(tls, 69955)
 __2:
 	;
 	if !(iFree != 0) {
@@ -27562,7 +27564,7 @@ __2:
 	if !(iFree2 > usableSize-4) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 69954)
+	return Xsqlite3CorruptError(tls, 69958)
 __4:
 	;
 	if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) {
@@ -27575,7 +27577,7 @@ __4:
 	if !(top >= iFree) {
 		goto __6
 	}
-	return Xsqlite3CorruptError(tls, 69962)
+	return Xsqlite3CorruptError(tls, 69966)
 __6:
 	;
 	if !(iFree2 != 0) {
@@ -27584,14 +27586,14 @@ __6:
 	if !(iFree+sz > iFree2) {
 		goto __9
 	}
-	return Xsqlite3CorruptError(tls, 69965)
+	return Xsqlite3CorruptError(tls, 69969)
 __9:
 	;
 	sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1)))
 	if !(iFree2+sz2 > usableSize) {
 		goto __10
 	}
-	return Xsqlite3CorruptError(tls, 69967)
+	return Xsqlite3CorruptError(tls, 69971)
 __10:
 	;
 	libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz)))
@@ -27601,7 +27603,7 @@ __7:
 	if !(iFree+sz > usableSize) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 69971)
+	return Xsqlite3CorruptError(tls, 69975)
 __11:
 	;
 __8:
@@ -27665,7 +27667,7 @@ __19:
 	if !(pc < iCellStart || pc > iCellLast) {
 		goto __22
 	}
-	return Xsqlite3CorruptError(tls, 70004)
+	return Xsqlite3CorruptError(tls, 70008)
 __22:
 	;
 	size = int32((*struct {
@@ -27675,7 +27677,7 @@ __22:
 	if !(cbrk < iCellStart || pc+size > usableSize) {
 		goto __23
 	}
-	return Xsqlite3CorruptError(tls, 70010)
+	return Xsqlite3CorruptError(tls, 70014)
 __23:
 	;
 	*(*U8)(unsafe.Pointer(pAddr1)) = U8(cbrk >> 8)
@@ -27697,7 +27699,7 @@ defragment_out:
 	if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) {
 		goto __24
 	}
-	return Xsqlite3CorruptError(tls, 70024)
+	return Xsqlite3CorruptError(tls, 70028)
 __24:
 	;
 	*(*uint8)(unsafe.Pointer(data + uintptr(hdr+5))) = U8(cbrk >> 8)
@@ -27732,7 +27734,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 				*(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x)))
 				return aData + uintptr(pc)
 			} else if x+pc > maxPC {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70081)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70085)
 				return uintptr(0)
 			} else {
 				*(*U8)(unsafe.Pointer(aData + uintptr(pc+2))) = U8(x >> 8)
@@ -27745,13 +27747,13 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 		pc = int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1)))
 		if pc <= iAddr {
 			if pc != 0 {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70096)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70100)
 			}
 			return uintptr(0)
 		}
 	}
 	if pc > maxPC+nByte-4 {
-		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70103)
+		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70107)
 	}
 	return uintptr(0)
 }
@@ -27776,7 +27778,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 		if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) {
 			top = 65536
 		} else {
-			return Xsqlite3CorruptError(tls, 70152)
+			return Xsqlite3CorruptError(tls, 70156)
 		}
 	}
 
@@ -27787,7 +27789,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 
 			*(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1))
 			if g2 <= gap {
-				return Xsqlite3CorruptError(tls, 70170)
+				return Xsqlite3CorruptError(tls, 70174)
 			} else {
 				return SQLITE_OK
 			}
@@ -27839,22 +27841,22 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 				if int32(iFreeBlk) == 0 {
 					break
 				}
-				return Xsqlite3CorruptError(tls, 70249)
+				return Xsqlite3CorruptError(tls, 70253)
 			}
 			iPtr = iFreeBlk
 		}
 		if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) {
-			return Xsqlite3CorruptError(tls, 70254)
+			return Xsqlite3CorruptError(tls, 70258)
 		}
 
 		if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) {
 			nFrag = U8(U32(iFreeBlk) - iEnd)
 			if iEnd > U32(iFreeBlk) {
-				return Xsqlite3CorruptError(tls, 70266)
+				return Xsqlite3CorruptError(tls, 70270)
 			}
 			iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1)))))
 			if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-				return Xsqlite3CorruptError(tls, 70269)
+				return Xsqlite3CorruptError(tls, 70273)
 			}
 			iSize = U16(iEnd - U32(iStart))
 			iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1))))
@@ -27864,7 +27866,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1))))
 			if iPtrEnd+3 >= int32(iStart) {
 				if iPtrEnd > int32(iStart) {
-					return Xsqlite3CorruptError(tls, 70282)
+					return Xsqlite3CorruptError(tls, 70286)
 				}
 				nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd))
 				iSize = U16(iEnd - U32(iPtr))
@@ -27872,7 +27874,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			}
 		}
 		if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) {
-			return Xsqlite3CorruptError(tls, 70288)
+			return Xsqlite3CorruptError(tls, 70292)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag))
 	}
@@ -27880,10 +27882,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 	x = U16(int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1))))
 	if int32(iStart) <= int32(x) {
 		if int32(iStart) < int32(x) {
-			return Xsqlite3CorruptError(tls, 70297)
+			return Xsqlite3CorruptError(tls, 70301)
 		}
 		if int32(iPtr) != int32(hdr)+1 {
-			return Xsqlite3CorruptError(tls, 70298)
+			return Xsqlite3CorruptError(tls, 70302)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8)
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk)
@@ -27943,7 +27945,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70357)
+			return Xsqlite3CorruptError(tls, 70361)
 		}
 	} else {
 		(*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize = U8(4)
@@ -27979,7 +27981,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70381)
+			return Xsqlite3CorruptError(tls, 70385)
 		}
 	}
 	return SQLITE_OK
@@ -28009,11 +28011,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 		var next U32
 		var size U32
 		if pc < top {
-			return Xsqlite3CorruptError(tls, 70432)
+			return Xsqlite3CorruptError(tls, 70436)
 		}
 		for 1 != 0 {
 			if pc > iCellLast {
-				return Xsqlite3CorruptError(tls, 70437)
+				return Xsqlite3CorruptError(tls, 70441)
 			}
 			next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1))))
 			size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1))))
@@ -28024,15 +28026,15 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 			pc = int32(next)
 		}
 		if next > U32(0) {
-			return Xsqlite3CorruptError(tls, 70447)
+			return Xsqlite3CorruptError(tls, 70451)
 		}
 		if U32(pc)+size > uint32(usableSize) {
-			return Xsqlite3CorruptError(tls, 70451)
+			return Xsqlite3CorruptError(tls, 70455)
 		}
 	}
 
 	if nFree > usableSize || nFree < iCellFirst {
-		return Xsqlite3CorruptError(tls, 70463)
+		return Xsqlite3CorruptError(tls, 70467)
 	}
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst))
 	return SQLITE_OK
@@ -28060,14 +28062,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 {
 		pc = int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2) + 1)))
 
 		if pc < iCellFirst || pc > iCellLast {
-			return Xsqlite3CorruptError(tls, 70494)
+			return Xsqlite3CorruptError(tls, 70498)
 		}
 		sz = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
 		})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc)))
 
 		if pc+sz > usableSize {
-			return Xsqlite3CorruptError(tls, 70499)
+			return Xsqlite3CorruptError(tls, 70503)
 		}
 	}
 	return SQLITE_OK
@@ -28081,7 +28083,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 	data = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 {
-		return Xsqlite3CorruptError(tls, 70531)
+		return Xsqlite3CorruptError(tls, 70535)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1))
@@ -28093,7 +28095,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1))))
 	if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) {
-		return Xsqlite3CorruptError(tls, 70545)
+		return Xsqlite3CorruptError(tls, 70549)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = -1
@@ -28196,7 +28198,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	rc = Xsqlite3CorruptError(tls, 70700)
+	rc = Xsqlite3CorruptError(tls, 70704)
 	goto getAndInitPage_error1
 __1:
 	;
@@ -28224,7 +28226,7 @@ __3:
 	if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) {
 		goto __5
 	}
-	rc = Xsqlite3CorruptError(tls, 70721)
+	rc = Xsqlite3CorruptError(tls, 70725)
 	goto getAndInitPage_error2
 __5:
 	;
@@ -28263,7 +28265,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 {
 			releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
 			*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
-			return Xsqlite3CorruptError(tls, 70787)
+			return Xsqlite3CorruptError(tls, 70791)
 		}
 		(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0)
 	} else {
@@ -29135,7 +29137,7 @@ __16:
 	if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) {
 		goto __18
 	}
-	rc = Xsqlite3CorruptError(tls, 71722)
+	rc = Xsqlite3CorruptError(tls, 71726)
 	goto page1_init_failed
 	goto __19
 __18:
@@ -29550,7 +29552,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 	if int32(eType) == PTRMAP_OVERFLOW2 {
 		if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
-			return Xsqlite3CorruptError(tls, 72143)
+			return Xsqlite3CorruptError(tls, 72147)
 		}
 		Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo)
 	} else {
@@ -29576,7 +29578,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp)
 				if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 					if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-						return Xsqlite3CorruptError(tls, 72162)
+						return Xsqlite3CorruptError(tls, 72166)
 					}
 					if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) {
 						Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo)
@@ -29585,7 +29587,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				}
 			} else {
 				if pCell+uintptr(4) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-					return Xsqlite3CorruptError(tls, 72171)
+					return Xsqlite3CorruptError(tls, 72175)
 				}
 				if Xsqlite3Get4byte(tls, pCell) == iFrom {
 					Xsqlite3Put4byte(tls, pCell, iTo)
@@ -29596,7 +29598,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 		if i == nCell {
 			if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom {
-				return Xsqlite3CorruptError(tls, 72183)
+				return Xsqlite3CorruptError(tls, 72187)
 			}
 			Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo)
 		}
@@ -29612,7 +29614,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag
 	var pPager uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPager
 
 	if iDbPage < Pgno(3) {
-		return Xsqlite3CorruptError(tls, 72218)
+		return Xsqlite3CorruptError(tls, 72222)
 	}
 
 	*(*int32)(unsafe.Pointer(bp)) = Xsqlite3PagerMovepage(tls, pPager, (*MemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -29673,7 +29675,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 			return rc
 		}
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE {
-			return Xsqlite3CorruptError(tls, 72316)
+			return Xsqlite3CorruptError(tls, 72320)
 		}
 
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE {
@@ -29708,7 +29710,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 				if *(*Pgno)(unsafe.Pointer(bp + 40)) > dbSize {
 					releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
-					return Xsqlite3CorruptError(tls, 72368)
+					return Xsqlite3CorruptError(tls, 72372)
 				}
 			}
 
@@ -29768,7 +29770,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 {
 		var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree)
 
 		if nOrig < nFin || nFree >= nOrig {
-			rc = Xsqlite3CorruptError(tls, 72436)
+			rc = Xsqlite3CorruptError(tls, 72440)
 		} else if nFree > Pgno(0) {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
 			if rc == SQLITE_OK {
@@ -29807,7 +29809,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 
 		nOrig = btreePagecount(tls, pBt)
 		if ptrmapPageno(tls, pBt, nOrig) == nOrig || nOrig == U32(Xsqlite3PendingByte)/(*BtShared)(unsafe.Pointer(pBt)).FpageSize+U32(1) {
-			return Xsqlite3CorruptError(tls, 72487)
+			return Xsqlite3CorruptError(tls, 72491)
 		}
 
 		nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
@@ -29838,7 +29840,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 		}
 		nFin = finalDbSize(tls, pBt, nOrig, nVac)
 		if nFin > nOrig {
-			return Xsqlite3CorruptError(tls, 72514)
+			return Xsqlite3CorruptError(tls, 72518)
 		}
 		if nFin < nOrig {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -30179,7 +30181,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u
 
 	if iTable <= Pgno(1) {
 		if iTable < Pgno(1) {
-			return Xsqlite3CorruptError(tls, 72978)
+			return Xsqlite3CorruptError(tls, 72982)
 		} else if btreePagecount(tls, pBt) == Pgno(0) {
 			iTable = Pgno(0)
 		}
@@ -30423,14 +30425,14 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt
 
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
-		return Xsqlite3CorruptError(tls, 73385)
+		return Xsqlite3CorruptError(tls, 73389)
 	}
 
 	getCellInfo(tls, pCur)
 	aPayload = (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
 
 	if Uptr((int64(aPayload)-int64((*MemPage)(unsafe.Pointer(pPage)).FaData))/1) > Uptr((*BtShared)(unsafe.Pointer(pBt)).FusableSize-U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal)) {
-		return Xsqlite3CorruptError(tls, 73400)
+		return Xsqlite3CorruptError(tls, 73404)
 	}
 
 	if offset < U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -30475,7 +30477,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 
 		for *(*Pgno)(unsafe.Pointer(bp)) != 0 {
 			if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage {
-				return Xsqlite3CorruptError(tls, 73462)
+				return Xsqlite3CorruptError(tls, 73466)
 			}
 
 			*(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp))
@@ -30524,7 +30526,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	}
 
 	if rc == SQLITE_OK && amt > U32(0) {
-		return Xsqlite3CorruptError(tls, 73547)
+		return Xsqlite3CorruptError(tls, 73551)
 	}
 	return rc
 }
@@ -30604,7 +30606,7 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt
 
 func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 {
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 {
-		return Xsqlite3CorruptError(tls, 73684)
+		return Xsqlite3CorruptError(tls, 73688)
 	}
 	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	*(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl))
@@ -30695,7 +30697,7 @@ __2:
 	if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 73823)
+	return Xsqlite3CorruptError(tls, 73827)
 __11:
 	;
 skip_init:
@@ -30715,7 +30717,7 @@ __12:
 	if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) {
 		goto __16
 	}
-	return Xsqlite3CorruptError(tls, 73835)
+	return Xsqlite3CorruptError(tls, 73839)
 __16:
 	;
 	subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8))
@@ -30925,7 +30927,7 @@ __19:
 	if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __21
 	}
-	return Xsqlite3CorruptError(tls, 74077)
+	return Xsqlite3CorruptError(tls, 74081)
 __21:
 	;
 	goto __19
@@ -31129,7 +31131,7 @@ __2:
 	if !!(int32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit) != 0) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 74273)
+	return Xsqlite3CorruptError(tls, 74277)
 __4:
 	;
 	goto bypass_moveto_root
@@ -31194,7 +31196,7 @@ __15:
 	if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) {
 		goto __17
 	}
-	rc = Xsqlite3CorruptError(tls, 74360)
+	rc = Xsqlite3CorruptError(tls, 74364)
 	goto moveto_index_finish
 __17:
 	;
@@ -31242,7 +31244,7 @@ __22:
 	if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) {
 		goto __24
 	}
-	rc = Xsqlite3CorruptError(tls, 74392)
+	rc = Xsqlite3CorruptError(tls, 74396)
 __24:
 	;
 	goto moveto_index_finish
@@ -31361,7 +31363,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 {
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1))
 	if !(int32((*MemPage)(unsafe.Pointer(pPage)).FisInit) != 0) || Xsqlite3FaultSim(tls, 412) != 0 {
-		return Xsqlite3CorruptError(tls, 74508)
+		return Xsqlite3CorruptError(tls, 74512)
 	}
 
 	if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
@@ -31521,7 +31523,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr
 	if !(n >= mxPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74688)
+	return Xsqlite3CorruptError(tls, 74692)
 __1:
 	;
 	if !(n > U32(0)) {
@@ -31586,7 +31588,7 @@ __15:
 	if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) {
 		goto __16
 	}
-	rc = Xsqlite3CorruptError(tls, 74744)
+	rc = Xsqlite3CorruptError(tls, 74748)
 	goto __17
 __16:
 	rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0)
@@ -31622,7 +31624,7 @@ __19:
 		goto __22
 	}
 
-	rc = Xsqlite3CorruptError(tls, 74773)
+	rc = Xsqlite3CorruptError(tls, 74777)
 	goto end_allocate_page
 	goto __23
 __22:
@@ -31666,7 +31668,7 @@ __27:
 	if !(iNewTrunk > mxPage) {
 		goto __32
 	}
-	rc = Xsqlite3CorruptError(tls, 74807)
+	rc = Xsqlite3CorruptError(tls, 74811)
 	goto end_allocate_page
 __32:
 	;
@@ -31778,7 +31780,7 @@ __40:
 	if !(iPage > mxPage || iPage < Pgno(2)) {
 		goto __51
 	}
-	rc = Xsqlite3CorruptError(tls, 74872)
+	rc = Xsqlite3CorruptError(tls, 74876)
 	goto end_allocate_page
 __51:
 	;
@@ -31936,7 +31938,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 {
 	if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74999)
+	return Xsqlite3CorruptError(tls, 75003)
 __1:
 	;
 	if !(pMemPage != 0) {
@@ -31993,7 +31995,7 @@ __7:
 	if !(iTrunk > btreePagecount(tls, pBt)) {
 		goto __10
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75046)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75050)
 	goto freepage_out
 __10:
 	;
@@ -32009,7 +32011,7 @@ __11:
 	if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) {
 		goto __12
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75057)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75061)
 	goto freepage_out
 __12:
 	;
@@ -32083,7 +32085,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 	var ovflPageSize U32
 
 	if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 75146)
+		return Xsqlite3CorruptError(tls, 75150)
 	}
 	ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
 	pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt
@@ -32095,7 +32097,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 		*(*Pgno)(unsafe.Pointer(bp + 8)) = Pgno(0)
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 		if ovflPgno < Pgno(2) || ovflPgno > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 75163)
+			return Xsqlite3CorruptError(tls, 75167)
 		}
 		if nOvfl != 0 {
 			rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8)
@@ -32106,7 +32108,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 
 		if (*(*uintptr)(unsafe.Pointer(bp)) != 0 || libc.AssignPtrUintptr(bp, btreePageLookup(tls, pBt, ovflPgno)) != uintptr(0)) &&
 			Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 {
-			rc = Xsqlite3CorruptError(tls, 75183)
+			rc = Xsqlite3CorruptError(tls, 75187)
 		} else {
 			rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp)), ovflPgno)
 		}
@@ -32271,7 +32273,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
 	hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75436)
+		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75440)
 		return
 	}
 	rc = freeSpace(tls, pPage, uint16(pc), uint16(sz))
@@ -32550,12 +32552,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 
 		if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) {
 			if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) {
-				return Xsqlite3CorruptError(tls, 75737)
+				return Xsqlite3CorruptError(tls, 75741)
 			}
 			pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1)
 		} else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) &&
 			Uptr(pCell) < Uptr(pSrcEnd) {
-			return Xsqlite3CorruptError(tls, 75742)
+			return Xsqlite3CorruptError(tls, 75746)
 		}
 
 		pData -= uintptr(sz)
@@ -32563,7 +32565,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 		*(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1)
 		pCellptr += uintptr(2)
 		if pData < pCellptr {
-			return Xsqlite3CorruptError(tls, 75748)
+			return Xsqlite3CorruptError(tls, 75752)
 		}
 		libc.Xmemmove(tls, pData, pCell, uint64(sz))
 
@@ -32623,7 +32625,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr,
 
 		if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) &&
 			Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) {
-			Xsqlite3CorruptError(tls, 75833)
+			Xsqlite3CorruptError(tls, 75837)
 			return 1
 		}
 		libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz))
@@ -32712,7 +32714,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC
 	if !(nShift > nCell) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 75947)
+	return Xsqlite3CorruptError(tls, 75951)
 __2:
 	;
 	libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2))
@@ -32828,7 +32830,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr
 	var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt
 
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
-		return Xsqlite3CorruptError(tls, 76060)
+		return Xsqlite3CorruptError(tls, 76064)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 136)) = allocateBtreePage(tls, pBt, bp, bp+8, uint32(0), uint8(0))
@@ -33148,7 +33150,7 @@ __22:
 	if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) {
 		goto __25
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76481)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76485)
 	goto balance_cleanup
 __25:
 	;
@@ -33159,7 +33161,7 @@ __25:
 	if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) {
 		goto __27
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76505)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76509)
 	goto balance_cleanup
 __27:
 	;
@@ -33317,7 +33319,7 @@ __52:
 	if !(k > NB+2) {
 		goto __55
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76606)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76610)
 	goto balance_cleanup
 __55:
 	;
@@ -33391,7 +33393,7 @@ __65:
 	}()) {
 		goto __67
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76639)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76643)
 	goto balance_cleanup
 __67:
 	;
@@ -33454,7 +33456,7 @@ __73:
 	}()) {
 		goto __75
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76683)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76687)
 	goto balance_cleanup
 __75:
 	;
@@ -33482,7 +33484,7 @@ __76:
 		*(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) {
 		goto __81
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76716)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76720)
 __81:
 	;
 	if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) {
@@ -33743,7 +33745,7 @@ __120:
 	if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) {
 		goto __121
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76916)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76920)
 	goto balance_cleanup
 __121:
 	;
@@ -33935,7 +33937,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 {
 		if pOther != pCur &&
 			int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID &&
 			(*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage {
-			return Xsqlite3CorruptError(tls, 77146)
+			return Xsqlite3CorruptError(tls, 77150)
 		}
 	}
 	return SQLITE_OK
@@ -33973,7 +33975,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 {
 				break
 			}
 		} else if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) > 1 {
-			rc = Xsqlite3CorruptError(tls, 77206)
+			rc = Xsqlite3CorruptError(tls, 77210)
 		} else {
 			var pParent uintptr = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-1)*8))
 			var iIdx int32 = int32(*(*U16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-1)*2)))
@@ -34079,7 +34081,7 @@ func btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 			return rc
 		}
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
-			rc = Xsqlite3CorruptError(tls, 77370)
+			rc = Xsqlite3CorruptError(tls, 77374)
 		} else {
 			if U32(iOffset)+ovflPageSize < U32(nTotal) {
 				ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -34104,7 +34106,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 
 	if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd ||
 		(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FcellOffset) {
-		return Xsqlite3CorruptError(tls, 77398)
+		return Xsqlite3CorruptError(tls, 77402)
 	}
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
 		return btreeOverwriteContent(tls, pPage, (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX,
@@ -34174,7 +34176,7 @@ __2:
 		goto __3
 	}
 
-	return Xsqlite3CorruptError(tls, 77479)
+	return Xsqlite3CorruptError(tls, 77483)
 __3:
 	;
 __1:
@@ -34287,7 +34289,7 @@ __7:
 		goto __21
 	}
 
-	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77602)
+	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77606)
 	goto __22
 __21:
 	*(*int32)(unsafe.Pointer(bp + 120)) = btreeComputeFreeSpace(tls, pPage)
@@ -34347,6 +34349,7 @@ __30:
 __25:
 	;
 	idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
+	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !(*(*int32)(unsafe.Pointer(bp)) == 0) {
 		goto __31
 	}
@@ -34354,7 +34357,7 @@ __25:
 	if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) {
 		goto __33
 	}
-	return Xsqlite3CorruptError(tls, 77640)
+	return Xsqlite3CorruptError(tls, 77645)
 __33:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage)
@@ -34392,13 +34395,13 @@ __37:
 	if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) {
 		goto __39
 	}
-	return Xsqlite3CorruptError(tls, 77667)
+	return Xsqlite3CorruptError(tls, 77672)
 __39:
 	;
 	if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 124))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __40
 	}
-	return Xsqlite3CorruptError(tls, 77670)
+	return Xsqlite3CorruptError(tls, 77675)
 __40:
 	;
 	libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 124))))
@@ -34429,7 +34432,6 @@ __32:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 124)), uintptr(0), uint32(0))
 
-	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) {
 		goto __44
 	}
@@ -34504,7 +34506,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 	nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
 	aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
 	if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 77773)
+		return Xsqlite3CorruptError(tls, 77777)
 	}
 	nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
 	if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -34529,7 +34531,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 
 		if nRem > nIn {
 			if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-				return Xsqlite3CorruptError(tls, 77798)
+				return Xsqlite3CorruptError(tls, 77802)
 			}
 			ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
 		}
@@ -34630,7 +34632,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 				return *(*int32)(unsafe.Pointer(bp + 24))
 			}
 		} else {
-			return Xsqlite3CorruptError(tls, 77894)
+			return Xsqlite3CorruptError(tls, 77898)
 		}
 	}
 
@@ -34638,11 +34640,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 	iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
-		return Xsqlite3CorruptError(tls, 77903)
+		return Xsqlite3CorruptError(tls, 77907)
 	}
 	pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx) + 1)))))
 	if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 {
-		return Xsqlite3CorruptError(tls, 77907)
+		return Xsqlite3CorruptError(tls, 77911)
 	}
 
 	bPreserve = U8(libc.Bool32(int32(flags)&BTREE_SAVEPOSITION != 0))
@@ -34717,7 +34719,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 		}
 		pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)) + 1)))))
 		if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 {
-			return Xsqlite3CorruptError(tls, 77998)
+			return Xsqlite3CorruptError(tls, 78002)
 		}
 		nCell = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
@@ -34786,7 +34788,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 
 		Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp)
 		if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 78114)
+			return Xsqlite3CorruptError(tls, 78118)
 		}
 		*(*Pgno)(unsafe.Pointer(bp))++
 
@@ -34815,7 +34817,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 			}
 			*(*int32)(unsafe.Pointer(bp + 40)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp)), bp+32, bp+36)
 			if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE {
-				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78162)
+				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78166)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -34891,7 +34893,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 78252)
+	return Xsqlite3CorruptError(tls, 78256)
 __1:
 	;
 	*(*int32)(unsafe.Pointer(bp + 32)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0)
@@ -34905,7 +34907,7 @@ __2:
 		Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) {
 		goto __3
 	}
-	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78259)
+	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78263)
 	goto cleardatabasepage_out
 __3:
 	;
@@ -35039,7 +35041,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3
 	var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt
 
 	if iTable > btreePagecount(tls, pBt) {
-		return Xsqlite3CorruptError(tls, 78363)
+		return Xsqlite3CorruptError(tls, 78367)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 12)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0))
@@ -37508,7 +37510,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32,
 	var rc int32
 	(*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null)
 	if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) {
-		return Xsqlite3CorruptError(tls, 81630)
+		return Xsqlite3CorruptError(tls, 81634)
 	}
 	if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) {
 		rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz)
@@ -38157,7 +38159,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		return Xsqlite3GetVarint32(tls, a, bp)
 	}())
 	if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) {
-		return Xsqlite3CorruptError(tls, 82270)
+		return Xsqlite3CorruptError(tls, 82274)
 	}
 	iField = *(*int32)(unsafe.Pointer(bp))
 	for i = 0; i <= iCol; i++ {
@@ -38172,14 +38174,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		}())
 
 		if iHdr > *(*int32)(unsafe.Pointer(bp)) {
-			return Xsqlite3CorruptError(tls, 82276)
+			return Xsqlite3CorruptError(tls, 82280)
 		}
 		szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4))))
 		iField = iField + szField
 	}
 
 	if iField > nRec {
-		return Xsqlite3CorruptError(tls, 82282)
+		return Xsqlite3CorruptError(tls, 82286)
 	}
 	if pMem == uintptr(0) {
 		pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db))
@@ -40483,7 +40485,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 {
 		return rc
 	}
 	if *(*int32)(unsafe.Pointer(bp)) != 0 {
-		return Xsqlite3CorruptError(tls, 86058)
+		return Xsqlite3CorruptError(tls, 86062)
 	}
 	(*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0)
 	(*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE)
@@ -41034,7 +41036,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		i = 0
 	}
 	if d1 > uint32(nKey1) {
-		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86985))
+		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86989))
 		return 0
 	}
 
@@ -41099,7 +41101,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 
 				if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) ||
 					int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87062))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87066))
 					return 0
 				} else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 {
 					(*Mem)(unsafe.Pointer(bp + 8)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc
@@ -41133,7 +41135,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 				var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2))
 
 				if d1+U32(nStr) > uint32(nKey1) {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87092))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87096))
 					return 0
 				} else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 {
 					if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) {
@@ -41183,7 +41185,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		}
 		idx1 = idx1 + U32(Xsqlite3VarintLen(tls, uint64(*(*U32)(unsafe.Pointer(bp + 64)))))
 		if idx1 >= *(*U32)(unsafe.Pointer(bp + 4)) {
-			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87136))
+			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87140))
 			return 0
 		}
 	}
@@ -41329,7 +41331,7 @@ __5:
 	if !(szHdr+nStr > nKey1) {
 		goto __7
 	}
-	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87299))
+	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87303))
 	return 0
 __7:
 	;
@@ -41500,7 +41502,7 @@ __6:
 idx_rowid_corruption:
 	;
 	Xsqlite3VdbeMemReleaseMalloc(tls, bp)
-	return Xsqlite3CorruptError(tls, 87457)
+	return Xsqlite3CorruptError(tls, 87461)
 }
 
 // Compare the key of the index entry that cursor pC is pointing to against
@@ -41526,7 +41528,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
 
 	if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) {
 		*(*int32)(unsafe.Pointer(res)) = 0
-		return Xsqlite3CorruptError(tls, 87490)
+		return Xsqlite3CorruptError(tls, 87494)
 	}
 	Xsqlite3VdbeMemInit(tls, bp, db, uint16(0))
 	rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp)
@@ -41800,7 +41802,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 {
 		var v uintptr = pStmt
 		var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb
 		if vdbeSafety(tls, v) != 0 {
-			return Xsqlite3MisuseError(tls, 87854)
+			return Xsqlite3MisuseError(tls, 87858)
 		}
 		Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) {
@@ -42415,7 +42417,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 {
 	var db uintptr
 
 	if vdbeSafetyNotNull(tls, v) != 0 {
-		return Xsqlite3MisuseError(tls, 88544)
+		return Xsqlite3MisuseError(tls, 88548)
 	}
 	db = (*Vdbe)(unsafe.Pointer(v)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -42935,7 +42937,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 
 	var pVar uintptr
 	if vdbeSafetyNotNull(tls, p) != 0 {
-		return Xsqlite3MisuseError(tls, 89208)
+		return Xsqlite3MisuseError(tls, 89212)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 	if int32((*Vdbe)(unsafe.Pointer(p)).FeVdbeState) != VDBE_READY_STATE {
@@ -42943,7 +42945,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 		Xsqlite3_log(tls, SQLITE_MISUSE,
 			ts+5341, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql))
-		return Xsqlite3MisuseError(tls, 89216)
+		return Xsqlite3MisuseError(tls, 89220)
 	}
 	if i >= uint32((*Vdbe)(unsafe.Pointer(p)).FnVar) {
 		Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE)
@@ -43348,7 +43350,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89707)
+	rc = Xsqlite3MisuseError(tls, 89711)
 	goto preupdate_old_out
 __1:
 	;
@@ -43492,7 +43494,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89809)
+	rc = Xsqlite3MisuseError(tls, 89813)
 	goto preupdate_new_out
 __1:
 	;
@@ -43936,10 +43938,6 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 {
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Real != 0 {
 			h = h + U64(Xsqlite3VdbeIntValue(tls, p))
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 {
-			h = h + U64((*Mem)(unsafe.Pointer(p)).Fn)
-			if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Zero != 0 {
-				h = h + U64(*(*int32)(unsafe.Pointer(p)))
-			}
 		}
 	}
 	return h
@@ -46588,7 +46586,7 @@ op_column_corrupt:
 	goto __9
 	goto __425
 __424:
-	rc = Xsqlite3CorruptError(tls, 93317)
+	rc = Xsqlite3CorruptError(tls, 93320)
 	goto abort_due_to_error
 __425:
 	;
@@ -48348,7 +48346,7 @@ notExistsWithKey:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) {
 		goto __682
 	}
-	rc = Xsqlite3CorruptError(tls, 95560)
+	rc = Xsqlite3CorruptError(tls, 95563)
 	goto __683
 __682:
 	goto jump_to_p2
@@ -49126,7 +49124,7 @@ __767:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) {
 		goto __770
 	}
-	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96635, ts+5850)
+	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96638, ts+5850)
 	goto abort_due_to_error
 __770:
 	;
@@ -49236,7 +49234,7 @@ __780:
 	if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) {
 		goto __781
 	}
-	rc = Xsqlite3CorruptError(tls, 96840)
+	rc = Xsqlite3CorruptError(tls, 96843)
 	goto abort_due_to_error
 __781:
 	;
@@ -49430,7 +49428,7 @@ __802:
 		goto __803
 	}
 
-	rc = Xsqlite3CorruptError(tls, 97092)
+	rc = Xsqlite3CorruptError(tls, 97095)
 __803:
 	;
 	Xsqlite3DbFreeNN(tls, db, zSql)
@@ -50797,7 +50795,7 @@ __955:
 	if !(rc == SQLITE_IOERR|int32(33)<<8) {
 		goto __957
 	}
-	rc = Xsqlite3CorruptError(tls, 99031)
+	rc = Xsqlite3CorruptError(tls, 99034)
 __957:
 	;
 __956:
@@ -51317,7 +51315,7 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99516)
+		return Xsqlite3MisuseError(tls, 99519)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -51400,7 +51398,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99616)
+		return Xsqlite3MisuseError(tls, 99619)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -54821,14 +54819,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			;
 			Xsqlite3WalkExpr(tls, pWalker, (*Expr)(unsafe.Pointer(pExpr)).FpLeft)
 			if 0 == Xsqlite3ExprCanBeNull(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
-				if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6748
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsTrue)
-				} else {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6753
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
-				}
-				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
+				*(*int32)(unsafe.Pointer(pExpr + 8)) = libc.Bool32(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL)
+				*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IntValue)
+				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_INTEGER)
+
 				i = 0
 				p = pNC
 			__4:
@@ -54872,7 +54866,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_GenCol) != 0 {
-					notValidImpl(tls, pParse, pNC, ts+6759, uintptr(0), pExpr)
+					notValidImpl(tls, pParse, pNC, ts+6748, uintptr(0), pExpr)
 				}
 
 				pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight
@@ -54936,7 +54930,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 						(*Expr)(unsafe.Pointer(pExpr)).FiTable = exprProbability(tls, (*ExprList_item)(unsafe.Pointer(pList+8+1*32)).FpExpr)
 						if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 {
 							Xsqlite3ErrorMsg(tls, pParse,
-								ts+6776, libc.VaList(bp, pExpr))
+								ts+6765, libc.VaList(bp, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
 					} else {
@@ -54952,7 +54946,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 					var auth int32 = Xsqlite3AuthCheck(tls, pParse, SQLITE_FUNCTION, uintptr(0), (*FuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0))
 					if auth != SQLITE_OK {
 						if auth == SQLITE_DENY {
-							Xsqlite3ErrorMsg(tls, pParse, ts+6840,
+							Xsqlite3ErrorMsg(tls, pParse, ts+6829,
 								libc.VaList(bp+8, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
@@ -54966,7 +54960,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				}
 				if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_CONSTANT) == U32(0) {
 					if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_PartIdx|NC_GenCol) != 0 {
-						notValidImpl(tls, pParse, pNC, ts+6876, uintptr(0), pExpr)
+						notValidImpl(tls, pParse, pNC, ts+6865, uintptr(0), pExpr)
 					}
 
 				} else {
@@ -54989,30 +54983,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			if 0 == libc.Bool32(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 				if pDef != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+6904, libc.VaList(bp+16, pExpr))
+						ts+6893, libc.VaList(bp+16, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowAgg == 0 ||
 					is_agg != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) ||
 					is_agg != 0 && pWin != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowWin == 0 {
 					var zType uintptr
 					if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 {
-						zType = ts + 6947
+						zType = ts + 6936
 					} else {
-						zType = ts + 6954
+						zType = ts + 6943
 					}
-					Xsqlite3ErrorMsg(tls, pParse, ts+6964, libc.VaList(bp+24, zType, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6953, libc.VaList(bp+24, zType, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 					is_agg = 0
 				} else if no_such_func != 0 && int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+6992, libc.VaList(bp+40, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6981, libc.VaList(bp+40, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if wrong_num_args != 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7014,
+					Xsqlite3ErrorMsg(tls, pParse, ts+7003,
 						libc.VaList(bp+48, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg == 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7058,
+						ts+7047,
 						libc.VaList(bp+56, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				}
@@ -55084,15 +55078,15 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_SelfRef != 0 {
-					notValidImpl(tls, pParse, pNC, ts+7106, pExpr, pExpr)
+					notValidImpl(tls, pParse, pNC, ts+7095, pExpr, pExpr)
 				} else {
 					Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32)))
 				}
 
 				if nRef != (*NameContext)(unsafe.Pointer(pNC)).FnRef {
 					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_VarSelect)
-					*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_VarSelect
 				}
+				*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_Subquery
 			}
 			break
 
@@ -55100,7 +55094,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 	case TK_VARIABLE:
 		{
 			if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IsCheck|NC_PartIdx|NC_IdxExpr|NC_GenCol) != 0 {
-				notValidImpl(tls, pParse, pNC, ts+7117, pExpr, pExpr)
+				notValidImpl(tls, pParse, pNC, ts+7106, pExpr, pExpr)
 			}
 
 			break
@@ -55231,7 +55225,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3
 	defer tls.Free(24)
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+7128, libc.VaList(bp, i, zType, mx))
+		ts+7117, libc.VaList(bp, i, zType, mx))
 	Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pError)
 }
 
@@ -55251,7 +55245,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	}
 	db = (*Parse)(unsafe.Pointer(pParse)).Fdb
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7184, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7173, 0)
 		return 1
 	}
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
@@ -55286,7 +55280,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 			}
 			if Xsqlite3ExprIsInteger(tls, pE, bp+8) != 0 {
 				if *(*int32)(unsafe.Pointer(bp + 8)) <= 0 || *(*int32)(unsafe.Pointer(bp + 8)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr {
-					resolveOutOfRangeError(tls, pParse, ts+7218, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
+					resolveOutOfRangeError(tls, pParse, ts+7207, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
 					return 1
 				}
 			} else {
@@ -55343,7 +55337,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
 		if int32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2) == 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+7224, libc.VaList(bp, i+1))
+				ts+7213, libc.VaList(bp, i+1))
 			return 1
 		}
 	}
@@ -55371,7 +55365,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr,
 		return 0
 	}
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7285, libc.VaList(bp, zType))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7274, libc.VaList(bp, zType))
 		return 1
 	}
 	pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList
@@ -55585,7 +55579,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		*(*int32)(unsafe.Pointer(bp + 40)) |= NC_UEList
 		if (*Select)(unsafe.Pointer(p)).FpHaving != 0 {
 			if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Aggregate) == U32(0) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7316, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+7305, 0)
 				return WRC_Abort
 			}
 			if Xsqlite3ResolveExprNames(tls, bp, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 {
@@ -55625,7 +55619,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 
 		if (*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) &&
 			isCompound <= nCompound &&
-			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7218) != 0 {
+			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7207) != 0 {
 			return WRC_Abort
 		}
 		if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -55636,7 +55630,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		if pGroupBy != 0 {
 			var pItem uintptr
 
-			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7355) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
+			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7344) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 				return WRC_Abort
 			}
 			i = 0
@@ -55648,7 +55642,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 			{
 				if (*Expr)(unsafe.Pointer((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr)).Fflags&U32(EP_Agg) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7361, 0)
+						ts+7350, 0)
 					return WRC_Abort
 				}
 
@@ -56512,7 +56506,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32
 	var mxHeight int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4))
 	if nHeight > mxHeight {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+7420, libc.VaList(bp, mxHeight))
+			ts+7409, libc.VaList(bp, mxHeight))
 		rc = SQLITE_ERROR
 	}
 	return rc
@@ -56761,10 +56755,10 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList
 			nExprElem = 1
 		}
 		if nExprElem != nElem {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7468,
+			Xsqlite3ErrorMsg(tls, pParse, ts+7457,
 				libc.VaList(bp, nExprElem, func() uintptr {
 					if nExprElem > 1 {
-						return ts + 7512
+						return ts + 7501
 					}
 					return ts + 1538
 				}(), nElem))
@@ -56805,7 +56799,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt
 		!(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 		Xsqlite3ExprDeferredDelete(tls, pParse, pLeft)
 		Xsqlite3ExprDeferredDelete(tls, pParse, pRight)
-		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7514)
+		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7503)
 	} else {
 		return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight)
 	}
@@ -56831,7 +56825,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u
 	if pList != 0 &&
 		(*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) &&
 		!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7516, libc.VaList(bp, pToken))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7505, libc.VaList(bp, pToken))
 	}
 	*(*uintptr)(unsafe.Pointer(pNew + 32)) = pList
 	*(*U32)(unsafe.Pointer(pNew + 4)) |= U32(EP_HasFunc)
@@ -56859,7 +56853,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD
 	if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromDDL) != U32(0) {
 		if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_DIRECT) != U32(0) ||
 			(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) == uint64(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7550, libc.VaList(bp, pExpr))
+			Xsqlite3ErrorMsg(tls, pParse, ts+7539, libc.VaList(bp, pExpr))
 		}
 	}
 }
@@ -56906,7 +56900,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 			}
 
 			if bOk == 0 || *(*I64)(unsafe.Pointer(bp + 8)) < int64(1) || *(*I64)(unsafe.Pointer(bp + 8)) > I64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7570,
+				Xsqlite3ErrorMsg(tls, pParse, ts+7559,
 					libc.VaList(bp, *(*int32)(unsafe.Pointer(db + 136 + 9*4))))
 				Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 				return
@@ -56931,7 +56925,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 	}
 	(*Expr)(unsafe.Pointer(pExpr)).FiColumn = x
 	if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7613, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7602, 0)
 		Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 	}
 }
@@ -57506,7 +57500,7 @@ __2:
 	if !(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_SELECT && (*IdList)(unsafe.Pointer(pColumns)).FnId != libc.AssignInt32(&n, Xsqlite3ExprVectorSize(tls, pExpr))) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7636,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7625,
 		libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n))
 	goto vector_append_error
 __3:
@@ -57629,7 +57623,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr,
 	var mx int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4))
 
 	if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7666, libc.VaList(bp, zObject))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7655, libc.VaList(bp, zObject))
 	}
 }
 
@@ -57685,10 +57679,10 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int
 //	  "false"                        EP_IsFalse
 //	  anything else                  0
 func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 {
-	if Xsqlite3StrICmp(tls, zIn, ts+6748) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7678) == 0 {
 		return U32(EP_IsTrue)
 	}
-	if Xsqlite3StrICmp(tls, zIn, ts+6753) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7683) == 0 {
 		return U32(EP_IsFalse)
 	}
 	return U32(0)
@@ -58763,7 +58757,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 {
 	}
 	if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
-		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7514)
+		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7503)
 		if pLimit != 0 {
 			(*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC)
 			pLimit = Xsqlite3PExpr(tls, pParse, TK_NE,
@@ -59201,6 +59195,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr
 func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) {
 	var iAddr int32
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
+	var nErr int32 = (*Parse)(unsafe.Pointer(pParse)).FnErr
 
 	if (*Parse)(unsafe.Pointer(pParse)).FiSelfTab > 0 {
 		iAddr = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Parse)(unsafe.Pointer(pParse)).FiSelfTab-1, 0, regOut)
@@ -59214,6 +59209,9 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr
 	if iAddr != 0 {
 		Xsqlite3VdbeJumpHere(tls, v, iAddr)
 	}
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr > nErr {
+		(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FerrByteOffset = -1
+	}
 }
 
 // Generate code to extract the value of the iCol-th column of a table.
@@ -59432,6 +59430,7 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 	var p uintptr
 	var v uintptr
 	for p = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr; p != 0; p = (*IndexedExpr)(unsafe.Pointer(p)).FpIENext {
+		var exprAff U8
 		var iDataCur int32 = (*IndexedExpr)(unsafe.Pointer(p)).FiDataCur
 		if iDataCur < 0 {
 			continue
@@ -59445,6 +59444,14 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 		if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IndexedExpr)(unsafe.Pointer(p)).FpExpr, iDataCur) != 0 {
 			continue
 		}
+
+		exprAff = U8(Xsqlite3ExprAffinity(tls, pExpr))
+		if int32(exprAff) <= SQLITE_AFF_BLOB && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_BLOB ||
+			int32(exprAff) == SQLITE_AFF_TEXT && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_TEXT ||
+			int32(exprAff) >= SQLITE_AFF_NUMERIC && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_NUMERIC {
+			continue
+		}
+
 		v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 
 		if (*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow != 0 {
@@ -60218,7 +60225,7 @@ __121:
 	if !((*Expr)(unsafe.Pointer(pExpr)).FiTable != n1) {
 		goto __122
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7636,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7625,
 		libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1))
 __122:
 	;
@@ -60240,11 +60247,10 @@ __49:
 	return target
 
 __50:
-	if !(!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) &&
-		(*Expr)(unsafe.Pointer(pExpr)).FpLeft != 0 &&
-		int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_FUNCTION) {
+	if !!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) {
 		goto __123
 	}
+
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	if !(inReg != target) {
 		goto __125
@@ -60315,13 +60321,19 @@ __129:
 	;
 __127:
 	;
-	addrINR = Xsqlite3VdbeAddOp1(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable)
+	addrINR = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable, 0, target)
 
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = U8(0)
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = okConstFactor
+	if !(inReg != target) {
+		goto __130
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, inReg, target)
+	inReg = target
+__130:
+	;
 	Xsqlite3VdbeJumpHere(tls, v, addrINR)
-	Xsqlite3VdbeChangeP3(tls, v, addrINR, inReg)
 	goto __5
 
 __56:
@@ -60334,15 +60346,15 @@ __56:
 	nExpr = (*ExprList)(unsafe.Pointer(pEList)).FnExpr
 	endLabel = Xsqlite3VdbeMakeLabel(tls, pParse)
 	if !(libc.AssignUintptr(&pX, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) != uintptr(0)) {
-		goto __130
+		goto __131
 	}
 	pDel = Xsqlite3ExprDup(tls, db1, pX, 0)
 	if !((*Sqlite3)(unsafe.Pointer(db1)).FmallocFailed != 0) {
-		goto __131
+		goto __132
 	}
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	goto __5
-__131:
+__132:
 	;
 	exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+40))
 
@@ -60352,22 +60364,22 @@ __131:
 	pTest = bp + 120
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = 0
-__130:
+__131:
 	;
 	i1 = 0
-__132:
+__133:
 	if !(i1 < nExpr-1) {
-		goto __134
+		goto __135
 	}
 	if !(pX != 0) {
-		goto __135
+		goto __136
 	}
 
 	(*Expr)(unsafe.Pointer(bp + 120)).FpRight = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
-	goto __136
-__135:
-	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+	goto __137
 __136:
+	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+__137:
 	;
 	nextCase = Xsqlite3VdbeMakeLabel(tls, pParse)
 
@@ -60376,21 +60388,21 @@ __136:
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(aListelem+uintptr(i1+1)*32)).FpExpr, target)
 	Xsqlite3VdbeGoto(tls, v, endLabel)
 	Xsqlite3VdbeResolveLabel(tls, v, nextCase)
-	goto __133
-__133:
-	i1 = i1 + 2
-	goto __132
 	goto __134
 __134:
+	i1 = i1 + 2
+	goto __133
+	goto __135
+__135:
 	;
 	if !(nExpr&1 != 0) {
-		goto __137
+		goto __138
 	}
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(pEList+8+uintptr(nExpr-1)*32)).FpExpr, target)
-	goto __138
-__137:
-	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+	goto __139
 __138:
+	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+__139:
 	;
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	setDoNotMergeFlagOnCopy(tls, v)
@@ -60400,27 +60412,27 @@ __138:
 __57:
 	;
 	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).FpTriggerTab) != 0) && !(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0)) {
-		goto __139
+		goto __140
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
 		ts+8066, 0)
 	return 0
-__139:
-	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
-		goto __140
-	}
-	Xsqlite3MayAbort(tls, pParse)
 __140:
 	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
 		goto __141
 	}
+	Xsqlite3MayAbort(tls, pParse)
+__141:
+	;
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+		goto __142
+	}
 	Xsqlite3VdbeAddOp4(tls,
 		v, OP_Halt, SQLITE_OK, OE_Ignore, 0, *(*uintptr)(unsafe.Pointer(pExpr + 8)), 0)
 
-	goto __142
-__141:
+	goto __143
+__142:
 	Xsqlite3HaltConstraint(tls, pParse,
 		func() int32 {
 			if (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab != 0 {
@@ -60429,7 +60441,7 @@ __141:
 			return SQLITE_ERROR
 		}(),
 		int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr), *(*uintptr)(unsafe.Pointer(pExpr + 8)), int8(0), uint8(0))
-__142:
+__143:
 	;
 	goto __5
 
@@ -63100,7 +63112,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 		return SQLITE_NOMEM
 	}
 	if Xsqlite3_strnicmp(tls, zSql, ts+10906, 7) != 0 {
-		return Xsqlite3CorruptError(tls, 113494)
+		return Xsqlite3CorruptError(tls, 113516)
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 {
 		if bTemp != 0 {
@@ -63117,7 +63129,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 	}
 	if rc == SQLITE_OK &&
 		((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
-		rc = Xsqlite3CorruptError(tls, 113505)
+		rc = Xsqlite3CorruptError(tls, 113527)
 	}
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
@@ -64038,7 +64050,7 @@ __1:
 		goto __2
 	}
 
-	rc = Xsqlite3CorruptError(tls, 114441)
+	rc = Xsqlite3CorruptError(tls, 114463)
 	goto drop_column_done
 __2:
 	;
@@ -68401,6 +68413,12 @@ __10:
 
 	pExpr = Xsqlite3PExpr(tls, pParse, TK_UPLUS, pExpr, uintptr(0))
 __11:
+	;
+	if !(pExpr != 0 && int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_RAISE) {
+		goto __12
+	}
+	(*Expr)(unsafe.Pointer(pExpr)).FaffExpr = (*Column)(unsafe.Pointer(pCol)).Faffinity
+__12:
 	;
 	Xsqlite3ColumnSetExpr(tls, pParse, pTab, pCol, pExpr)
 	pExpr = uintptr(0)
@@ -69566,7 +69584,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 {
 		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3270, 4) == 0 {
 			return 0
 		}
-		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7117, 10) == 0 {
+		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7106, 10) == 0 {
 			return 0
 		}
 		return 1
@@ -70812,7 +70830,7 @@ __81:
 		goto __101
 	}
 	Xsqlite3ErrorMsg(tls, pParse, ts+14124, 0)
-	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121835)
+	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121859)
 	goto exit_create_index
 __101:
 	;
@@ -72857,7 +72875,7 @@ __20:
 	goto __16
 __15:
 	wcf = U16(WHERE_ONEPASS_DESIRED | WHERE_DUPLICATES_OK)
-	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_VarSelect != 0) {
+	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_Subquery != 0) {
 		goto __23
 	}
 	bComplex = 1
@@ -79323,7 +79341,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca
 	if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) {
 		goto __1
 	}
-	return Xsqlite3MisuseError(tls, 131895)
+	return Xsqlite3MisuseError(tls, 131931)
 __1:
 	;
 	if !(zSql == uintptr(0)) {
@@ -80722,7 +80740,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh
 		} else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) {
 			zType = ts + 17497
 		} else {
-			zType = ts + 7512
+			zType = ts + 7501
 		}
 		Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17499,
 			libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin,
@@ -80883,6 +80901,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p
 	var zErr2 uintptr
 	var k3 int32
 	var pCheck uintptr
+	var jmp7 int32
 	var jmp6 int32
 	var iCol1 int32
 	var uniqOk int32
@@ -82164,7 +82183,7 @@ __208:
 		goto __210
 	}
 	pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7512, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7501, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
 	goto __209
 __209:
 	j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext
@@ -82180,7 +82199,7 @@ __211:
 	if !(i6 < int32(uint64(unsafe.Sizeof(aPragmaName))/uint64(unsafe.Sizeof(PragmaName{})))) {
 		goto __213
 	}
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7512, libc.VaList(bp+272, aPragmaName[i6].FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7501, libc.VaList(bp+272, aPragmaName[i6].FzName))
 	goto __212
 __212:
 	i6++
@@ -82985,80 +83004,94 @@ __337:
 	jmp4 = integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, jmp21)
 
+	if !((*Table)(unsafe.Pointer(pTab9)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) {
+		goto __338
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_IdxRowid, *(*int32)(unsafe.Pointer(bp + 608))+j4, 3)
+	jmp7 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 3, 0, r1+int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)-1)
+
+	Xsqlite3VdbeLoadString(tls, v, 3,
+		ts+17913)
+	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17949)
+	Xsqlite3VdbeGoto(tls, v, jmp5-1)
+	Xsqlite3VdbeJumpHere(tls, v, jmp7)
+__338:
+	;
 	label6 = 0
 	kk = 0
-__338:
+__339:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __340
-	}
-	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __341
 	}
-	goto __339
-__341:
-	;
-	if !(label6 == 0) {
+	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __342
 	}
-	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+	goto __340
 __342:
+	;
+	if !(label6 == 0) {
+		goto __343
+	}
+	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+__343:
 	;
 	Xsqlite3VdbeAddOp3(tls, v, OP_Column, *(*int32)(unsafe.Pointer(bp + 608))+j4, kk, 3)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Ne, 3, label6, r1+kk)
-	goto __339
-__339:
-	kk++
-	goto __338
 	goto __340
 __340:
+	kk++
+	goto __339
+	goto __341
+__341:
 	;
 	if !(label6 != 0) {
-		goto __343
+		goto __344
 	}
 	jmp6 = Xsqlite3VdbeAddOp0(tls, v, OP_Goto)
 	Xsqlite3VdbeResolveLabel(tls, v, label6)
 	Xsqlite3VdbeLoadString(tls, v, 3, ts+17887)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
-	Xsqlite3VdbeLoadString(tls, v, 4, ts+17913)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17960)
 	Xsqlite3VdbeGoto(tls, v, jmp5-1)
 	Xsqlite3VdbeJumpHere(tls, v, jmp6)
-__343:
+__344:
 	;
 	if !(int32((*Index)(unsafe.Pointer(pIdx5)).FonError) != OE_None) {
-		goto __344
+		goto __345
 	}
 	uniqOk = Xsqlite3VdbeMakeLabel(tls, pParse)
 	kk = 0
-__345:
+__346:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __347
+		goto __348
 	}
 	iCol1 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2)))
 
 	if !(iCol1 >= 0 && uint32(int32(*(*uint8)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*24 + 8))&0xf>>0)) != 0) {
-		goto __348
+		goto __349
 	}
-	goto __346
-__348:
+	goto __347
+__349:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_IsNull, r1+kk, uniqOk)
 
-	goto __346
-__346:
-	kk++
-	goto __345
 	goto __347
 __347:
+	kk++
+	goto __346
+	goto __348
+__348:
 	;
 	jmp61 = Xsqlite3VdbeAddOp1(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 608))+j4)
 	Xsqlite3VdbeGoto(tls, v, uniqOk)
 	Xsqlite3VdbeJumpHere(tls, v, jmp61)
 	Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, *(*int32)(unsafe.Pointer(bp + 608))+j4, uniqOk, r1,
 		int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol))
-	Xsqlite3VdbeLoadString(tls, v, 3, ts+17940)
+	Xsqlite3VdbeLoadString(tls, v, 3, ts+17987)
 	Xsqlite3VdbeGoto(tls, v, jmp5)
 	Xsqlite3VdbeResolveLabel(tls, v, uniqOk)
-__344:
+__345:
 	;
 	Xsqlite3VdbeJumpHere(tls, v, jmp4)
 	Xsqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 624)))
@@ -83075,20 +83108,20 @@ __333:
 	Xsqlite3VdbeAddOp2(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 604)), loopTop)
 	Xsqlite3VdbeJumpHere(tls, v, loopTop-1)
 	if !!(isQuick != 0) {
-		goto __349
+		goto __350
 	}
-	Xsqlite3VdbeLoadString(tls, v, 2, ts+17967)
+	Xsqlite3VdbeLoadString(tls, v, 2, ts+18014)
 	j4 = 0
 	pIdx5 = (*Table)(unsafe.Pointer(pTab9)).FpIndex
-__350:
+__351:
 	if !(pIdx5 != 0) {
-		goto __352
-	}
-	if !(pPk1 == pIdx5) {
 		goto __353
 	}
-	goto __351
-__353:
+	if !(pPk1 == pIdx5) {
+		goto __354
+	}
+	goto __352
+__354:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_Count, *(*int32)(unsafe.Pointer(bp + 608))+j4, 3)
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 8+j4, 0, 3)
@@ -83097,21 +83130,21 @@ __353:
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 2, 3)
 	integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
-	goto __351
-__351:
-	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
-	j4++
-	goto __350
 	goto __352
 __352:
+	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
+	j4++
+	goto __351
+	goto __353
+__353:
 	;
 	if !(pPk1 != 0) {
-		goto __354
+		goto __355
 	}
 	Xsqlite3ReleaseTempRange(tls, pParse, r2, int32((*Index)(unsafe.Pointer(pPk1)).FnKeyCol))
-__354:
+__355:
 	;
-__349:
+__350:
 	;
 	goto __284
 __284:
@@ -83129,14 +83162,14 @@ __259:
 	;
 	aOp2 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(endCode))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&endCode)), iLn5)
 	if !(aOp2 != 0) {
-		goto __355
+		goto __356
 	}
 	(*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = 1 - *(*int32)(unsafe.Pointer(bp + 600))
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1)
-	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 17996
+	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 18043
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 5*24)).Fp4type = int8(-1)
 	*(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT)
-__355:
+__356:
 	;
 	Xsqlite3VdbeChangeP3(tls, v, 0, Xsqlite3VdbeCurrentAddr(tls, v)-2)
 
@@ -83144,27 +83177,27 @@ __355:
 
 __45:
 	if !!(zRight != 0) {
-		goto __356
+		goto __357
 	}
 	if !(Xsqlite3ReadSchema(tls, pParse) != 0) {
-		goto __358
-	}
-	goto pragma_out
-__358:
-	;
-	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
-	goto __357
-__356:
-	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
 		goto __359
 	}
+	goto pragma_out
+__359:
+	;
+	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
+	goto __358
+__357:
+	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
+		goto __360
+	}
 	pEnc = uintptr(unsafe.Pointer(&encnames1))
-__360:
+__361:
 	if !((*EncName)(unsafe.Pointer(pEnc)).FzName != 0) {
-		goto __362
+		goto __363
 	}
 	if !(0 == Xsqlite3StrICmp(tls, zRight, (*EncName)(unsafe.Pointer(pEnc)).FzName)) {
-		goto __363
+		goto __364
 	}
 	if (*EncName)(unsafe.Pointer(pEnc)).Fenc != 0 {
 		enc = (*EncName)(unsafe.Pointer(pEnc)).Fenc
@@ -83173,25 +83206,25 @@ __360:
 	}
 	(*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema)).Fenc = enc
 	Xsqlite3SetTextEncoding(tls, db, enc)
-	goto __362
-__363:
-	;
-	goto __361
-__361:
-	pEnc += 16
-	goto __360
-	goto __362
-__362:
-	;
-	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
-		goto __364
-	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+17999, libc.VaList(bp+456, zRight))
+	goto __363
 __364:
 	;
-__359:
+	goto __362
+__362:
+	pEnc += 16
+	goto __361
+	goto __363
+__363:
 	;
-__357:
+	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
+		goto __365
+	}
+	Xsqlite3ErrorMsg(tls, pParse, ts+18046, libc.VaList(bp+456, zRight))
+__365:
+	;
+__360:
+	;
+__358:
 	;
 	goto __15
 
@@ -83199,15 +83232,15 @@ __46:
 	iCookie = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiArg)
 	Xsqlite3VdbeUsesBtree(tls, v, iDb)
 	if !(zRight != 0 && int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_ReadOnly == 0) {
-		goto __365
+		goto __366
 	}
 
 	aOp3 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(setCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&setCookie)), 0)
 	if !(0 != 0) {
-		goto __367
+		goto __368
 	}
 	goto __15
-__367:
+__368:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp3)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp1 = iDb
@@ -83215,41 +83248,41 @@ __367:
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp3 = Xsqlite3Atoi(tls, zRight)
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp5 = U16(1)
 	if !(iCookie == BTREE_SCHEMA_VERSION && (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0)) {
-		goto __368
+		goto __369
 	}
 
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fopcode = U8(OP_Noop)
-__368:
+__369:
 	;
-	goto __366
-__365:
+	goto __367
+__366:
 	;
 	aOp4 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(readCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&readCookie)), 0)
 	if !(0 != 0) {
-		goto __369
+		goto __370
 	}
 	goto __15
-__369:
+__370:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp4)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp3 = iCookie
 	Xsqlite3VdbeReusable(tls, v)
-__366:
+__367:
 	;
 	goto __15
 
 __47:
 	i10 = 0
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 1
-__370:
+__371:
 	if !(libc.AssignUintptr(&zOpt, Xsqlite3_compileoption_get(tls, libc.PostIncInt32(&i10, 1))) != uintptr(0)) {
-		goto __371
+		goto __372
 	}
 	Xsqlite3VdbeLoadString(tls, v, 1, zOpt)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1)
-	goto __370
-__371:
+	goto __371
+__372:
 	;
 	Xsqlite3VdbeReusable(tls, v)
 
@@ -83264,31 +83297,31 @@ __48:
 	}()
 	eMode2 = SQLITE_CHECKPOINT_PASSIVE
 	if !(zRight != 0) {
-		goto __372
-	}
-	if !(Xsqlite3StrICmp(tls, zRight, ts+17329) == 0) {
 		goto __373
 	}
+	if !(Xsqlite3StrICmp(tls, zRight, ts+17329) == 0) {
+		goto __374
+	}
 	eMode2 = SQLITE_CHECKPOINT_FULL
-	goto __374
-__373:
-	if !(Xsqlite3StrICmp(tls, zRight, ts+18024) == 0) {
-		goto __375
+	goto __375
+__374:
+	if !(Xsqlite3StrICmp(tls, zRight, ts+18071) == 0) {
+		goto __376
 	}
 	eMode2 = SQLITE_CHECKPOINT_RESTART
-	goto __376
-__375:
+	goto __377
+__376:
 	if !(Xsqlite3StrICmp(tls, zRight, ts+17482) == 0) {
-		goto __377
+		goto __378
 	}
 	eMode2 = SQLITE_CHECKPOINT_TRUNCATE
+__378:
+	;
 __377:
 	;
-__376:
+__375:
 	;
-__374:
-	;
-__372:
+__373:
 	;
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 3
 	Xsqlite3VdbeAddOp3(tls, v, OP_Checkpoint, iBt, eMode2, 1)
@@ -83298,10 +83331,10 @@ __372:
 
 __49:
 	if !(zRight != 0) {
-		goto __378
+		goto __379
 	}
 	Xsqlite3_wal_autocheckpoint(tls, db, Xsqlite3Atoi(tls, zRight))
-__378:
+__379:
 	;
 	returnSingleInt(tls, v,
 		func() int64 {
@@ -83321,19 +83354,19 @@ __50:
 
 __51:
 	if !(zRight != 0) {
-		goto __379
+		goto __380
 	}
 	opMask = U32(Xsqlite3Atoi(tls, zRight))
 	if !(opMask&U32(0x02) == U32(0)) {
-		goto __381
+		goto __382
 	}
 	goto __15
-__381:
+__382:
 	;
-	goto __380
-__379:
-	opMask = U32(0xfffe)
+	goto __381
 __380:
+	opMask = U32(0xfffe)
+__381:
 	;
 	iTabCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1)
 	iDbLast = func() int32 {
@@ -83342,86 +83375,86 @@ __380:
 		}
 		return (*Sqlite3)(unsafe.Pointer(db)).FnDb - 1
 	}()
-__382:
+__383:
 	if !(iDb <= iDbLast) {
-		goto __384
-	}
-	if !(iDb == 1) {
 		goto __385
 	}
-	goto __383
-__385:
+	if !(iDb == 1) {
+		goto __386
+	}
+	goto __384
+__386:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
 	pSchema = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema
 	k4 = (*Hash)(unsafe.Pointer(pSchema + 8)).Ffirst
-__386:
+__387:
 	if !(k4 != 0) {
-		goto __388
+		goto __389
 	}
 	pTab10 = (*HashElem)(unsafe.Pointer(k4)).Fdata
 
 	if !((*Table)(unsafe.Pointer(pTab10)).FtabFlags&U32(TF_StatsUsed) == U32(0)) {
-		goto __389
+		goto __390
 	}
-	goto __387
-__389:
+	goto __388
+__390:
 	;
 	szThreshold = LogEst(int32((*Table)(unsafe.Pointer(pTab10)).FnRowLogEst) + 46)
 	pIdx6 = (*Table)(unsafe.Pointer(pTab10)).FpIndex
-__390:
+__391:
 	if !(pIdx6 != 0) {
-		goto __392
-	}
-	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
 		goto __393
 	}
+	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
+		goto __394
+	}
 	szThreshold = int16(0)
-	goto __392
-__393:
+	goto __393
+__394:
 	;
-	goto __391
-__391:
-	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
-	goto __390
 	goto __392
 __392:
+	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
+	goto __391
+	goto __393
+__393:
 	;
 	if !(szThreshold != 0) {
-		goto __394
+		goto __395
 	}
 	Xsqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab10, OP_OpenRead)
 	Xsqlite3VdbeAddOp3(tls, v, OP_IfSmaller, iTabCur,
 		int32(U32(Xsqlite3VdbeCurrentAddr(tls, v)+2)+opMask&U32(1)), int32(szThreshold))
 
-__394:
+__395:
 	;
-	zSubSql = Xsqlite3MPrintf(tls, db, ts+18032,
+	zSubSql = Xsqlite3MPrintf(tls, db, ts+18079,
 		libc.VaList(bp+464, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab10)).FzName))
 	if !(opMask&U32(0x01) != 0) {
-		goto __395
+		goto __396
 	}
 	r11 = Xsqlite3GetTempReg(tls, pParse)
 	Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, r11, 0, zSubSql, -6)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, r11, 1)
-	goto __396
-__395:
-	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+	goto __397
 __396:
+	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+__397:
 	;
-	goto __387
-__387:
-	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
-	goto __386
 	goto __388
 __388:
+	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
+	goto __387
+	goto __389
+__389:
 	;
-	goto __383
-__383:
-	iDb++
-	goto __382
 	goto __384
 __384:
+	iDb++
+	goto __383
+	goto __385
+__385:
 	;
 	Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
 	goto __15
@@ -83429,36 +83462,36 @@ __384:
 __52:
 	;
 	if !(zRight != 0) {
-		goto __397
+		goto __398
 	}
 	Xsqlite3_busy_timeout(tls, db, Xsqlite3Atoi(tls, zRight))
-__397:
+__398:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout))
 	goto __15
 
 __53:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+632) == SQLITE_OK) {
-		goto __398
+		goto __399
 	}
 	Xsqlite3_soft_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 632)))
-__398:
+__399:
 	;
 	returnSingleInt(tls, v, Xsqlite3_soft_heap_limit64(tls, int64(-1)))
 	goto __15
 
 __54:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+640) == SQLITE_OK) {
-		goto __399
+		goto __400
 	}
 	iPrior = Xsqlite3_hard_heap_limit64(tls, int64(-1))
 	if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 640)) > int64(0) && (iPrior == int64(0) || iPrior > *(*Sqlite3_int64)(unsafe.Pointer(bp + 640)))) {
-		goto __400
+		goto __401
 	}
 	Xsqlite3_hard_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 640)))
-__400:
+__401:
 	;
-__399:
+__400:
 	;
 	returnSingleInt(tls, v, Xsqlite3_hard_heap_limit64(tls, int64(-1)))
 	goto __15
@@ -83467,10 +83500,10 @@ __55:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+648) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 648)) >= int64(0)) {
-		goto __401
+		goto __402
 	}
 	Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 648))&int64(0x7fffffff)))
-__401:
+__402:
 	;
 	returnSingleInt(tls, v, int64(Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, -1)))
 	goto __15
@@ -83479,10 +83512,10 @@ __56:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+656) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 656)) >= int64(0)) {
-		goto __402
+		goto __403
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 656)) & int64(0x7fffffff))
-__402:
+__403:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit))
 	goto __15
@@ -83490,10 +83523,10 @@ __402:
 __15:
 	;
 	if !(int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_NoColumns1 != 0 && zRight != 0) {
-		goto __403
+		goto __404
 	}
 
-__403:
+__404:
 	;
 pragma_out:
 	Xsqlite3DbFree(tls, db, zLeft)
@@ -83545,14 +83578,14 @@ var endCode = [7]VdbeOpList{
 	{Fopcode: U8(OP_Goto), Fp2: int8(3)},
 }
 var encnames1 = [9]EncName{
-	{FzName: ts + 18050, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18055, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18061, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18070, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18079, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18087, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18095},
-	{FzName: ts + 18102},
+	{FzName: ts + 18097, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18102, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18108, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18117, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18126, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18134, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18142},
+	{FzName: ts + 18149},
 	{},
 }
 var setCookie = [2]VdbeOpList{
@@ -83604,7 +83637,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	_ = argc
 	_ = argv
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), bp+64, int32(unsafe.Sizeof([200]int8{})), 0)
-	Xsqlite3_str_appendall(tls, bp+32, ts+18108)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18155)
 	i = 0
 	j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName)
 __1:
@@ -83612,7 +83645,7 @@ __1:
 		goto __3
 	}
 	{
-		Xsqlite3_str_appendf(tls, bp+32, ts+18123, libc.VaList(bp, int32(cSep), pragCName[j]))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18170, libc.VaList(bp, int32(cSep), pragCName[j]))
 		cSep = int8(',')
 
 	}
@@ -83625,16 +83658,16 @@ __2:
 __3:
 	;
 	if i == 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18130, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18177, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
 		i++
 	}
 	j = 0
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_Result1 != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18136)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18183)
 		j++
 	}
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(PragFlg_SchemaOpt|PragFlg_SchemaReq) != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18148)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18195)
 		j++
 	}
 	Xsqlite3_str_append(tls, bp+32, ts+4941, 1)
@@ -83817,13 +83850,13 @@ __2:
 __3:
 	;
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4)))
-	Xsqlite3_str_appendall(tls, bp+32, ts+18163)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18210)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18171, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18218, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
 	}
 	Xsqlite3_str_appendall(tls, bp+32, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18175, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18222, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
 	}
 	zSql = Xsqlite3StrAccumFinish(tls, bp+32)
 	if zSql == uintptr(0) {
@@ -83900,12 +83933,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 	} else if *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) != uintptr(0) {
 	} else if (*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask) != 0 {
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db,
-			ts+18179, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
+			ts+18226, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
 				azAlterType[(*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask)-U32(1)],
 				zExtra))
 		(*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR
 	} else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137196)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137249)
 	} else {
 		var z uintptr
 		var zObj uintptr
@@ -83914,19 +83947,19 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 		} else {
 			zObj = ts + 4992
 		}
-		z = Xsqlite3MPrintf(tls, db, ts+18207, libc.VaList(bp+32, zObj))
+		z = Xsqlite3MPrintf(tls, db, ts+18254, libc.VaList(bp+32, zObj))
 		if zExtra != 0 && *(*int8)(unsafe.Pointer(zExtra)) != 0 {
-			z = Xsqlite3MPrintf(tls, db, ts+18238, libc.VaList(bp+40, z, zExtra))
+			z = Xsqlite3MPrintf(tls, db, ts+18285, libc.VaList(bp+40, z, zExtra))
 		}
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137203)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137256)
 	}
 }
 
 var azAlterType = [3]uintptr{
-	ts + 18246,
-	ts + 18253,
-	ts + 18265,
+	ts + 18293,
+	ts + 18300,
+	ts + 18312,
 }
 
 // Check to see if any sibling index (another index on the same table)
@@ -84018,7 +84051,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr
 		var pIndex uintptr
 		pIndex = Xsqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName)
 		if pIndex == uintptr(0) {
-			corruptSchema(tls, pData, argv, ts+18276)
+			corruptSchema(tls, pData, argv, ts+18323)
 		} else if Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2) ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage ||
@@ -84066,7 +84099,7 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl
 	}())
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 16 + 1*8))
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 3*8)) = ts + 7922
-	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18289
+	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18336
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 5*8)) = uintptr(0)
 	(*InitData)(unsafe.Pointer(bp + 64)).Fdb = db
 	(*InitData)(unsafe.Pointer(bp + 64)).FiDb = iDb
@@ -84195,7 +84228,7 @@ __18:
 	if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) {
 		goto __19
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+18361)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+18408)
 	rc = SQLITE_ERROR
 	goto initone_error_out
 __19:
@@ -84209,7 +84242,7 @@ __20:
 	(*InitData)(unsafe.Pointer(bp + 64)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt)
 
 	zSql = Xsqlite3MPrintf(tls, db,
-		ts+18385,
+		ts+18432,
 		libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zSchemaTabName))
 
 	xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth
@@ -84541,7 +84574,7 @@ __4:
 		goto __8
 	}
 	zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName
-	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18419, libc.VaList(bp, zDb))
+	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18466, libc.VaList(bp, zDb))
 
 	goto end_prepare
 __8:
@@ -84571,7 +84604,7 @@ __9:
 	if !(nBytes > mxLen) {
 		goto __12
 	}
-	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18449, 0)
+	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18496, 0)
 	rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG)
 	goto end_prepare
 __12:
@@ -84667,7 +84700,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 137995)
+		return Xsqlite3MisuseError(tls, 138048)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	Xsqlite3BtreeEnterAll(tls, db)
@@ -84766,7 +84799,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 138143)
+		return Xsqlite3MisuseError(tls, 138196)
 	}
 	if nBytes >= 0 {
 		var sz int32
@@ -85093,13 +85126,13 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC
 			zSp2++
 		}
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+18468, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
+			ts+18515, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
 		jointype = JT_INNER
 	}
 	return jointype
 }
 
-var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18498))
+var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18545))
 var aKeyword = [7]struct {
 	Fi     U8
 	FnChar U8
@@ -85274,7 +85307,7 @@ __1:
 			var pUsing uintptr = uintptr(0)
 			if uint32(int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+18532, libc.VaList(bp, 0))
+					ts+18579, libc.VaList(bp, 0))
 				return 1
 			}
 			for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ {
@@ -85319,7 +85352,7 @@ __1:
 					tableAndColumnIndex(tls, pSrc, 0, i, zName, bp+24, bp+28,
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) == 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+18582, libc.VaList(bp+8, zName))
+						ts+18629, libc.VaList(bp+8, zName))
 					return 1
 				}
 				pE1 = Xsqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 28)))
@@ -85330,7 +85363,7 @@ __1:
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) != 0 {
 						if int32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 60 + 4))&0x400>>10) == 0 ||
 							Xsqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 72)), zName) < 0 {
-							Xsqlite3ErrorMsg(tls, pParse, ts+18646,
+							Xsqlite3ErrorMsg(tls, pParse, ts+18693,
 								libc.VaList(bp+16, zName))
 							break
 						}
@@ -85958,16 +85991,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr {
 	var z uintptr
 	switch id {
 	case TK_ALL:
-		z = ts + 18683
+		z = ts + 18730
 		break
 	case TK_INTERSECT:
-		z = ts + 18693
+		z = ts + 18740
 		break
 	case TK_EXCEPT:
-		z = ts + 18703
+		z = ts + 18750
 		break
 	default:
-		z = ts + 18710
+		z = ts + 18757
 		break
 	}
 	return z
@@ -85977,7 +86010,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18716, libc.VaList(bp, zUsage))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18763, libc.VaList(bp, zUsage))
 }
 
 func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) {
@@ -86003,9 +86036,9 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n
 	var nRefKey int32 = 0
 	var aOutEx uintptr = (*Select)(unsafe.Pointer(p)).FpEList + 8
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18739, libc.VaList(bp, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18786, libc.VaList(bp, func() uintptr {
 		if (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 {
-			return ts + 18770
+			return ts + 18817
 		}
 		return ts + 1538
 	}()))
@@ -86349,7 +86382,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr)
 		} else {
 			var z uintptr = (*ExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32)).FzEName
 			if z == uintptr(0) {
-				z = Xsqlite3MPrintf(tls, db, ts+18785, libc.VaList(bp+16, i+1))
+				z = Xsqlite3MPrintf(tls, db, ts+18832, libc.VaList(bp+16, i+1))
 			} else {
 				z = Xsqlite3DbStrDup(tls, db, z)
 			}
@@ -86449,7 +86482,7 @@ __1:
 		if zName != 0 && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) {
 			zName = Xsqlite3DbStrDup(tls, db, zName)
 		} else {
-			zName = Xsqlite3MPrintf(tls, db, ts+18785, libc.VaList(bp, i+1))
+			zName = Xsqlite3MPrintf(tls, db, ts+18832, libc.VaList(bp, i+1))
 		}
 
 		*(*U32)(unsafe.Pointer(bp + 56)) = U32(0)
@@ -86465,7 +86498,7 @@ __1:
 					nName = j
 				}
 			}
-			zName = Xsqlite3MPrintf(tls, db, ts+18794, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
+			zName = Xsqlite3MPrintf(tls, db, ts+18841, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
 			Xsqlite3ProgressCheck(tls, pParse)
 			if *(*U32)(unsafe.Pointer(bp + 56)) > U32(3) {
 				Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56)
@@ -86548,8 +86581,6 @@ __1:
 		(*Column)(unsafe.Pointer(pCol)).Faffinity = Xsqlite3ExprAffinity(tls, p)
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) <= SQLITE_AFF_NONE {
 			(*Column)(unsafe.Pointer(pCol)).Faffinity = aff
-		} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
-			(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
 		}
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_TEXT && (*Select)(unsafe.Pointer(pSelect)).FpNext != 0 {
 			var m int32 = 0
@@ -86564,12 +86595,15 @@ __1:
 			} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && m&0x02 != 0 {
 				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_BLOB)
 			}
+			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
+				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
+			}
 		}
 		zType = columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0))
 		if zType == uintptr(0) || int32((*Column)(unsafe.Pointer(pCol)).Faffinity) != int32(Xsqlite3AffinityType(tls, zType, uintptr(0))) {
 			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_NUMERIC ||
 				int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_FLEXNUM {
-				zType = ts + 18802
+				zType = ts + 18849
 			} else {
 				zType = uintptr(0)
 				for j = 1; j < SQLITE_N_STDTYPE; j++ {
@@ -86785,7 +86819,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest
 	if !((*Select)(unsafe.Pointer(p)).FpWin != 0) {
 		goto __1
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18806, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18853, 0)
 	return
 __1:
 	;
@@ -86876,7 +86910,7 @@ __12:
 	if !((*Select)(unsafe.Pointer(pFirstRec)).FselFlags&U32(SF_Aggregate) != 0) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18855, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18902, 0)
 	goto end_of_recursive_query
 __15:
 	;
@@ -86896,7 +86930,7 @@ __14:
 	;
 	pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18897, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18944, 0)
 	rc = Xsqlite3Select(tls, pParse, pSetup, bp)
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = p
 	if !(rc != 0) {
@@ -86933,7 +86967,7 @@ __20:
 	Xsqlite3VdbeResolveLabel(tls, v, addrCont)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18903, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18950, 0)
 	Xsqlite3Select(tls, pParse, p, bp)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup
@@ -86967,11 +87001,11 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 		p = (*Select)(unsafe.Pointer(p)).FpPrior
 		nRow = nRow + bShowAll
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18918, libc.VaList(bp, nRow, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18965, libc.VaList(bp, nRow, func() uintptr {
 		if nRow == 1 {
 			return ts + 1538
 		}
-		return ts + 18941
+		return ts + 18988
 	}()))
 	for p != 0 {
 		selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1)
@@ -87072,8 +87106,8 @@ __6:
 	if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) {
 		goto __8
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18943, 0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18958, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18990, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19005, 0)
 __8:
 	;
 	switch int32((*Select)(unsafe.Pointer(p)).Fop) {
@@ -87120,7 +87154,7 @@ __16:
 	;
 __15:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18683, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18730, 0)
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+16)
 
@@ -87187,7 +87221,7 @@ __23:
 	pLimit = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 64)).FeDest = op
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18977, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19024, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+64)
 
@@ -87249,7 +87283,7 @@ __26:
 	pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 104)).FiSDParm = tab2
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18977, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19024, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+104)
 
@@ -87402,10 +87436,10 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr)
 	defer tls.Free(8)
 
 	if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Values) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+18998, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+19045, 0)
 	} else {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+19044,
+			ts+19091,
 			libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 	}
 }
@@ -87659,8 +87693,8 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	(*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0)
 
 	(*Select)(unsafe.Pointer(pPrior)).FpOrderBy = Xsqlite3ExprListDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7218)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7218)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7207)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7207)
 
 	computeLimitRegisters(tls, pParse, p, labelEnd)
 	if (*Select)(unsafe.Pointer(p)).FiLimit != 0 && op == TK_ALL {
@@ -87687,13 +87721,13 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	Xsqlite3SelectDestInit(tls, bp+8, SRT_Coroutine, regAddrA)
 	Xsqlite3SelectDestInit(tls, bp+48, SRT_Coroutine, regAddrB)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19126, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19173, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	addrSelectA = Xsqlite3VdbeCurrentAddr(tls, v) + 1
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA)
 
 	(*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19137, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19184, 0)
 	Xsqlite3Select(tls, pParse, pPrior, bp+8)
 	Xsqlite3VdbeEndCoroutine(tls, v, regAddrA)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
@@ -87705,7 +87739,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset
 	(*Select)(unsafe.Pointer(p)).FiLimit = regLimitB
 	(*Select)(unsafe.Pointer(p)).FiOffset = 0
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19142, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19189, 0)
 	Xsqlite3Select(tls, pParse, p, bp+48)
 	(*Select)(unsafe.Pointer(p)).FiLimit = savedLimit
 	(*Select)(unsafe.Pointer(p)).FiOffset = savedOffset
@@ -87893,7 +87927,8 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr {
 				Xsqlite3VectorErrorMsg(tls, (*SubstContext)(unsafe.Pointer(pSubst)).FpParse, pCopy)
 			} else {
 				var db uintptr = (*Parse)(unsafe.Pointer((*SubstContext)(unsafe.Pointer(pSubst)).FpParse)).Fdb
-				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 && int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN {
+				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 &&
+					(int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN || (*Expr)(unsafe.Pointer(pCopy)).FiTable != (*SubstContext)(unsafe.Pointer(pSubst)).FiNewTable) {
 					libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(Expr{})))
 					(*Expr)(unsafe.Pointer(bp)).Fop = U8(TK_IF_NULL_ROW)
 					(*Expr)(unsafe.Pointer(bp)).FpLeft = pCopy
@@ -88792,7 +88827,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	for pIdx = (*Table)(unsafe.Pointer(pTab)).FpIndex; pIdx != 0 && Xsqlite3StrICmp(tls, (*Index)(unsafe.Pointer(pIdx)).FzName, zIndexedBy) != 0; pIdx = (*Index)(unsafe.Pointer(pIdx)).FpNext {
 	}
 	if !(pIdx != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19148, libc.VaList(bp, zIndexedBy, 0))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19195, libc.VaList(bp, zIndexedBy, 0))
 		(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 		return SQLITE_ERROR
 	}
@@ -88875,7 +88910,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 {
 	defer tls.Free(8)
 
 	if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19166, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19213, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
 		return 1
 	}
 	return 0
@@ -89004,7 +89039,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		*(*U32)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= U32(SF_CopyCte)
 
 		if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19189, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
+			Xsqlite3ErrorMsg(tls, pParse, ts+19236, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
 			return 2
 		}
 		libc.SetBitFieldPtr16Uint32(pFrom+60+4, uint32(1), 8, 0x100)
@@ -89027,7 +89062,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 					libc.SetBitFieldPtr16Uint32(pItem+60+4, uint32(1), 6, 0x40)
 					if (*Select)(unsafe.Pointer(pRecTerm)).FselFlags&U32(SF_Recursive) != 0 {
 						Xsqlite3ErrorMsg(tls, pParse,
-							ts+19209, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
+							ts+19256, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
 						return 2
 					}
 					*(*U32)(unsafe.Pointer(pRecTerm + 4)) |= U32(SF_Recursive)
@@ -89043,7 +89078,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 			pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior
 		}
 
-		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19252
+		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19299
 		pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith
 		(*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 48))
 		if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
@@ -89069,7 +89104,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		pEList = (*Select)(unsafe.Pointer(pLeft)).FpEList
 		if (*Cte)(unsafe.Pointer(pCte)).FpCols != 0 {
 			if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr != (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19275,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19322,
 					libc.VaList(bp+24, (*Cte)(unsafe.Pointer(pCte)).FzName, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr))
 				(*Parse)(unsafe.Pointer(pParse)).FpWith = pSavedWith
 				return 2
@@ -89080,9 +89115,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		Xsqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8)
 		if bMayRecursive != 0 {
 			if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19313
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19360
 			} else {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19347
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19394
 			}
 			Xsqlite3WalkSelect(tls, pWalker, pSel)
 		}
@@ -89129,7 +89164,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	if (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 {
 		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3DbStrDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias)
 	} else {
-		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19385, libc.VaList(bp, pFrom))
+		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19432, libc.VaList(bp, pFrom))
 	}
 	for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 {
 		pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior
@@ -89241,7 +89276,7 @@ __1:
 				return WRC_Abort
 			}
 			if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19389,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19436,
 					libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 				(*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0)
 				return WRC_Abort
@@ -89260,7 +89295,7 @@ __1:
 				if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW {
 					if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) &&
 						(*Table)(unsafe.Pointer(pTab)).FpSchema != (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19428,
+						Xsqlite3ErrorMsg(tls, pParse, ts+19475,
 							libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName))
 					}
 					(*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, *(*uintptr)(unsafe.Pointer(pTab + 64)), 0)
@@ -89384,7 +89419,7 @@ __3:
 							if pNew != 0 {
 								var pX uintptr = pNew + 8 + uintptr((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1)*32
 
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19459, libc.VaList(bp+24, zUName))
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19506, libc.VaList(bp+24, zUName))
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(ENAME_TAB), 0, 0x3)
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(1), 7, 0x80)
 							}
@@ -89449,7 +89484,7 @@ __3:
 								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(pNestedFrom+8+uintptr(j)*32)).FzEName)
 
 							} else {
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19464,
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19511,
 									libc.VaList(bp+32, zSchemaName, zTabName, zName))
 
 							}
@@ -89480,9 +89515,9 @@ __3:
 				;
 				if !(tableSeen != 0) {
 					if zTName != 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19473, libc.VaList(bp+72, zTName))
+						Xsqlite3ErrorMsg(tls, pParse, ts+19520, libc.VaList(bp+72, zTName))
 					} else {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19491, 0)
+						Xsqlite3ErrorMsg(tls, pParse, ts+19538, 0)
 					}
 				}
 			}
@@ -89492,7 +89527,7 @@ __3:
 	}
 	if (*Select)(unsafe.Pointer(p)).FpEList != 0 {
 		if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19511, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+19558, 0)
 			return WRC_Abort
 		}
 		if elistFlags&U32(EP_HasFunc|EP_Subquery) != U32(0) {
@@ -89630,7 +89665,7 @@ func optimizeAggregateUseOfIndexedExpr(tls *libc.TLS, pParse uintptr, pSelect ui
 	(*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn = (*AggInfo)(unsafe.Pointer(pAggInfo)).FnAccumulator
 	if int32((*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn) > 0 {
 		if (*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn == 0 {
-			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(0)
+			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpGroupBy)).FnExpr)
 		} else {
 			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(int32((*AggInfo_col)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaCol+uintptr((*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn-1)*24)).FiSorterColumn) + 1)
 		}
@@ -89714,13 +89749,13 @@ __1:
 
 			if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != 1 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+19542, 0)
+					ts+19589, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1
 			} else {
 				var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral,
 					(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -8)
-				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19593, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
+				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19640, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
 			}
 		}
 
@@ -89909,11 +89944,11 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt
 
 	if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 {
 		var bCover int32 = libc.Bool32(pIdx != uintptr(0) && ((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0) || !(int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY)))
-		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19626,
+		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19673,
 			libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName,
 				func() uintptr {
 					if bCover != 0 {
-						return ts + 19638
+						return ts + 19685
 					}
 					return ts + 1538
 				}(),
@@ -90241,7 +90276,7 @@ __5:
 		goto __7
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+19661,
+		ts+19708,
 		libc.VaList(bp, func() uintptr {
 			if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 {
 				return (*SrcItem)(unsafe.Pointer(p0)).FzAlias
@@ -90302,7 +90337,7 @@ __14:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19715,
+	Xsqlite3ErrorMsg(tls, pParse, ts+19762,
 		libc.VaList(bp+8, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr))
 	goto select_end
 __15:
@@ -90444,7 +90479,7 @@ __33:
 
 	(*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19755, libc.VaList(bp+32, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19802, libc.VaList(bp+32, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	libc.SetBitFieldPtr16Uint32(pItem1+60+4, uint32(1), 5, 0x20)
@@ -90503,7 +90538,7 @@ __43:
 	;
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19770, libc.VaList(bp+40, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19817, libc.VaList(bp+40, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	if !(onceAddr != 0) {
@@ -90974,9 +91009,9 @@ __101:
 	explainTempTable(tls, pParse,
 		func() uintptr {
 			if (*DistinctCtx)(unsafe.Pointer(bp+136)).FisTnct != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct) == U32(0) {
-				return ts + 19786
+				return ts + 19833
 			}
-			return ts + 19795
+			return ts + 19842
 		}())
 
 	groupBySort = 1
@@ -91327,7 +91362,7 @@ __65:
 	if !(int32((*DistinctCtx)(unsafe.Pointer(bp+136)).FeTnctType) == WHERE_DISTINCT_UNORDERED) {
 		goto __146
 	}
-	explainTempTable(tls, pParse, ts+19786)
+	explainTempTable(tls, pParse, ts+19833)
 __146:
 	;
 	if !((*SortCtx)(unsafe.Pointer(bp+48)).FpOrderBy != 0) {
@@ -91432,7 +91467,7 @@ __5:
 	}
 	Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg)
 	(*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+19804, 0)
+		ts+19851, 0)
 	(*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 	return 1
 __11:
@@ -91665,7 +91700,7 @@ func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2
 	if !((*Token)(unsafe.Pointer(pName2)).Fn > uint32(0)) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19869, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19916, 0)
 	goto trigger_cleanup
 __3:
 	;
@@ -91709,7 +91744,7 @@ __7:
 	goto trigger_cleanup
 __8:
 	;
-	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+19915, *(*uintptr)(unsafe.Pointer(bp + 32)))
+	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+19962, *(*uintptr)(unsafe.Pointer(bp + 32)))
 	if !(Xsqlite3FixSrcList(tls, bp+40, pTableName) != 0) {
 		goto __9
 	}
@@ -91727,7 +91762,7 @@ __10:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB) {
 		goto __11
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19923, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19970, 0)
 	goto trigger_orphan_error
 __11:
 	;
@@ -91739,7 +91774,7 @@ __11:
 	goto trigger_cleanup
 __12:
 	;
-	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19915, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
+	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19962, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
 		goto __13
 	}
 	goto trigger_cleanup
@@ -91754,11 +91789,12 @@ __13:
 	if !!(noErr != 0) {
 		goto __16
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19964, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20011, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
 	goto __17
 __16:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
+
 __17:
 	;
 	goto trigger_cleanup
@@ -91769,19 +91805,19 @@ __14:
 	if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+6365, 7) == 0) {
 		goto __18
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19990, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20037, 0)
 	goto trigger_cleanup
 __18:
 	;
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW && tr_tm != TK_INSTEAD) {
 		goto __19
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20028,
+	Xsqlite3ErrorMsg(tls, pParse, ts+20075,
 		libc.VaList(bp+8, func() uintptr {
 			if tr_tm == TK_BEFORE {
-				return ts + 20065
+				return ts + 20112
 			}
-			return ts + 20072
+			return ts + 20119
 		}(), pTableName+8))
 	goto trigger_orphan_error
 __19:
@@ -91790,7 +91826,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20078, libc.VaList(bp+24, pTableName+8))
+		ts+20125, libc.VaList(bp+24, pTableName+8))
 	goto trigger_orphan_error
 __20:
 	;
@@ -91939,7 +91975,7 @@ __2:
 __3:
 	;
 	Xsqlite3TokenInit(tls, bp+56, (*Trigger)(unsafe.Pointer(pTrig)).FzName)
-	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+19915, bp+56)
+	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+19962, bp+56)
 	if !(Xsqlite3FixTriggerStep(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 ||
 		Xsqlite3FixExpr(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0) {
 		goto __4
@@ -91972,7 +92008,7 @@ __9:
 		goto __12
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20124,
+		ts+20171,
 		libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrig)).FzName, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget))
 	goto triggerfinish_cleanup
 __12:
@@ -91997,13 +92033,13 @@ __13:
 	z = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pAll)).Fz, uint64((*Token)(unsafe.Pointer(pAll)).Fn))
 
 	Xsqlite3NestedParse(tls, pParse,
-		ts+20172,
+		ts+20219,
 		libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName,
 			(*Trigger)(unsafe.Pointer(pTrig)).Ftable, z))
 	Xsqlite3DbFree(tls, db, z)
 	Xsqlite3ChangeCookie(tls, pParse, iDb)
 	Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb,
-		Xsqlite3MPrintf(tls, db, ts+20247, libc.VaList(bp+48, zName)), uint16(0))
+		Xsqlite3MPrintf(tls, db, ts+20294, libc.VaList(bp+48, zName)), uint16(0))
 __7:
 	;
 __6:
@@ -92259,7 +92295,7 @@ __5:
 	if !!(noErr != 0) {
 		goto __9
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20276, libc.VaList(bp, pName+8))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20323, libc.VaList(bp, pName+8))
 	goto __10
 __9:
 	Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb)
@@ -92312,7 +92348,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) {
 
 	if libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse)) != uintptr(0) {
 		Xsqlite3NestedParse(tls, pParse,
-			ts+20296,
+			ts+20343,
 			libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Trigger)(unsafe.Pointer(pTrigger)).FzName))
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 		Xsqlite3VdbeAddOp4(tls, v, OP_DropTrigger, iDb, 0, 0, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, 0)
@@ -92426,12 +92462,12 @@ __9:
 		goto __15
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20358,
+		ts+20405,
 		libc.VaList(bp, func() uintptr {
 			if op == TK_DELETE {
-				return ts + 20406
+				return ts + 20453
 			}
-			return ts + 20413
+			return ts + 20460
 		}()))
 __15:
 	;
@@ -92545,7 +92581,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 {
 	if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK {
 		return 0
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20420, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20467, 0)
 	return 1
 }
 
@@ -92611,7 +92647,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab
 	}
 	Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(bp)).FpEList)
 	pNew = sqlite3ExpandReturning(tls, pParse, (*Returning)(unsafe.Pointer(pReturning)).FpReturnEL, pTab)
-	if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) {
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 {
 		libc.Xmemset(tls, bp+240, 0, uint64(unsafe.Sizeof(NameContext{})))
 		if (*Returning)(unsafe.Pointer(pReturning)).FnRetCol == 0 {
 			(*Returning)(unsafe.Pointer(pReturning)).FnRetCol = (*ExprList)(unsafe.Pointer(pNew)).FnExpr
@@ -92775,7 +92811,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt
 	if v != 0 {
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 {
 			Xsqlite3VdbeChangeP4(tls, v, -1,
-				Xsqlite3MPrintf(tls, db, ts+20462, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
+				Xsqlite3MPrintf(tls, db, ts+20509, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
 		}
 
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FpWhen != 0 {
@@ -93368,7 +93404,7 @@ __25:
 	}
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20476,
+		ts+20523,
 		libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*24)).FzCnName))
 	goto update_cleanup
 __27:
@@ -93400,7 +93436,7 @@ __21:
 	iRowidExpr = i
 	goto __30
 __29:
-	Xsqlite3ErrorMsg(tls, pParse, ts+20512, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20559, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
 	(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 	goto update_cleanup
 __30:
@@ -93726,7 +93762,12 @@ __74:
 	goto __77
 __76:
 	flags = WHERE_ONEPASS_DESIRED
-	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) && !(pTrigger != 0) && !(hasFK != 0) && !(chngKey != 0) && !(*(*int32)(unsafe.Pointer(bp + 104)) != 0)) {
+	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) &&
+		!(pTrigger != 0) &&
+		!(hasFK != 0) &&
+		!(chngKey != 0) &&
+		!(*(*int32)(unsafe.Pointer(bp + 104)) != 0) &&
+		(*NameContext)(unsafe.Pointer(bp+40)).FncFlags&NC_Subquery == 0) {
 		goto __78
 	}
 	flags = flags | WHERE_ONEPASS_MULTIROW
@@ -94280,7 +94321,7 @@ __168:
 	if !(regRowCount != 0) {
 		goto __169
 	}
-	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20531)
+	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20578)
 __169:
 	;
 update_cleanup:
@@ -94586,10 +94627,10 @@ __1:
 			if nClause == 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) {
 				*(*int8)(unsafe.Pointer(bp + 216)) = int8(0)
 			} else {
-				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216, ts+20544, libc.VaList(bp, nClause+1))
+				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216, ts+20591, libc.VaList(bp, nClause+1))
 			}
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+20548, libc.VaList(bp+8, bp+216))
+				ts+20595, libc.VaList(bp+8, bp+216))
 			return SQLITE_ERROR
 		}
 
@@ -94712,7 +94753,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 {
 		var zSubSql uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
 
 		if zSubSql != 0 &&
-			(libc.Xstrncmp(tls, zSubSql, ts+20621, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20625, uint64(3)) == 0) {
+			(libc.Xstrncmp(tls, zSubSql, ts+20668, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20672, uint64(3)) == 0) {
 			rc = execSql(tls, db, pzErrMsg, zSubSql)
 			if rc != SQLITE_OK {
 				break
@@ -94860,14 +94901,14 @@ func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p
 	if !!(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) {
 		goto __1
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20629)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20676)
 	return SQLITE_ERROR
 __1:
 	;
 	if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) {
 		goto __2
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20669)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20716)
 	return SQLITE_ERROR
 __2:
 	;
@@ -94878,7 +94919,7 @@ __2:
 	if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) {
 		goto __5
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20712)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20759)
 	return SQLITE_ERROR
 __5:
 	;
@@ -94906,7 +94947,7 @@ __4:
 	isMemDb = Xsqlite3PagerIsMemdb(tls, Xsqlite3BtreePager(tls, pMain))
 
 	nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb
-	rc = execSqlF(tls, db, pzErrMsg, ts+20730, libc.VaList(bp, zOut))
+	rc = execSqlF(tls, db, pzErrMsg, ts+20777, libc.VaList(bp, zOut))
 	(*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags
 	if !(rc != SQLITE_OK) {
 		goto __6
@@ -94926,7 +94967,7 @@ __6:
 		goto __8
 	}
 	rc = SQLITE_ERROR
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20753)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20800)
 	goto end_of_vacuum
 __8:
 	;
@@ -94986,7 +95027,7 @@ __12:
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb)
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20780,
+		ts+20827,
 		libc.VaList(bp+8, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __13
@@ -94995,7 +95036,7 @@ __12:
 __13:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20888,
+		ts+20935,
 		libc.VaList(bp+16, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __14
@@ -95006,7 +95047,7 @@ __14:
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
 
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20942,
+		ts+20989,
 		libc.VaList(bp+24, zDbMain))
 
 	*(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))
@@ -95017,7 +95058,7 @@ __14:
 __15:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+21093,
+		ts+21140,
 		libc.VaList(bp+32, zDbMain))
 	if !(rc != 0) {
 		goto __16
@@ -95446,11 +95487,11 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		if pEnd != 0 {
 			(*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32((int64((*Token)(unsafe.Pointer(pEnd)).Fz)-int64((*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz))/1)) + (*Token)(unsafe.Pointer(pEnd)).Fn
 		}
-		zStmt = Xsqlite3MPrintf(tls, db, ts+21223, libc.VaList(bp, pParse+272))
+		zStmt = Xsqlite3MPrintf(tls, db, ts+21270, libc.VaList(bp, pParse+272))
 
 		iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema)
 		Xsqlite3NestedParse(tls, pParse,
-			ts+21247,
+			ts+21294,
 			libc.VaList(bp+8, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
@@ -95460,7 +95501,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 
 		Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
-		zWhere = Xsqlite3MPrintf(tls, db, ts+21346, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
+		zWhere = Xsqlite3MPrintf(tls, db, ts+21393, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
 		Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0))
 		Xsqlite3DbFree(tls, db, zStmt)
 
@@ -95521,7 +95562,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	for pCtx = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx; pCtx != 0; pCtx = (*VtabCtx)(unsafe.Pointer(pCtx)).FpPrior {
 		if (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db,
-				ts+21365, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
+				ts+21412, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 			return SQLITE_LOCKED
 		}
 	}
@@ -95549,9 +95590,11 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FbDeclared = 0
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32
+	(*Table)(unsafe.Pointer(pTab)).FnTabRef++
 	rc = (*struct {
 		f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32
 	})(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+64)
+	Xsqlite3DeleteTable(tls, db, pTab)
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior
 	if rc == SQLITE_NOMEM {
 		Xsqlite3OomFault(tls, db)
@@ -95559,7 +95602,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 
 	if SQLITE_OK != rc {
 		if *(*uintptr)(unsafe.Pointer(bp + 64)) == uintptr(0) {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21407, libc.VaList(bp+8, zModuleName))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21454, libc.VaList(bp+8, zModuleName))
 		} else {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+3647, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64))))
 			Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
@@ -95571,7 +95614,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 		(*Module)(unsafe.Pointer(pMod)).FnRefModule++
 		(*VTable)(unsafe.Pointer(pVTable)).FnRef = 1
 		if (*VtabCtx)(unsafe.Pointer(bp+32)).FbDeclared == 0 {
-			var zFormat uintptr = ts + 21437
+			var zFormat uintptr = ts + 21484
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName))
 			Xsqlite3VtabUnlock(tls, pVTable)
 			rc = SQLITE_ERROR
@@ -95645,7 +95688,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32
 
 	if !(pMod != 0) {
 		var zModule uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pTab + 64 + 8))))
-		Xsqlite3ErrorMsg(tls, pParse, ts+21483, libc.VaList(bp, zModule))
+		Xsqlite3ErrorMsg(tls, pParse, ts+21530, libc.VaList(bp, zModule))
 		rc = SQLITE_ERROR
 	} else {
 		*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
@@ -95703,7 +95746,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr,
 	pMod = Xsqlite3HashFind(tls, db+576, zMod)
 
 	if pMod == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21483, libc.VaList(bp, zMod))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21530, libc.VaList(bp, zMod))
 		rc = SQLITE_ERROR
 	} else {
 		rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr)
@@ -95737,7 +95780,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3
 	if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
 		Xsqlite3Error(tls, db, SQLITE_MISUSE)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
-		return Xsqlite3MisuseError(tls, 151030)
+		return Xsqlite3MisuseError(tls, 151102)
 	}
 	pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab
 
@@ -96190,7 +96233,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	if !(p != 0) {
-		rc = Xsqlite3MisuseError(tls, 151521)
+		rc = Xsqlite3MisuseError(tls, 151593)
 	} else {
 		ap = va
 		switch op {
@@ -96217,7 +96260,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 			fallthrough
 		default:
 			{
-				rc = Xsqlite3MisuseError(tls, 151539)
+				rc = Xsqlite3MisuseError(tls, 151611)
 				break
 
 			}
@@ -96448,7 +96491,7 @@ type InLoop = struct {
 func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr {
 	i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2)))
 	if i == -2 {
-		return ts + 21502
+		return ts + 21549
 	}
 	if i == -1 {
 		return ts + 16251
@@ -96460,11 +96503,11 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	var i int32
 
 	if bAnd != 0 {
-		Xsqlite3_str_append(tls, pStr, ts+21509, 5)
+		Xsqlite3_str_append(tls, pStr, ts+21556, 5)
 	}
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21515, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21562, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -96479,7 +96522,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	Xsqlite3_str_append(tls, pStr, zOp, 1)
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21515, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21562, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -96505,27 +96548,27 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) {
 	if int32(nEq) == 0 && (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT|WHERE_TOP_LIMIT) == U32(0) {
 		return
 	}
-	Xsqlite3_str_append(tls, pStr, ts+21517, 2)
+	Xsqlite3_str_append(tls, pStr, ts+21564, 2)
 	for i = 0; i < int32(nEq); i++ {
 		var z uintptr = explainIndexColumnName(tls, pIndex, i)
 		if i != 0 {
-			Xsqlite3_str_append(tls, pStr, ts+21509, 5)
+			Xsqlite3_str_append(tls, pStr, ts+21556, 5)
 		}
 		Xsqlite3_str_appendf(tls, pStr, func() uintptr {
 			if i >= int32(nSkip) {
-				return ts + 21520
+				return ts + 21567
 			}
-			return ts + 21525
+			return ts + 21572
 		}(), libc.VaList(bp, z))
 	}
 
 	j = i
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21533)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21580)
 		i = 1
 	}
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_TOP_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21535)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21582)
 	}
 	Xsqlite3_str_append(tls, pStr, ts+4941, 1)
 }
@@ -96568,11 +96611,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 
 		Xsqlite3StrAccumInit(tls, bp+64, db, bp+96, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 		(*StrAccum)(unsafe.Pointer(bp + 64)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-		Xsqlite3_str_appendf(tls, bp+64, ts+21537, libc.VaList(bp, func() uintptr {
+		Xsqlite3_str_appendf(tls, bp+64, ts+21584, libc.VaList(bp, func() uintptr {
 			if isSearch != 0 {
-				return ts + 21543
+				return ts + 21590
 			}
-			return ts + 21550
+			return ts + 21597
 		}(), pItem))
 		if flags&U32(WHERE_IPK|WHERE_VIRTUALTABLE) == U32(0) {
 			var zFmt uintptr = uintptr(0)
@@ -96585,40 +96628,40 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 					zFmt = ts + 10960
 				}
 			} else if flags&U32(WHERE_PARTIALIDX) != 0 {
-				zFmt = ts + 21555
+				zFmt = ts + 21602
 			} else if flags&U32(WHERE_AUTO_INDEX) != 0 {
-				zFmt = ts + 21588
+				zFmt = ts + 21635
 			} else if flags&U32(WHERE_IDX_ONLY) != 0 {
-				zFmt = ts + 21613
+				zFmt = ts + 21660
 			} else {
-				zFmt = ts + 21631
+				zFmt = ts + 21678
 			}
 			if zFmt != 0 {
-				Xsqlite3_str_append(tls, bp+64, ts+21640, 7)
+				Xsqlite3_str_append(tls, bp+64, ts+21687, 7)
 				Xsqlite3_str_appendf(tls, bp+64, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName))
 				explainIndexRange(tls, bp+64, pLoop)
 			}
 		} else if flags&U32(WHERE_IPK) != U32(0) && flags&U32(WHERE_CONSTRAINT) != U32(0) {
 			var cRangeOp int8
 			var zRowid uintptr = ts + 16251
-			Xsqlite3_str_appendf(tls, bp+64, ts+21648, libc.VaList(bp+24, zRowid))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21695, libc.VaList(bp+24, zRowid))
 			if flags&U32(WHERE_COLUMN_EQ|WHERE_COLUMN_IN) != 0 {
 				cRangeOp = int8('=')
 			} else if flags&U32(WHERE_BOTH_LIMIT) == U32(WHERE_BOTH_LIMIT) {
-				Xsqlite3_str_appendf(tls, bp+64, ts+21679, libc.VaList(bp+32, zRowid))
+				Xsqlite3_str_appendf(tls, bp+64, ts+21726, libc.VaList(bp+32, zRowid))
 				cRangeOp = int8('<')
 			} else if flags&U32(WHERE_BTM_LIMIT) != 0 {
 				cRangeOp = int8('>')
 			} else {
 				cRangeOp = int8('<')
 			}
-			Xsqlite3_str_appendf(tls, bp+64, ts+21689, libc.VaList(bp+40, int32(cRangeOp)))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21736, libc.VaList(bp+40, int32(cRangeOp)))
 		} else if flags&U32(WHERE_VIRTUALTABLE) != U32(0) {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21694,
+			Xsqlite3_str_appendf(tls, bp+64, ts+21741,
 				libc.VaList(bp+48, *(*int32)(unsafe.Pointer(pLoop + 24)), *(*uintptr)(unsafe.Pointer(pLoop + 24 + 16))))
 		}
 		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&JT_LEFT != 0 {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21721, 0)
+			Xsqlite3_str_appendf(tls, bp+64, ts+21768, 0)
 		}
 		zMsg = Xsqlite3StrAccumFinish(tls, bp+64)
 
@@ -96650,22 +96693,22 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp
 
 	Xsqlite3StrAccumInit(tls, bp+24, db, bp+56, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 	(*StrAccum)(unsafe.Pointer(bp + 24)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-	Xsqlite3_str_appendf(tls, bp+24, ts+21732, libc.VaList(bp, pItem))
+	Xsqlite3_str_appendf(tls, bp+24, ts+21779, libc.VaList(bp, pItem))
 	pLoop = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_IPK) != 0 {
 		var pTab uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FpTab
 		if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21520, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21567, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
 		} else {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21753, 0)
+			Xsqlite3_str_appendf(tls, bp+24, ts+21800, 0)
 		}
 	} else {
 		for i = int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip); i < int32(*(*U16)(unsafe.Pointer(pLoop + 24))); i++ {
 			var z uintptr = explainIndexColumnName(tls, *(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)), i)
 			if i > int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip) {
-				Xsqlite3_str_append(tls, bp+24, ts+21509, 5)
+				Xsqlite3_str_append(tls, bp+24, ts+21556, 5)
 			}
-			Xsqlite3_str_appendf(tls, bp+24, ts+21520, libc.VaList(bp+16, z))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21567, libc.VaList(bp+16, z))
 		}
 	}
 	Xsqlite3_str_append(tls, bp+24, ts+4941, 1)
@@ -98262,7 +98305,7 @@ __134:
 	;
 __126:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21761, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21808, 0)
 	ii = 0
 __135:
 	if !(ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm) {
@@ -98290,7 +98333,7 @@ __139:
 	pOrExpr = pAndExpr
 __140:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21776, libc.VaList(bp, ii+1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21823, libc.VaList(bp, ii+1))
 
 	pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0),
 		uint16(WHERE_OR_SUBCLAUSE), iCovCur)
@@ -98808,7 +98851,7 @@ func Xsqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
 	var mAll Bitmask = uint64(0)
 	var k int32
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21785, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21832, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
 
 	for k = 0; k < iLevel; k++ {
 		var iIdxCur int32
@@ -99169,7 +99212,7 @@ var aOp = [4]Op2{
 	{FzOp: ts + 16100, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)},
 	{FzOp: ts + 15431, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)},
 	{FzOp: ts + 14951, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)},
-	{FzOp: ts + 21799, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
+	{FzOp: ts + 21846, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
 }
 
 func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) {
@@ -99659,12 +99702,12 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			extraRight = x - uint64(1)
 
 			if prereqAll>>1 >= x {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21806, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21853, 0)
 				return
 			}
 		} else if prereqAll>>1 >= x {
 			if (*SrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*SrcItem)(unsafe.Pointer(pSrc+8)).Ffg.Fjointype)&JT_LTORJ != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21806, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21853, 0)
 				return
 			}
 			*(*U32)(unsafe.Pointer(pExpr + 4)) &= libc.Uint32FromInt32(libc.CplInt32(EP_InnerON))
@@ -99743,7 +99786,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_OuterON) != U32(0)) &&
 			0 == Xsqlite3ExprCanBeNull(tls, pLeft) {
 			(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
-			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6753
+			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 7683
 			*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0)
@@ -99837,7 +99880,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 		}
 		zCollSeqName = func() uintptr {
 			if *(*int32)(unsafe.Pointer(bp + 20)) != 0 {
-				return ts + 21847
+				return ts + 21894
 			}
 			return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))
 		}()
@@ -100213,7 +100256,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 			k++
 		}
 		if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21854,
+			Xsqlite3ErrorMsg(tls, pParse, ts+21901,
 				libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j))
 			return
 		}
@@ -100229,7 +100272,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 		pRhs = Xsqlite3PExpr(tls, pParse, TK_UPLUS,
 			Xsqlite3ExprDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*ExprList_item)(unsafe.Pointer(pArgs+8+uintptr(j)*32)).FpExpr, 0), uintptr(0))
 		pTerm = Xsqlite3PExpr(tls, pParse, TK_EQ, pColRef, pRhs)
-		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ) != 0 {
+		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ|JT_RIGHT) != 0 {
 			joinType = U32(EP_OuterON)
 		} else {
 			joinType = U32(EP_InnerON)
@@ -100947,7 +100990,7 @@ __4:
 		goto __6
 	}
 	Xsqlite3_log(tls, SQLITE_WARNING|int32(1)<<8,
-		ts+21890, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
+		ts+21937, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
 			(*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*24)).FzCnName))
 	sentWarning = U8(1)
 __6:
@@ -101018,7 +101061,7 @@ __13:
 __14:
 	;
 	*(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)) = pIdx
-	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21916
+	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21963
 	(*Index)(unsafe.Pointer(pIdx)).FpTable = pTable
 	n = 0
 	idxCols = uint64(0)
@@ -101192,6 +101235,10 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 	var pLoop uintptr = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	var iCur int32
+	var saved_pIdxEpr uintptr
+
+	saved_pIdxEpr = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = uintptr(0)
 
 	addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once)
 	for __ccgo := true; __ccgo; __ccgo = iLevel < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel) {
@@ -101235,9 +101282,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 			var r1 int32 = Xsqlite3GetTempRange(tls, pParse, n)
 			var jj int32
 			for jj = 0; jj < n; jj++ {
-				var iCol int32 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(jj)*2)))
-
-				Xsqlite3ExprCodeGetColumnOfTable(tls, v, (*Index)(unsafe.Pointer(pIdx)).FpTable, iCur, iCol, r1+jj)
+				Xsqlite3ExprCodeLoadIndexColumn(tls, pParse, pIdx, iCur, jj, r1+jj)
 			}
 			Xsqlite3VdbeAddOp4Int(tls, v, OP_FilterAdd, (*WhereLevel)(unsafe.Pointer(pLevel)).FregFilter, 0, r1, n)
 			Xsqlite3ReleaseTempRange(tls, pParse, r1, n)
@@ -101271,6 +101316,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 		}
 	}
 	Xsqlite3VdbeJumpHere(tls, v, addrOnce)
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = saved_pIdxEpr
 }
 
 func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr {
@@ -101529,11 +101575,16 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro
 
 	_ = pParse
 
+	if !((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) && int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol)
+	} else {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnColumn)
+	}
 	nField = func() int32 {
-		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < (*Index)(unsafe.Pointer(pIdx)).FnSample {
+		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < nField {
 			return int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField)
 		}
-		return (*Index)(unsafe.Pointer(pIdx)).FnSample
+		return nField
 	}()
 	iCol = 0
 	iSample = (*Index)(unsafe.Pointer(pIdx)).FnSample * nField
@@ -103114,7 +103165,7 @@ __4:
 				j >= (*WhereClause)(unsafe.Pointer(pWC)).FnTerm ||
 				*(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) ||
 				int32((*sqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21927, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+				Xsqlite3ErrorMsg(tls, pParse, ts+21974, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 				return SQLITE_ERROR
 			}
@@ -103172,7 +103223,7 @@ __6:
 	(*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm = U16(mxTerm + 1)
 	for i = 0; i <= mxTerm; i++ {
 		if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21927, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+			Xsqlite3ErrorMsg(tls, pParse, ts+21974, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 			return SQLITE_ERROR
 		}
@@ -103570,7 +103621,7 @@ __1:
 		mPrior = mPrior | (*WhereLoop)(unsafe.Pointer(pNew)).FmaskSelf
 		if rc != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 			if rc == SQLITE_DONE {
-				Xsqlite3_log(tls, SQLITE_WARNING, ts+21953, 0)
+				Xsqlite3_log(tls, SQLITE_WARNING, ts+22000, 0)
 				rc = SQLITE_OK
 			} else {
 				goto __3
@@ -104177,7 +104228,7 @@ __3:
 	}
 
 	if nFrom == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+21988, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+22035, 0)
 		Xsqlite3DbFreeNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pSpace)
 		return SQLITE_ERROR
 	}
@@ -104212,6 +104263,10 @@ __3:
 			if int32((*WherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*ExprList)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr {
 				(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_ORDERED)
 			}
+			if (*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 &&
+				int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr {
+				(*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = I8((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr)
+			}
 		} else {
 			(*WhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*WherePath)(unsafe.Pointer(pFrom)).FrevLoop
 			if int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 {
@@ -104506,6 +104561,9 @@ func whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur in
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCur = iIdxCur
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCol = i
 		(*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow = U8(bMaybeNullRow)
+		if Xsqlite3IndexAffinityStr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pIdx) != 0 {
+			(*IndexedExpr)(unsafe.Pointer(p)).Faff = U8(*(*int8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(i))))
+		}
 		(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = p
 		if (*IndexedExpr)(unsafe.Pointer(p)).FpIENext == uintptr(0) {
 			Xsqlite3ParserAddCleanup(tls, pParse, *(*uintptr)(unsafe.Pointer(&struct {
@@ -104658,7 +104716,7 @@ __1:
 	if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22006, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+22053, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
 	return uintptr(0)
 __2:
 	;
@@ -104722,7 +104780,7 @@ __6:
 	(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE)
 __7:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22034, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22081, 0)
 	goto __5
 __4:
 	ii = 0
@@ -105604,7 +105662,7 @@ __1:
 
 error_out:
 	Xsqlite3_result_error(tls,
-		pCtx, ts+22052, -1)
+		pCtx, ts+22099, -1)
 }
 
 func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
@@ -105737,7 +105795,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 			(*NtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 			if (*NtileCtx)(unsafe.Pointer(p)).FnParam <= int64(0) {
 				Xsqlite3_result_error(tls,
-					pCtx, ts+22108, -1)
+					pCtx, ts+22155, -1)
 			}
 		}
 		(*NtileCtx)(unsafe.Pointer(p)).FnTotal++
@@ -105827,17 +105885,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
 	}
 }
 
-var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22153))
-var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22164))
-var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22175))
-var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22180))
-var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22193))
-var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22203))
-var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22209))
-var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22220))
-var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22230))
-var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22242))
-var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22247))
+var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22200))
+var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22211))
+var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22222))
+var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22227))
+var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22240))
+var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22250))
+var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22256))
+var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22267))
+var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22277))
+var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22289))
+var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22294))
 
 func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) {
 	_ = p
@@ -105883,7 +105941,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin
 		}
 	}
 	if p == uintptr(0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22251, libc.VaList(bp, zName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+22298, libc.VaList(bp, zName))
 	}
 	return p
 }
@@ -105927,12 +105985,12 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin
 		((*Window)(unsafe.Pointer(pWin)).FpStart != 0 || (*Window)(unsafe.Pointer(pWin)).FpEnd != 0) &&
 		((*Window)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*ExprList)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != 1) {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+22270, 0)
+			ts+22317, 0)
 	} else if (*FuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
 		if (*Window)(unsafe.Pointer(pWin)).FpFilter != 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22341, 0)
+				ts+22388, 0)
 		} else {
 			*(*[8]WindowUpdate)(unsafe.Pointer(bp)) = [8]WindowUpdate{
 				{FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT},
@@ -106159,7 +106217,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr
 
 	if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) {
 		Xsqlite3ErrorMsg(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse,
-			ts+22404, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
+			ts+22451, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
 	}
 	return WRC_Continue
 }
@@ -106275,7 +106333,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 {
 
 		if *(*uintptr)(unsafe.Pointer(bp + 48)) == uintptr(0) {
 			*(*uintptr)(unsafe.Pointer(bp + 48)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0),
-				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7514))
+				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7503))
 		}
 
 		pSub = Xsqlite3SelectNew(tls,
@@ -106390,7 +106448,7 @@ __1:
 		eStart == TK_FOLLOWING && (eEnd == TK_PRECEDING || eEnd == TK_CURRENT)) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22430, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22477, 0)
 	goto windowAllocErr
 __2:
 	;
@@ -106455,15 +106513,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint
 			var zErr uintptr = uintptr(0)
 
 			if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 {
-				zErr = ts + 22462
+				zErr = ts + 22509
 			} else if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0 {
-				zErr = ts + 22479
+				zErr = ts + 22526
 			} else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 {
-				zErr = ts + 22495
+				zErr = ts + 22542
 			}
 			if zErr != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+22515, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
+					ts+22562, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
 			} else {
 				(*Window)(unsafe.Pointer(pWin)).FpPartition = Xsqlite3ExprListDup(tls, db, (*Window)(unsafe.Pointer(pExist)).FpPartition, 0)
 				if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 {
@@ -106484,7 +106542,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr
 		(*Window)(unsafe.Pointer(pWin)).FpOwner = p
 		if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Distinct) != 0 && int32((*Window)(unsafe.Pointer(pWin)).FeFrmType) != TK_FILTER {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22548, 0)
+				ts+22595, 0)
 		}
 	} else {
 		Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin)
@@ -106640,11 +106698,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) {
 }
 
 var azErr = [5]uintptr{
-	ts + 22595,
-	ts + 22648,
-	ts + 22052,
-	ts + 22699,
-	ts + 22751,
+	ts + 22642,
+	ts + 22695,
+	ts + 22099,
+	ts + 22746,
+	ts + 22798,
 }
 var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge}
 
@@ -108039,19 +108097,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) {
 			}
 			cnt++
 			if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*Select)(unsafe.Pointer(pLoop)).FpLimit != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+22801,
+				Xsqlite3ErrorMsg(tls, pParse, ts+22848,
 					libc.VaList(bp, func() uintptr {
 						if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) {
-							return ts + 22843
+							return ts + 22890
 						}
-						return ts + 22852
+						return ts + 22899
 					}(),
 						Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(pNext)).Fop))))
 				break
 			}
 		}
 		if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_MultiValue) == U32(0) && libc.AssignInt32(&mxSelect, *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 4*4))) > 0 && cnt > mxSelect {
-			Xsqlite3ErrorMsg(tls, pParse, ts+22858, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+22905, 0)
 		}
 	}
 
@@ -108119,7 +108177,7 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT
 	var p uintptr = Xsqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0))
 	if (hasCollate != 0 || sortOrder != -1) &&
 		int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22892,
+		Xsqlite3ErrorMsg(tls, pParse, ts+22939,
 			libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz))
 	}
 	Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1)
@@ -109216,7 +109274,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) {
 		yy_pop_parser_stack(tls, yypParser)
 	}
 
-	Xsqlite3ErrorMsg(tls, pParse, ts+22930, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22977, 0)
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
 }
@@ -110195,7 +110253,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(TF_WithoutRowid | TF_NoVisibleRowid)
 				} else {
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22952, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+22999, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			break
@@ -110205,7 +110263,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(TF_Strict)
 				} else {
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22952, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+22999, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			*(*U32)(unsafe.Pointer(yymsp + 8)) = *(*U32)(unsafe.Pointer(bp + 40))
@@ -110948,7 +111006,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 		case uint32(157):
 			{
 				Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8)), yymsp+libc.UintptrFromInt32(-4)*24+8)
-				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+22979)
+				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+23026)
 				if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) != 0 {
 					var pFromClause uintptr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8))
 					if (*SrcList)(unsafe.Pointer(pFromClause)).FnSrc > 1 {
@@ -111112,7 +111170,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*Token)(unsafe.Pointer(bp + 128)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 
 					if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+22988, libc.VaList(bp+32, bp+128))
+						Xsqlite3ErrorMsg(tls, pParse, ts+23035, libc.VaList(bp+32, bp+128))
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0)
 					} else {
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0))
@@ -111329,9 +111387,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					Xsqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
 					*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_STRING, func() uintptr {
 						if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8)) != 0 {
-							return ts + 6748
+							return ts + 7678
 						}
-						return ts + 6753
+						return ts + 7683
 					}())
 					if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) != 0 {
 						Xsqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
@@ -111615,19 +111673,19 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 			{
 				*(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23012, 0)
+					ts+23059, 0)
 			}
 			break
 		case uint32(271):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23107, 0)
+					ts+23154, 0)
 			}
 			break
 		case uint32(272):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23191, 0)
+					ts+23238, 0)
 			}
 			break
 		case uint32(273):
@@ -112006,9 +112064,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To
 
 	_ = yymajor
 	if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8)).Fz)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22988, libc.VaList(bp, bp+8))
+		Xsqlite3ErrorMsg(tls, pParse, ts+23035, libc.VaList(bp, bp+8))
 	} else {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23276, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+23323, 0)
 	}
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
@@ -112776,7 +112834,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 			} else {
 				(*Token)(unsafe.Pointer(bp + 2464)).Fz = zSql
 				(*Token)(unsafe.Pointer(bp + 2464)).Fn = uint32(n)
-				Xsqlite3ErrorMsg(tls, pParse, ts+23293, libc.VaList(bp, bp+2464))
+				Xsqlite3ErrorMsg(tls, pParse, ts+23340, libc.VaList(bp, bp+2464))
 				break
 			}
 		}
@@ -112799,7 +112857,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 		if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) {
 			(*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+3647, libc.VaList(bp+8, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc)))
 		}
-		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23318, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
+		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23365, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
 		nErr++
 	}
 	(*Parse)(unsafe.Pointer(pParse)).FzTail = zSql
@@ -112972,7 +113030,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'C':
 						{
-							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23329, 6) == 0 {
+							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23376, 6) == 0 {
 								token = U8(TkCREATE)
 							} else {
 								token = U8(TkOTHER)
@@ -112985,11 +113043,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'T':
 						{
-							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19915, 7) == 0 {
+							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19962, 7) == 0 {
 								token = U8(TkTRIGGER)
-							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23336, 4) == 0 {
+							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23383, 4) == 0 {
 								token = U8(TkTEMP)
-							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23341, 9) == 0 {
+							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23388, 9) == 0 {
 								token = U8(TkTEMP)
 							} else {
 								token = U8(TkOTHER)
@@ -113002,9 +113060,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'E':
 						{
-							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23351, 3) == 0 {
+							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23398, 3) == 0 {
 								token = U8(TkEND)
-							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23355, 7) == 0 {
+							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23402, 7) == 0 {
 								token = U8(TkEXPLAIN)
 							} else {
 								token = U8(TkOTHER)
@@ -113238,7 +113296,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 {
 	var rc int32 = SQLITE_OK
 
 	if Xsqlite3Config.FisInit != 0 {
-		return Xsqlite3MisuseError(tls, 174337)
+		return Xsqlite3MisuseError(tls, 174426)
 	}
 
 	ap = va
@@ -113813,7 +113871,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 		return SQLITE_OK
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 175111)
+		return Xsqlite3MisuseError(tls, 175200)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 {
@@ -113828,7 +113886,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 
 	if !(forceZombie != 0) && connectionIsBusy(tls, db) != 0 {
 		Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-			ts+23363, 0)
+			ts+23410, 0)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		return SQLITE_BUSY
 	}
@@ -114019,23 +114077,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) {
 // Return a static string that describes the kind of error specified in the
 // argument.
 func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
-	var zErr uintptr = ts + 23431
+	var zErr uintptr = ts + 23478
 	switch rc {
 	case SQLITE_ABORT | int32(2)<<8:
 		{
-			zErr = ts + 23445
+			zErr = ts + 23492
 			break
 
 		}
 	case SQLITE_ROW:
 		{
-			zErr = ts + 23467
+			zErr = ts + 23514
 			break
 
 		}
 	case SQLITE_DONE:
 		{
-			zErr = ts + 23489
+			zErr = ts + 23536
 			break
 
 		}
@@ -114053,35 +114111,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
 }
 
 var aMsg = [29]uintptr{
-	ts + 23512,
-	ts + 23525,
+	ts + 23559,
+	ts + 23572,
 	uintptr(0),
-	ts + 23541,
-	ts + 23566,
-	ts + 23580,
-	ts + 23599,
+	ts + 23588,
+	ts + 23613,
+	ts + 23627,
+	ts + 23646,
 	ts + 1474,
-	ts + 23624,
-	ts + 23661,
-	ts + 23673,
-	ts + 23688,
-	ts + 23721,
-	ts + 23739,
-	ts + 23764,
-	ts + 23793,
+	ts + 23671,
+	ts + 23708,
+	ts + 23720,
+	ts + 23735,
+	ts + 23768,
+	ts + 23786,
+	ts + 23811,
+	ts + 23840,
 	uintptr(0),
 	ts + 5822,
 	ts + 5318,
-	ts + 23810,
-	ts + 23828,
-	ts + 23846,
+	ts + 23857,
+	ts + 23875,
+	ts + 23893,
 	uintptr(0),
-	ts + 23880,
-	uintptr(0),
-	ts + 23901,
 	ts + 23927,
-	ts + 23950,
-	ts + 23971,
+	uintptr(0),
+	ts + 23948,
+	ts + 23974,
+	ts + 23997,
+	ts + 24018,
 }
 
 func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 {
@@ -114202,7 +114260,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 		libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) ||
 		(nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) ||
 		255 < Xsqlite3Strlen30(tls, zFunctionName) {
-		return Xsqlite3MisuseError(tls, 175758)
+		return Xsqlite3MisuseError(tls, 175847)
 	}
 
 	extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS)
@@ -114247,7 +114305,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 	if p != 0 && (*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK) == U32(enc) && int32((*FuncDef)(unsafe.Pointer(p)).FnArg) == nArg {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+23987, 0)
+				ts+24034, 0)
 
 			return SQLITE_BUSY
 		} else {
@@ -114364,7 +114422,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs
 	_ = NotUsed
 	_ = NotUsed2
 	zErr = Xsqlite3_mprintf(tls,
-		ts+24050, libc.VaList(bp, zName))
+		ts+24097, libc.VaList(bp, zName))
 	Xsqlite3_result_error(tls, context, zErr, -1)
 	Xsqlite3_free(tls, zErr)
 }
@@ -114600,7 +114658,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
 	}
 	if iDb < 0 {
 		rc = SQLITE_ERROR
-		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24101, libc.VaList(bp, zDb))
+		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24148, libc.VaList(bp, zDb))
 	} else {
 		(*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0
 		rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt)
@@ -114693,7 +114751,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr {
 		return Xsqlite3ErrStr(tls, SQLITE_NOMEM)
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176503))
+		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176592))
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -114763,7 +114821,7 @@ var misuse = [34]U16{
 // passed to this function, we assume a malloc() failed during sqlite3_open().
 func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176582)
+		return Xsqlite3MisuseError(tls, 176671)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -114773,7 +114831,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 
 func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176591)
+		return Xsqlite3MisuseError(tls, 176680)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -114805,14 +114863,14 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint
 		enc2 = SQLITE_UTF16LE
 	}
 	if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE {
-		return Xsqlite3MisuseError(tls, 176639)
+		return Xsqlite3MisuseError(tls, 176728)
 	}
 
 	pColl = Xsqlite3FindCollSeq(tls, db, U8(enc2), zName, 0)
 	if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24122, 0)
+				ts+24169, 0)
 			return SQLITE_BUSY
 		}
 		Xsqlite3ExpirePreparedStatements(tls, db, 0)
@@ -114942,7 +115000,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u
 
 	if !((flags&uint32(SQLITE_OPEN_URI) != 0 ||
 		Xsqlite3Config.FbOpenUri != 0) &&
-		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24190, uint64(5)) == 0) {
+		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24237, uint64(5)) == 0) {
 		goto __1
 	}
 	iOut = 0
@@ -114987,10 +115045,10 @@ __8:
 	goto __8
 __9:
 	;
-	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24196, zUri+7, uint64(9)) != 0)) {
+	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24243, zUri+7, uint64(9)) != 0)) {
 		goto __10
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24206,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24253,
 		libc.VaList(bp, iIn-7, zUri+7))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
@@ -115095,7 +115153,7 @@ __27:
 	zVal = zOpt + uintptr(nOpt+1)
 	nVal = Xsqlite3Strlen30(tls, zVal)
 
-	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24234, zOpt, uint64(3)) == 0) {
+	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24281, zOpt, uint64(3)) == 0) {
 		goto __29
 	}
 	zVfs = zVal
@@ -115106,17 +115164,17 @@ __29:
 	mask = 0
 	limit = 0
 
-	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24238, zOpt, uint64(5)) == 0) {
+	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24285, zOpt, uint64(5)) == 0) {
 		goto __31
 	}
 
 	mask = SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE
 	aMode = uintptr(unsafe.Pointer(&aCacheMode))
 	limit = mask
-	zModeType = ts + 24238
+	zModeType = ts + 24285
 __31:
 	;
-	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24244, zOpt, uint64(4)) == 0) {
+	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24291, zOpt, uint64(4)) == 0) {
 		goto __32
 	}
 
@@ -115154,7 +115212,7 @@ __36:
 	if !(mode == 0) {
 		goto __38
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24249, libc.VaList(bp+16, zModeType, zVal))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24296, libc.VaList(bp+16, zModeType, zVal))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
 __38:
@@ -115162,7 +115220,7 @@ __38:
 	if !(mode&libc.CplInt32(SQLITE_OPEN_MEMORY) > limit) {
 		goto __39
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24269,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24316,
 		libc.VaList(bp+32, zModeType, zVal))
 	rc = SQLITE_PERM
 	goto parse_uri_out
@@ -115202,7 +115260,7 @@ __2:
 	if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) {
 		goto __42
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24293, libc.VaList(bp+48, zVfs))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24340, libc.VaList(bp+48, zVfs))
 	rc = SQLITE_ERROR
 __42:
 	;
@@ -115226,14 +115284,14 @@ type OpenMode = struct {
 }
 
 var aCacheMode = [3]OpenMode{
-	{Fz: ts + 24309, Fmode: SQLITE_OPEN_SHAREDCACHE},
-	{Fz: ts + 24316, Fmode: SQLITE_OPEN_PRIVATECACHE},
+	{Fz: ts + 24356, Fmode: SQLITE_OPEN_SHAREDCACHE},
+	{Fz: ts + 24363, Fmode: SQLITE_OPEN_PRIVATECACHE},
 	{},
 }
 var aOpenMode = [5]OpenMode{
-	{Fz: ts + 24324, Fmode: SQLITE_OPEN_READONLY},
-	{Fz: ts + 24327, Fmode: SQLITE_OPEN_READWRITE},
-	{Fz: ts + 24330, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
+	{Fz: ts + 24371, Fmode: SQLITE_OPEN_READONLY},
+	{Fz: ts + 24374, Fmode: SQLITE_OPEN_READWRITE},
+	{Fz: ts + 24377, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
 	{Fz: ts + 17346, Fmode: SQLITE_OPEN_MEMORY},
 	{},
 }
@@ -115380,10 +115438,10 @@ __12:
 	createCollation(tls, db, uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{binCollFunc})), uintptr(0))
-	createCollation(tls, db, ts+21847, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+21894, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{nocaseCollatingFunc})), uintptr(0))
-	createCollation(tls, db, ts+24334, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+24381, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{rtrimCollFunc})), uintptr(0))
 	if !((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) {
@@ -115397,7 +115455,7 @@ __15:
 	if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) {
 		goto __16
 	}
-	rc = Xsqlite3MisuseError(tls, 177308)
+	rc = Xsqlite3MisuseError(tls, 177397)
 	goto __17
 __16:
 	rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24)
@@ -115450,7 +115508,7 @@ __22:
 
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 6425
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).Fsafety_level = U8(SQLITE_DEFAULT_SYNCHRONOUS + 1)
-	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23336
+	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23383
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF)
 
 	(*Sqlite3)(unsafe.Pointer(db)).FeOpenState = U8(SQLITE_STATE_OPEN)
@@ -115555,7 +115613,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 {
 		return rc
 	}
 	if zFilename == uintptr(0) {
-		zFilename = ts + 24340
+		zFilename = ts + 24387
 	}
 	pVal = Xsqlite3ValueNew(tls, uintptr(0))
 	Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0))
@@ -115658,21 +115716,21 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr)
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	Xsqlite3_log(tls, iErr, ts+24343,
+	Xsqlite3_log(tls, iErr, ts+24390,
 		libc.VaList(bp, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls)))
 	return iErr
 }
 
 func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24368)
+	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24415)
 }
 
 func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24388)
+	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24435)
 }
 
 func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24395)
+	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24442)
 }
 
 // This is a convenience routine that makes sure that all thread-specific
@@ -115830,7 +115888,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24)))
-	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24412, libc.VaList(bp, zTableName,
+	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24459, libc.VaList(bp, zTableName,
 		zColumnName))
 	rc = SQLITE_ERROR
 __20:
@@ -116486,7 +116544,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 {
 
 	azCompileOpt = Xsqlite3CompileOptions(tls, bp)
 
-	if Xsqlite3_strnicmp(tls, zOptName, ts+24440, 7) == 0 {
+	if Xsqlite3_strnicmp(tls, zOptName, ts+24487, 7) == 0 {
 		zOptName += uintptr(7)
 	}
 	n = Xsqlite3Strlen30(tls, zOptName)
@@ -116604,7 +116662,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin
 
 	Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr {
 		if rc != 0 {
-			return ts + 24448
+			return ts + 24495
 		}
 		return uintptr(0)
 	}(), 0)
@@ -116782,7 +116840,7 @@ type JsonParse1 = struct {
 type JsonParse = JsonParse1
 
 var jsonType = [8]uintptr{
-	ts + 6165, ts + 6748, ts + 6753, ts + 6175, ts + 6170, ts + 7989, ts + 24471, ts + 24477,
+	ts + 6165, ts + 7678, ts + 7683, ts + 6175, ts + 6170, ts + 7989, ts + 24518, ts + 24524,
 }
 
 func jsonZero(tls *libc.TLS, p uintptr) {
@@ -116935,7 +116993,7 @@ __10:
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0' + int32(c)>>4)
-	c = uint8(*(*int8)(unsafe.Pointer(ts + 24484 + uintptr(int32(c)&0xf))))
+	c = uint8(*(*int8)(unsafe.Pointer(ts + 24531 + uintptr(int32(c)&0xf))))
 __8:
 	;
 __6:
@@ -116990,7 +117048,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) {
 	default:
 		{
 			if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 {
-				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24501, -1)
+				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24548, -1)
 				(*JsonString)(unsafe.Pointer(p)).FbErr = U8(2)
 				jsonReset(tls, p)
 			}
@@ -117054,13 +117112,13 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr
 		}
 	case JSON_TRUE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6748, uint32(4))
+			jsonAppendRaw(tls, pOut, ts+7678, uint32(4))
 			break
 
 		}
 	case JSON_FALSE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6753, uint32(5))
+			jsonAppendRaw(tls, pOut, ts+7683, uint32(5))
 			break
 
 		}
@@ -117610,12 +117668,12 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 't' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6748, uint64(4)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7678, uint64(4)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(4)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_TRUE), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 'f' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6753, uint64(5)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7683, uint64(5)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(5)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_FALSE), uint32(0), uintptr(0))
 		return int32(i + U32(5))
@@ -117716,7 +117774,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32
 			if (*JsonParse)(unsafe.Pointer(pParse)).Foom != 0 {
 				Xsqlite3_result_error_nomem(tls, pCtx)
 			} else {
-				Xsqlite3_result_error(tls, pCtx, ts+24530, -1)
+				Xsqlite3_result_error(tls, pCtx, ts+24577, -1)
 			}
 		}
 		jsonParseReset(tls, pParse)
@@ -118022,7 +118080,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt
 	}
 	if int32(*(*int8)(unsafe.Pointer(zPath))) == '.' {
 		jsonParseAddNode(tls, pParse, uint32(JSON_OBJECT), uint32(0), uintptr(0))
-	} else if libc.Xstrncmp(tls, zPath, ts+24545, uint64(3)) == 0 {
+	} else if libc.Xstrncmp(tls, zPath, ts+24592, uint64(3)) == 0 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0))
 	} else {
 		return uintptr(0)
@@ -118037,7 +118095,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	return Xsqlite3_mprintf(tls, ts+24549, libc.VaList(bp, zErr))
+	return Xsqlite3_mprintf(tls, ts+24596, libc.VaList(bp, zErr))
 }
 
 func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr {
@@ -118091,7 +118149,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24575,
+	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24622,
 		libc.VaList(bp, zFuncName))
 	Xsqlite3_result_error(tls, pCtx, zMsg, -1)
 	Xsqlite3_free(tls, zMsg)
@@ -118196,11 +118254,11 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 			if int32(*(*int8)(unsafe.Pointer(zPath))) != '$' {
 				jsonInit(tls, bp, ctx)
 				if int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zPath)))])&0x04 != 0 {
-					jsonAppendRaw(tls, bp, ts+24618, uint32(2))
+					jsonAppendRaw(tls, bp, ts+24665, uint32(2))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendRaw(tls, bp, ts+4982, uint32(2))
 				} else {
-					jsonAppendRaw(tls, bp, ts+24621, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
+					jsonAppendRaw(tls, bp, ts+24668, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendChar(tls, bp, int8(0))
 				}
@@ -118357,14 +118415,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 
 	if argc&1 != 0 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+24624, -1)
+			ts+24671, -1)
 		return
 	}
 	jsonInit(tls, bp, ctx)
 	jsonAppendChar(tls, bp, int8('{'))
 	for i = 0; i < argc; i = i + 2 {
 		if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != SQLITE_TEXT {
-			Xsqlite3_result_error(tls, ctx, ts+24675, -1)
+			Xsqlite3_result_error(tls, ctx, ts+24722, -1)
 			jsonReset(tls, bp)
 			return
 		}
@@ -118534,9 +118592,9 @@ __1:
 	}
 	jsonWrongNumArgs(tls, ctx, func() uintptr {
 		if bIsSet != 0 {
-			return ts + 24709
+			return ts + 24756
 		}
-		return ts + 24713
+		return ts + 24760
 	}())
 	return
 __2:
@@ -118669,7 +118727,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24720, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24767, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -118766,7 +118824,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24723, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24770, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -118810,7 +118868,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u
 	_ = argc
 	_ = pAux
 	rc = Xsqlite3_declare_vtab(tls, db,
-		ts+24726)
+		ts+24773)
 	if rc == SQLITE_OK {
 		pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{}))))
 		if pNew == uintptr(0) {
@@ -118941,7 +118999,7 @@ func jsonAppendObjectPathElement(tls *libc.TLS, pStr uintptr, pNode uintptr) {
 			nn = nn - 2
 		}
 	}
-	jsonPrintf(tls, nn+2, pStr, ts+24809, libc.VaList(bp, nn, z))
+	jsonPrintf(tls, nn+2, pStr, ts+24856, libc.VaList(bp, nn, z))
 }
 
 func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
@@ -118960,7 +119018,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
 	pNode = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(i)*16
 	pUp = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(iUp)*16
 	if int32((*JsonNode)(unsafe.Pointer(pUp)).FeType) == JSON_ARRAY {
-		jsonPrintf(tls, 30, pStr, ts+24815, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
+		jsonPrintf(tls, 30, pStr, ts+24862, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
 	} else {
 		if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_LABEL == 0 {
 			pNode -= 16
@@ -119056,7 +119114,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 					jsonAppendChar(tls, bp+8, int8('$'))
 				}
 				if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY {
-					jsonPrintf(tls, 30, bp+8, ts+24815, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
+					jsonPrintf(tls, 30, bp+8, ts+24862, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
 				} else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT {
 					jsonAppendObjectPathElement(tls, bp+8, pThis)
 				}
@@ -119080,7 +119138,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 		{
 			var zRoot uintptr = (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot
 			if zRoot == uintptr(0) {
-				zRoot = ts + 24820
+				zRoot = ts + 24867
 			}
 			Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0))
 			break
@@ -119202,7 +119260,7 @@ func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, ar
 		var rc int32 = SQLITE_NOMEM
 		if int32((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.Foom) == 0 {
 			Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg)
-			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24530, 0)
+			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24577, 0)
 			if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 {
 				rc = SQLITE_ERROR
 			}
@@ -119297,25 +119355,25 @@ func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) {
 }
 
 var aJsonFunc = [19]FuncDef{
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24822},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24827},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24838},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24838},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24856},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 24869},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 24872},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24876},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24888},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24900},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24911},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24922},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24934},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 24947},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24956},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24956},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24966},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24977},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24994}}
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24869},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24874},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24885},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24885},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24903},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 24916},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 24919},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24923},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24935},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24947},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24958},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24969},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24981},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 24994},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25003},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25003},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25013},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25024},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25041}}
 
 // Register the JSON table-valued functions
 func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 {
@@ -119334,8 +119392,8 @@ var aMod = [2]struct {
 	FzName   uintptr
 	FpModule uintptr
 }{
-	{FzName: ts + 25012, FpModule: 0},
-	{FzName: ts + 25022, FpModule: 0},
+	{FzName: ts + 25059, FpModule: 0},
+	{FzName: ts + 25069, FpModule: 0},
 }
 
 type Rtree1 = struct {
@@ -119595,11 +119653,11 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo
 		}
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) {
-		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25032, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25079, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		if zTab == uintptr(0) {
 			return SQLITE_NOMEM
 		}
-		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25040, iNode, 0,
+		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25087, iNode, 0,
 			pRtree+112)
 		Xsqlite3_free(tls, zTab)
 	}
@@ -119810,7 +119868,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32
 	var zCreate uintptr = Xsqlite3_mprintf(tls,
-		ts+25045,
+		ts+25092,
 		libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
@@ -120513,7 +120571,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 {
 	var pSrc uintptr
 	var pInfo uintptr
 
-	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25127)
+	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25174)
 	if pSrc == uintptr(0) {
 		return SQLITE_ERROR
 	}
@@ -121854,7 +121912,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+25141, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+	zSql = Xsqlite3_mprintf(tls, ts+25188, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 	if zSql != 0 {
 		rc = Xsqlite3_prepare_v2(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -1, bp+56, uintptr(0))
 	} else {
@@ -121866,12 +121924,12 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 		if iCol == 0 {
 			var zCol uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 0)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25161, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
+				ts+25208, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
 		} else {
 			var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol)
 			var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol+1)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25193, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
+				ts+25240, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
 		}
 	}
 
@@ -122097,7 +122155,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32 = SQLITE_NOMEM
 	var zSql uintptr = Xsqlite3_mprintf(tls,
-		ts+25230, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
+		ts+25277, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
 	if zSql != 0 {
 		nodeBlobReset(tls, pRtree)
 		rc = Xsqlite3_exec(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0))
@@ -122120,7 +122178,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 {
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	var zFmt uintptr = ts + 25375
+	var zFmt uintptr = ts + 25422
 	var zSql uintptr
 
 	var rc int32
@@ -122168,7 +122226,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName1 = [3]uintptr{
-	ts + 25431, ts + 5044, ts + 16251,
+	ts + 25478, ts + 5044, ts + 16251,
 }
 
 var rtreeModule = Sqlite3_module{
@@ -122211,19 +122269,19 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		var p uintptr = Xsqlite3_str_new(tls, db)
 		var ii int32
 		Xsqlite3_str_appendf(tls, p,
-			ts+25436,
+			ts+25483,
 			libc.VaList(bp, zDb, zPrefix))
 		for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
-			Xsqlite3_str_appendf(tls, p, ts+25498, libc.VaList(bp+16, ii))
+			Xsqlite3_str_appendf(tls, p, ts+25545, libc.VaList(bp+16, ii))
 		}
 		Xsqlite3_str_appendf(tls, p,
-			ts+25503,
+			ts+25550,
 			libc.VaList(bp+24, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25567,
+			ts+25614,
 			libc.VaList(bp+40, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25637,
+			ts+25684,
 			libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))
 		zCreate = Xsqlite3_str_finish(tls, p)
 		if !(zCreate != 0) {
@@ -122252,7 +122310,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		if i != 3 || int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) == 0 {
 			zFormat = azSql[i]
 		} else {
-			zFormat = ts + 25686
+			zFormat = ts + 25733
 		}
 		zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix))
 		if zSql != 0 {
@@ -122264,7 +122322,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FnAux != 0 {
 		(*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls,
-			ts+25794,
+			ts+25841,
 			libc.VaList(bp+96, zDb, zPrefix))
 		if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -122272,18 +122330,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 			var p uintptr = Xsqlite3_str_new(tls, db)
 			var ii int32
 			var zSql uintptr
-			Xsqlite3_str_appendf(tls, p, ts+25839, libc.VaList(bp+112, zDb, zPrefix))
+			Xsqlite3_str_appendf(tls, p, ts+25886, libc.VaList(bp+112, zDb, zPrefix))
 			for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
 				if ii != 0 {
 					Xsqlite3_str_append(tls, p, ts+12751, 1)
 				}
 				if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) {
-					Xsqlite3_str_appendf(tls, p, ts+25866, libc.VaList(bp+128, ii, ii+2, ii))
+					Xsqlite3_str_appendf(tls, p, ts+25913, libc.VaList(bp+128, ii, ii+2, ii))
 				} else {
-					Xsqlite3_str_appendf(tls, p, ts+25888, libc.VaList(bp+152, ii, ii+2))
+					Xsqlite3_str_appendf(tls, p, ts+25935, libc.VaList(bp+152, ii, ii+2))
 				}
 			}
-			Xsqlite3_str_appendf(tls, p, ts+25896, 0)
+			Xsqlite3_str_appendf(tls, p, ts+25943, 0)
 			zSql = Xsqlite3_str_finish(tls, p)
 			if zSql == uintptr(0) {
 				rc = SQLITE_NOMEM
@@ -122298,14 +122356,14 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 }
 
 var azSql = [8]uintptr{
-	ts + 25912,
-	ts + 25965,
-	ts + 26010,
-	ts + 26062,
-	ts + 26116,
-	ts + 26161,
-	ts + 26219,
-	ts + 26274,
+	ts + 25959,
+	ts + 26012,
+	ts + 26057,
+	ts + 26109,
+	ts + 26163,
+	ts + 26208,
+	ts + 26266,
+	ts + 26321,
 }
 
 func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 {
@@ -122334,7 +122392,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 	var zSql uintptr
 	if isCreate != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = 0
-		zSql = Xsqlite3_mprintf(tls, ts+26321, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
+		zSql = Xsqlite3_mprintf(tls, ts+26368, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
 		rc = getIntFromStmt(tls, db, zSql, bp+48)
 		if rc == SQLITE_OK {
 			(*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp + 48)) - 64
@@ -122346,7 +122404,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		}
 	} else {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+26341,
+			ts+26388,
 			libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		rc = getIntFromStmt(tls, db, zSql, pRtree+32)
 		if rc != SQLITE_OK {
@@ -122354,7 +122412,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		} else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < 512-64 {
 			rc = SQLITE_CORRUPT | int32(1)<<8
 
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26398,
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26445,
 				libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		}
 	}
@@ -122396,10 +122454,10 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr
 	ii = 4
 	*(*[5]uintptr)(unsafe.Pointer(bp + 96)) = [5]uintptr{
 		uintptr(0),
-		ts + 26433,
-		ts + 26476,
-		ts + 26511,
-		ts + 26547,
+		ts + 26480,
+		ts + 26523,
+		ts + 26558,
+		ts + 26594,
 	}
 
 	if !(argc < 6 || argc > RTREE_MAX_AUX_COLUMN+3) {
@@ -122430,7 +122488,7 @@ __2:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+26584,
+	Xsqlite3_str_appendf(tls, pSql, ts+26631,
 		libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8))))
 	ii = 4
 __3:
@@ -122442,7 +122500,7 @@ __3:
 		goto __6
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+26608, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
+	Xsqlite3_str_appendf(tls, pSql, ts+26655, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
 	goto __7
 __6:
 	if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) {
@@ -122465,7 +122523,7 @@ __4:
 	goto __5
 __5:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26614, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26661, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __10
@@ -122561,7 +122619,7 @@ __25:
 	return rc
 }
 
-var azFormat = [2]uintptr{ts + 26617, ts + 26628}
+var azFormat = [2]uintptr{ts + 26664, ts + 26675}
 
 func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	bp := tls.Alloc(1072)
@@ -122601,11 +122659,11 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 		if ii > 0 {
 			Xsqlite3_str_append(tls, pOut, ts+10904, 1)
 		}
-		Xsqlite3_str_appendf(tls, pOut, ts+26638, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
+		Xsqlite3_str_appendf(tls, pOut, ts+26685, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
 		for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+56)).FnDim2); jj++ {
-			Xsqlite3_str_appendf(tls, pOut, ts+26644, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
+			Xsqlite3_str_appendf(tls, pOut, ts+26691, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
 		}
-		Xsqlite3_str_append(tls, pOut, ts+26648, 1)
+		Xsqlite3_str_append(tls, pOut, ts+26695, 1)
 	}
 	errCode = Xsqlite3_str_errcode(tls, pOut)
 	Xsqlite3_result_text(tls, ctx, Xsqlite3_str_finish(tls, pOut), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
@@ -122616,7 +122674,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	_ = nArg
 	if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB ||
 		Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 {
-		Xsqlite3_result_error(tls, ctx, ts+26650, -1)
+		Xsqlite3_result_error(tls, ctx, ts+26697, -1)
 	} else {
 		var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 		if zBlob != 0 {
@@ -122694,7 +122752,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr
 		if z == uintptr(0) {
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM
 		} else {
-			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26683,
+			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26730,
 				libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr {
 					if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 {
 						return ts + 4046
@@ -122718,7 +122776,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) {
 		(*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = rtreeCheckPrepare(tls, pCheck,
-			ts+26690,
+			ts+26737,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab))
 	}
 
@@ -122737,7 +122795,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 		}
 		rtreeCheckReset(tls, pCheck, (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode)
 		if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) {
-			rtreeCheckAppendMsg(tls, pCheck, ts+26735, libc.VaList(bp+16, iNode))
+			rtreeCheckAppendMsg(tls, pCheck, ts+26782, libc.VaList(bp+16, iNode))
 		}
 	}
 
@@ -122751,8 +122809,8 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	var rc int32
 	var pStmt uintptr
 	*(*[2]uintptr)(unsafe.Pointer(bp + 80)) = [2]uintptr{
-		ts + 26767,
-		ts + 26821,
+		ts + 26814,
+		ts + 26868,
 	}
 
 	if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) {
@@ -122767,23 +122825,23 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	Xsqlite3_bind_int64(tls, pStmt, 1, iKey)
 	rc = Xsqlite3_step(tls, pStmt)
 	if rc == SQLITE_DONE {
-		rtreeCheckAppendMsg(tls, pCheck, ts+26869,
+		rtreeCheckAppendMsg(tls, pCheck, ts+26916,
 			libc.VaList(bp+16, iKey, iVal, func() uintptr {
 				if bLeaf != 0 {
-					return ts + 26914
+					return ts + 26961
 				}
-				return ts + 26922
+				return ts + 26969
 			}()))
 	} else if rc == SQLITE_ROW {
 		var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0)
 		if ii != iVal {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+26931,
+				ts+26978,
 				libc.VaList(bp+40, iKey, ii, func() uintptr {
 					if bLeaf != 0 {
-						return ts + 26914
+						return ts + 26961
 					}
-					return ts + 26922
+					return ts + 26969
 				}(), iKey, iVal))
 		}
 	}
@@ -122807,7 +122865,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 			return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48)) > *(*RtreeValue)(unsafe.Pointer(bp + 52)))
 		}() != 0 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+26989, libc.VaList(bp, i, iCell, iNode))
+				ts+27036, libc.VaList(bp, i, iCell, iNode))
 		}
 
 		if pParent != 0 {
@@ -122827,7 +122885,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 					return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52)) > *(*RtreeValue)(unsafe.Pointer(bp + 60)))
 				}() != 0 {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27037, libc.VaList(bp+24, i, iCell, iNode))
+					ts+27084, libc.VaList(bp+24, i, iCell, iNode))
 			}
 		}
 	}
@@ -122844,14 +122902,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 	if aNode != 0 {
 		if *(*int32)(unsafe.Pointer(bp + 48)) < 4 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27104, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
+				ts+27151, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
 		} else {
 			var nCell int32
 			var i int32
 			if aParent == uintptr(0) {
 				iDepth = readInt16(tls, aNode)
 				if iDepth > RTREE_MAX_DEPTH {
-					rtreeCheckAppendMsg(tls, pCheck, ts+27138, libc.VaList(bp+16, iDepth))
+					rtreeCheckAppendMsg(tls, pCheck, ts+27185, libc.VaList(bp+16, iDepth))
 					Xsqlite3_free(tls, aNode)
 					return
 				}
@@ -122859,7 +122917,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 			nCell = readInt16(tls, aNode+2)
 			if 4+nCell*(8+(*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim*2*4) > *(*int32)(unsafe.Pointer(bp + 48)) {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27168,
+					ts+27215,
 					libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48))))
 			} else {
 				for i = 0; i < nCell; i++ {
@@ -122888,14 +122946,14 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) {
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK {
 		var pCount uintptr
-		pCount = rtreeCheckPrepare(tls, pCheck, ts+27223,
+		pCount = rtreeCheckPrepare(tls, pCheck, ts+27270,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl))
 		if pCount != 0 {
 			if Xsqlite3_step(tls, pCount) == SQLITE_ROW {
 				var nActual I64 = Xsqlite3_column_int64(tls, pCount, 0)
 				if nActual != nExpect {
 					rtreeCheckAppendMsg(tls, pCheck,
-						ts+27254, libc.VaList(bp+24, zTbl, nExpect, nActual))
+						ts+27301, libc.VaList(bp+24, zTbl, nExpect, nActual))
 				}
 			}
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount)
@@ -122922,7 +122980,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	}
 
 	if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
-		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27321, libc.VaList(bp, zDb, zTab))
+		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27368, libc.VaList(bp, zDb, zTab))
 		if pStmt != 0 {
 			nAux = Xsqlite3_column_count(tls, pStmt) - 2
 			Xsqlite3_finalize(tls, pStmt)
@@ -122931,12 +122989,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		}
 	}
 
-	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25141, libc.VaList(bp+16, zDb, zTab))
+	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25188, libc.VaList(bp+16, zDb, zTab))
 	if pStmt != 0 {
 		var rc int32
 		(*RtreeCheck)(unsafe.Pointer(bp + 32)).FnDim = (Xsqlite3_column_count(tls, pStmt) - 1 - nAux) / 2
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).FnDim < 1 {
-			rtreeCheckAppendMsg(tls, bp+32, ts+27349, 0)
+			rtreeCheckAppendMsg(tls, bp+32, ts+27396, 0)
 		} else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).FbInt = libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)
 		}
@@ -122950,8 +123008,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			rtreeCheckNode(tls, bp+32, 0, uintptr(0), int64(1))
 		}
-		rtreeCheckCount(tls, bp+32, ts+27380, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
-		rtreeCheckCount(tls, bp+32, ts+27387, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27427, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27434, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
 	}
 
 	Xsqlite3_finalize(tls, (*RtreeCheck)(unsafe.Pointer(bp+32)).FpGetNode)
@@ -122959,7 +123017,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 + 40 + 1*8)))
 
 	if bEnd != 0 {
-		var rc int32 = Xsqlite3_exec(tls, db, ts+27395, uintptr(0), uintptr(0), uintptr(0))
+		var rc int32 = Xsqlite3_exec(tls, db, ts+27442, uintptr(0), uintptr(0), uintptr(0))
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).Frc = rc
 		}
@@ -122974,7 +123032,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 
 	if nArg != 1 && nArg != 2 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+27399, -1)
+			ts+27446, -1)
 	} else {
 		var rc int32
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
@@ -122992,7 +123050,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 				if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
 					return *(*uintptr)(unsafe.Pointer(bp))
 				}
-				return ts + 17996
+				return ts + 18043
 			}(), -1, libc.UintptrFromInt32(-1))
 		} else {
 			Xsqlite3_result_error_code(tls, ctx, rc)
@@ -123363,11 +123421,11 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var db uintptr = Xsqlite3_context_db_handle(tls, context)
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
-		Xsqlite3_str_append(tls, x, ts+27450, 1)
+		Xsqlite3_str_append(tls, x, ts+27497, 1)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27452, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27499, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27463, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27510, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -123387,19 +123445,19 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
 		var cSep int8 = int8('\'')
-		Xsqlite3_str_appendf(tls, x, ts+27474, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27521, 0)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27492, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27539, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 			cSep = int8(' ')
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27500, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27547, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		for i = 1; i < argc; i++ {
 			var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 			if z != 0 && *(*int8)(unsafe.Pointer(z)) != 0 {
-				Xsqlite3_str_appendf(tls, x, ts+27508, libc.VaList(bp+40, z))
+				Xsqlite3_str_appendf(tls, x, ts+27555, libc.VaList(bp+40, z))
 			}
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27512, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27559, 0)
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -124319,7 +124377,7 @@ __1:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+27525, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+27572, 0)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1)
 	ii = 3
@@ -124328,7 +124386,7 @@ __2:
 		goto __4
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+27547, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
+	Xsqlite3_str_appendf(tls, pSql, ts+27594, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
 	goto __3
 __3:
 	ii++
@@ -124336,7 +124394,7 @@ __3:
 	goto __4
 __4:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26614, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26661, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __5
@@ -124573,7 +124631,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 	}
 	if iFuncTerm >= 0 {
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum
-		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27551
+		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27598
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).FargvIndex = 1
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).Fomit = uint8(0)
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 300.0
@@ -124581,7 +124639,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 		return SQLITE_OK
 	}
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4
-	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27557
+	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27604
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000)
 	return SQLITE_OK
@@ -124693,7 +124751,7 @@ __1:
 	if !(*(*int32)(unsafe.Pointer(bp + 48)) == SQLITE_ERROR) {
 		goto __4
 	}
-	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27566, 0)
+	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27613, 0)
 __4:
 	;
 	goto geopoly_update_end
@@ -124825,14 +124883,14 @@ geopoly_update_end:
 func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 {
 	_ = pVtab
 	_ = nArg
-	if Xsqlite3_stricmp(tls, zName, ts+27606) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27653) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyOverlapFunc}))
 		*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
 		return SQLITE_INDEX_CONSTRAINT_FUNCTION
 	}
-	if Xsqlite3_stricmp(tls, zName, ts+27622) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27669) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyWithinFunc}))
@@ -124897,7 +124955,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 {
 			uintptr(0), aAgg[i].FxStep, aAgg[i].FxFinal)
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27637, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27684, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
 	}
 	return rc
 }
@@ -124909,25 +124967,25 @@ var aFunc = [12]struct {
 	F__ccgo_pad1 [6]byte
 	FzName       uintptr
 }{
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27645},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27658},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27671},
-	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27684},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27622},
-	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27696},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27606},
-	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27719},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27733},
-	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27746},
-	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27760},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27776},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27692},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27705},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27718},
+	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27731},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27669},
+	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27743},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27653},
+	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27766},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27780},
+	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27793},
+	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27807},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27823},
 }
 var aAgg = [1]struct {
 	FxStep  uintptr
 	FxFinal uintptr
 	FzName  uintptr
 }{
-	{FxStep: 0, FxFinal: 0, FzName: ts + 27788},
+	{FxStep: 0, FxFinal: 0, FzName: ts + 27835},
 }
 
 // Register the r-tree module with database handle db. This creates the
@@ -124937,26 +124995,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 {
 	var utf8 int32 = SQLITE_UTF8
 	var rc int32
 
-	rc = Xsqlite3_create_function(tls, db, ts+27807, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	rc = Xsqlite3_create_function(tls, db, ts+27854, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr)
 	}{rtreenode})), uintptr(0), uintptr(0))
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27817, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27864, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreedepth})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27828, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27875, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreecheck})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_REAL32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27551, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27598, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_INT32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27839, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27886, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		rc = sqlite3_geopoly_init(tls, db)
@@ -125010,7 +125068,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
 			Xsqlite3_result_error_nomem(tls, ctx)
 			rtreeMatchArgFree(tls, pBlob)
 		} else {
-			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25127, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
+			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25174, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
 		}
 	}
 }
@@ -125337,7 +125395,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 
 	nOut = rbuDeltaOutputSize(tls, aDelta, nDelta)
 	if nOut < 0 {
-		Xsqlite3_result_error(tls, context, ts+27849, -1)
+		Xsqlite3_result_error(tls, context, ts+27896, -1)
 		return
 	}
 
@@ -125348,7 +125406,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 		nOut2 = rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut)
 		if nOut2 != nOut {
 			Xsqlite3_free(tls, aOut)
-			Xsqlite3_result_error(tls, context, ts+27849, -1)
+			Xsqlite3_result_error(tls, context, ts+27896, -1)
 		} else {
 			Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		}
@@ -125449,7 +125507,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuObjIterClearStatements(tls, pIter)
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) {
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+27870, uintptr(0), uintptr(0), p+64)
+				ts+27917, uintptr(0), uintptr(0), p+64)
 		}
 
 		if rc == SQLITE_OK {
@@ -125513,7 +125571,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) {
 				Xsqlite3_result_text(tls, pCtx, zIn, -1, uintptr(0))
 			}
 		} else {
-			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25040, zIn, uint64(4)) == 0 {
+			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25087, zIn, uint64(4)) == 0 {
 				var i int32
 				for i = 4; int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) >= '0' && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) <= '9'; i++ {
 				}
@@ -125534,16 +125592,16 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 
 	rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28041, libc.VaList(bp, func() uintptr {
+			ts+28088, libc.VaList(bp, func() uintptr {
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					return ts + 28191
+					return ts + 28238
 				}
 				return ts + 1538
 			}())))
 
 	if rc == SQLITE_OK {
 		rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64,
-			ts+28232)
+			ts+28279)
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1
@@ -125659,7 +125717,7 @@ func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28357, libc.VaList(bp, zTab)))
+			ts+28404, libc.VaList(bp, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) != SQLITE_ROW) {
 		goto __1
 	}
@@ -125677,7 +125735,7 @@ __2:
 	*(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), 1)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+1*8, p+64,
-		Xsqlite3_mprintf(tls, ts+28476, libc.VaList(bp+8, zTab)))
+		Xsqlite3_mprintf(tls, ts+28523, libc.VaList(bp+8, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) {
 		goto __3
 	}
@@ -125695,7 +125753,7 @@ __4:
 	}
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+2*8, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28497, libc.VaList(bp+16, zIdx)))
+			ts+28544, libc.VaList(bp+16, zIdx)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __7
 	}
@@ -125718,7 +125776,7 @@ __6:
 __5:
 	;
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+3*8, p+64,
-		Xsqlite3_mprintf(tls, ts+28548, libc.VaList(bp+24, zTab)))
+		Xsqlite3_mprintf(tls, ts+28595, libc.VaList(bp+24, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __10
 	}
@@ -125764,7 +125822,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		libc.Xmemcpy(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+16, p+64,
-			Xsqlite3_mprintf(tls, ts+28569, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28616, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0
@@ -125779,7 +125837,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 			libc.Xmemset(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0x01, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		}
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+28597, libc.VaList(bp+8, zIdx)))
+			Xsqlite3_mprintf(tls, ts+28644, libc.VaList(bp+8, zIdx)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
 			var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 1)
 			if iCid >= 0 {
@@ -125819,7 +125877,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+56, pIter+108)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19473, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19520, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
 			return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc
@@ -125829,18 +125887,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		}
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+64, p+64,
-			Xsqlite3_mprintf(tls, ts+28626, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
+			Xsqlite3_mprintf(tls, ts+28673, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 			rbuAllocateIterArrays(tls, p, pIter, nCol)
 		}
 		for i = 0; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && i < nCol; i++ {
 			var zName uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), i)
-			if Xsqlite3_strnicmp(tls, ts+28645, zName, 4) != 0 {
+			if Xsqlite3_strnicmp(tls, ts+28692, zName, 4) != 0 {
 				var zCopy uintptr = rbuStrndup(tls, zName, p+56)
 				*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol
 				*(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(libc.PostIncInt32(&(*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol, 1))*8)) = zCopy
-			} else if 0 == Xsqlite3_stricmp(tls, ts+28650, zName) {
+			} else if 0 == Xsqlite3_stricmp(tls, ts+28697, zName) {
 				bRbuRowid = 1
 			}
 		}
@@ -125852,18 +125910,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			bRbuRowid != libc.Bool32((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls,
-				ts+28660, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
+				ts+28707, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 					func() uintptr {
 						if bRbuRowid != 0 {
-							return ts + 28689
+							return ts + 28736
 						}
-						return ts + 28702
+						return ts + 28749
 					}()))
 		}
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-				Xsqlite3_mprintf(tls, ts+28711, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				Xsqlite3_mprintf(tls, ts+28758, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		}
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64))) {
 			var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 1)
@@ -125877,7 +125935,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			}
 			if i == (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28733,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28780,
 					libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName))
 			} else {
 				var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 5)
@@ -125924,7 +125982,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var i int32
 	for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 		var z uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-		zList = rbuMPrintf(tls, p, ts+28760, libc.VaList(bp, zList, zSep, z))
+		zList = rbuMPrintf(tls, p, ts+28807, libc.VaList(bp, zList, zSep, z))
 		zSep = ts + 14598
 	}
 	return zList
@@ -125942,7 +126000,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr,
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if int32(*(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zRet = rbuMPrintf(tls, p, ts+28769, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
+				zRet = rbuMPrintf(tls, p, ts+28816, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
 				zSep = zSeparator
 				break
 			}
@@ -125964,25 +126022,25 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32,
 	if bRowid != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+28782, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				ts+28829, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 			var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-			zRet = rbuMPrintf(tls, p, ts+28814, libc.VaList(bp+16, iMax))
+			zRet = rbuMPrintf(tls, p, ts+28861, libc.VaList(bp+16, iMax))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 	} else {
-		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1538, ts+14598, ts+28837)
-		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28843, ts+28850, ts+4941)
+		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1538, ts+14598, ts+28884)
+		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28890, ts+28897, ts+4941)
 		var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1538, ts+14598, ts+1538)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 				Xsqlite3_mprintf(tls,
-					ts+28858,
+					ts+28905,
 					libc.VaList(bp+24, zSelect, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 				var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-				zRet = rbuMPrintf(tls, p, ts+28900, libc.VaList(bp+56, zList, zVal))
+				zRet = rbuMPrintf(tls, p, ts+28947, libc.VaList(bp+56, zList, zVal))
 			}
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 		}
@@ -126024,7 +126082,7 @@ func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	*(*uintptr)(unsafe.Pointer(bp + 176)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-		Xsqlite3_mprintf(tls, ts+28597, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+		Xsqlite3_mprintf(tls, ts+28644, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 __1:
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176)))) {
 		goto __2
@@ -126059,7 +126117,7 @@ __10:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 	goto __7
 __6:
-	zCol = ts + 28920
+	zCol = ts + 28967
 __7:
 	;
 	goto __5
@@ -126067,11 +126125,11 @@ __4:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 __5:
 	;
-	zLhs = rbuMPrintf(tls, p, ts+28928,
+	zLhs = rbuMPrintf(tls, p, ts+28975,
 		libc.VaList(bp+8, zLhs, zSep, zCol, zCollate))
-	zOrder = rbuMPrintf(tls, p, ts+28949,
+	zOrder = rbuMPrintf(tls, p, ts+28996,
 		libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate))
-	zSelect = rbuMPrintf(tls, p, ts+28985,
+	zSelect = rbuMPrintf(tls, p, ts+29032,
 		libc.VaList(bp+80, zSelect, zSep, iCol, zCol))
 	zSep = ts + 14598
 	iCol++
@@ -126091,7 +126149,7 @@ __11:
 	*(*uintptr)(unsafe.Pointer(bp + 184)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+184, p+64,
-		Xsqlite3_mprintf(tls, ts+29012,
+		Xsqlite3_mprintf(tls, ts+29059,
 			libc.VaList(bp+112, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 184)))) {
 		goto __13
@@ -126118,7 +126176,7 @@ __19:
 	;
 __18:
 	;
-	zVector = rbuMPrintf(tls, p, ts+29060, libc.VaList(bp+136, zVector, zSep, zQuoted))
+	zVector = rbuMPrintf(tls, p, ts+29107, libc.VaList(bp+136, zVector, zSep, zQuoted))
 	zSep = ts + 14598
 	goto __15
 __15:
@@ -126130,7 +126188,7 @@ __16:
 	if !!(bFailed != 0) {
 		goto __20
 	}
-	zRet = rbuMPrintf(tls, p, ts+29067, libc.VaList(bp+160, zLhs, zVector))
+	zRet = rbuMPrintf(tls, p, ts+29114, libc.VaList(bp+160, zLhs, zVector))
 __20:
 	;
 __13:
@@ -126163,7 +126221,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 	if rc == SQLITE_OK {
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200, p+64,
-			Xsqlite3_mprintf(tls, ts+28597, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+			Xsqlite3_mprintf(tls, ts+28644, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 	}
 
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200))) {
@@ -126175,7 +126233,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 		if iCid == -2 {
 			var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 0)
-			zRet = Xsqlite3_mprintf(tls, ts+29079, libc.VaList(bp+8, zRet, zCom,
+			zRet = Xsqlite3_mprintf(tls, ts+29126, libc.VaList(bp+8, zRet, zCom,
 				(*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FnSpan, (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FzSpan, zCollate))
 			zType = ts + 1538
 		} else {
@@ -126187,37 +126245,37 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 					zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 				} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					zCol = ts + 28920
+					zCol = ts + 28967
 				} else {
-					zCol = ts + 28650
+					zCol = ts + 28697
 				}
 				zType = ts + 1103
 			} else {
 				zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 				zType = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8))
 			}
-			zRet = Xsqlite3_mprintf(tls, ts+29101, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
+			zRet = Xsqlite3_mprintf(tls, ts+29148, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 5) != 0 {
 			var zOrder uintptr = func() uintptr {
 				if bDesc != 0 {
-					return ts + 28837
+					return ts + 28884
 				}
 				return ts + 1538
 			}()
-			zImpPK = Xsqlite3_mprintf(tls, ts+29121,
+			zImpPK = Xsqlite3_mprintf(tls, ts+29168,
 				libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder))
 		}
-		zImpCols = Xsqlite3_mprintf(tls, ts+29142,
+		zImpCols = Xsqlite3_mprintf(tls, ts+29189,
 			libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate))
 		zWhere = Xsqlite3_mprintf(tls,
-			ts+29175, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
+			ts+29222, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
 		if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) {
 			rc = SQLITE_NOMEM
 		}
 		zCom = ts + 14598
-		zAnd = ts + 21509
+		zAnd = ts + 21556
 		nBind++
 	}
 
@@ -126256,9 +126314,9 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = Xsqlite3_mprintf(tls, ts+29199, libc.VaList(bp, zList, zS, zObj, zCol))
+				zList = Xsqlite3_mprintf(tls, ts+29246, libc.VaList(bp, zList, zS, zObj, zCol))
 			} else {
-				zList = Xsqlite3_mprintf(tls, ts+29211, libc.VaList(bp+32, zList, zS))
+				zList = Xsqlite3_mprintf(tls, ts+29258, libc.VaList(bp+32, zList, zS))
 			}
 			zS = ts + 14598
 			if zList == uintptr(0) {
@@ -126268,7 +126326,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-			zList = rbuMPrintf(tls, p, ts+29220, libc.VaList(bp+48, zList, zObj))
+			zList = rbuMPrintf(tls, p, ts+29267, libc.VaList(bp+48, zList, zObj))
 		}
 	}
 	return zList
@@ -126280,18 +126338,18 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	var zList uintptr = uintptr(0)
 	if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-		zList = rbuMPrintf(tls, p, ts+29235, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
+		zList = rbuMPrintf(tls, p, ts+29282, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
 	} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
 		var zSep uintptr = ts + 1538
 		var i int32
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
-				zList = rbuMPrintf(tls, p, ts+29249, libc.VaList(bp+8, zList, zSep, i, i+1))
-				zSep = ts + 21509
+				zList = rbuMPrintf(tls, p, ts+29296, libc.VaList(bp+8, zList, zSep, i, i+1))
+				zSep = ts + 21556
 			}
 		}
 		zList = rbuMPrintf(tls, p,
-			ts+29261, libc.VaList(bp+40, zList))
+			ts+29308, libc.VaList(bp+40, zList))
 
 	} else {
 		var zSep uintptr = ts + 1538
@@ -126299,8 +126357,8 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = rbuMPrintf(tls, p, ts+29311, libc.VaList(bp+48, zList, zSep, zCol, i+1))
-				zSep = ts + 21509
+				zList = rbuMPrintf(tls, p, ts+29358, libc.VaList(bp+48, zList, zSep, zCol, i+1))
+				zSep = ts + 21556
 			}
 		}
 	}
@@ -126309,7 +126367,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 func rbuBadControlError(tls *libc.TLS, p uintptr) {
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29324, 0)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29371, 0)
 }
 
 func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr {
@@ -126327,15 +126385,15 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr
 			for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 				var c int8 = *(*int8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4)))))
 				if int32(c) == 'x' {
-					zList = rbuMPrintf(tls, p, ts+29311,
+					zList = rbuMPrintf(tls, p, ts+29358,
 						libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14598
 				} else if int32(c) == 'd' {
-					zList = rbuMPrintf(tls, p, ts+29350,
+					zList = rbuMPrintf(tls, p, ts+29397,
 						libc.VaList(bp+32, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14598
 				} else if int32(c) == 'f' {
-					zList = rbuMPrintf(tls, p, ts+29380,
+					zList = rbuMPrintf(tls, p, ts+29427,
 						libc.VaList(bp+72, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14598
 				}
@@ -126372,19 +126430,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var z uintptr = uintptr(0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		var zSep uintptr = ts + 29417
+		var zSep uintptr = ts + 29464
 		*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 		*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56, p+64,
-			Xsqlite3_mprintf(tls, ts+28569, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28616, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) {
 			var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 3)
 			if zOrig != 0 && libc.Xstrcmp(tls, zOrig, ts+16139) == 0 {
 				var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 1)
 				if zIdx != 0 {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-						Xsqlite3_mprintf(tls, ts+28597, libc.VaList(bp+8, zIdx)))
+						Xsqlite3_mprintf(tls, ts+28644, libc.VaList(bp+8, zIdx)))
 				}
 				break
 			}
@@ -126396,15 +126454,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 				var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 2)
 				var zDesc uintptr
 				if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 3) != 0 {
-					zDesc = ts + 28837
+					zDesc = ts + 28884
 				} else {
 					zDesc = ts + 1538
 				}
-				z = rbuMPrintf(tls, p, ts+29430, libc.VaList(bp+16, z, zSep, zCol, zDesc))
+				z = rbuMPrintf(tls, p, ts+29477, libc.VaList(bp+16, z, zSep, zCol, zDesc))
 				zSep = ts + 14598
 			}
 		}
-		z = rbuMPrintf(tls, p, ts+29441, libc.VaList(bp+48, z))
+		z = rbuMPrintf(tls, p, ts+29488, libc.VaList(bp+48, z))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
 	return z
@@ -126424,7 +126482,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		var zPk uintptr = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168, p+64,
-			ts+29445)
+			ts+29492)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168)), 1, tnum)
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168))) {
@@ -126433,7 +126491,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		}
 		if zIdx != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-				Xsqlite3_mprintf(tls, ts+28597, libc.VaList(bp, zIdx)))
+				Xsqlite3_mprintf(tls, ts+28644, libc.VaList(bp, zIdx)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168)))
 
@@ -126443,23 +126501,23 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 				var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 1)
 				var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 3)
 				var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 4)
-				zCols = rbuMPrintf(tls, p, ts+29495, libc.VaList(bp+8, zCols, zComma,
+				zCols = rbuMPrintf(tls, p, ts+29542, libc.VaList(bp+8, zCols, zComma,
 					iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate))
-				zPk = rbuMPrintf(tls, p, ts+29517, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
+				zPk = rbuMPrintf(tls, p, ts+29564, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
 					if bDesc != 0 {
-						return ts + 28837
+						return ts + 28884
 					}
 					return ts + 1538
 				}()))
 				zComma = ts + 14598
 			}
 		}
-		zCols = rbuMPrintf(tls, p, ts+29527, libc.VaList(bp+80, zCols))
+		zCols = rbuMPrintf(tls, p, ts+29574, libc.VaList(bp+80, zCols))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176)))
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6425, 1, tnum))
 		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+29542,
+			ts+29589,
 			libc.VaList(bp+120, zCols, zPk))
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6425, 0, 0))
 	}
@@ -126485,13 +126543,13 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6425, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192, uintptr(0), uintptr(0), uintptr(0))
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 {
-				zPk = ts + 29604
+				zPk = ts + 29651
 			}
-			zSql = rbuMPrintf(tls, p, ts+29617,
+			zSql = rbuMPrintf(tls, p, ts+29664,
 				libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192)),
 					func() uintptr {
 						if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 {
-							return ts + 29644
+							return ts + 29691
 						}
 						return ts + 1538
 					}()))
@@ -126501,16 +126559,16 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
 			var zPk uintptr = rbuWithoutRowidPK(tls, p, pIter)
 			if zPk != 0 {
-				zSql = rbuMPrintf(tls, p, ts+29654, libc.VaList(bp+88, zSql, zPk))
+				zSql = rbuMPrintf(tls, p, ts+29701, libc.VaList(bp+88, zSql, zPk))
 			}
 		}
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6425, 1, tnum))
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29661,
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29708,
 			libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql,
 				func() uintptr {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
-						return ts + 29693
+						return ts + 29740
 					}
 					return ts + 1538
 				}()))
@@ -126527,7 +126585,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis
 	if zBind != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls,
-				ts+29708,
+				ts+29755,
 				libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind)))
 	}
 }
@@ -126564,7 +126622,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(bp + 8)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64,
-			ts+29765)
+			ts+29812)
 	}
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		var rc2 int32
@@ -126669,7 +126727,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 		var zLimit uintptr = uintptr(0)
 
 		if nOffset != 0 {
-			zLimit = Xsqlite3_mprintf(tls, ts+29831, libc.VaList(bp, nOffset))
+			zLimit = Xsqlite3_mprintf(tls, ts+29878, libc.VaList(bp, nOffset))
 			if !(zLimit != 0) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
 			}
@@ -126692,7 +126750,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6425, 0, 1))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6425, 1, tnum))
 			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+29851,
+				ts+29898,
 				libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600)), *(*uintptr)(unsafe.Pointer(bp + 608))))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6425, 0, 0))
 
@@ -126700,13 +126758,13 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64,
-					Xsqlite3_mprintf(tls, ts+29916, libc.VaList(bp+128, zTbl, zBind)))
+					Xsqlite3_mprintf(tls, ts+29963, libc.VaList(bp+128, zTbl, zBind)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64,
-					Xsqlite3_mprintf(tls, ts+29952, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
+					Xsqlite3_mprintf(tls, ts+29999, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
 			}
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -126722,7 +126780,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					}
 
 					zSql = Xsqlite3_mprintf(tls,
-						ts+29986,
+						ts+30033,
 						libc.VaList(bp+160, zCollist,
 							(*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
@@ -126730,9 +126788,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								if zStart != 0 {
 									return func() uintptr {
 										if zPart != 0 {
-											return ts + 30047
+											return ts + 30094
 										}
-										return ts + 30051
+										return ts + 30098
 									}()
 								}
 								return ts + 1538
@@ -126741,20 +126799,20 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					Xsqlite3_free(tls, zStart)
 				} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30057,
+						ts+30104,
 						libc.VaList(bp+216, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart, zCollist, zLimit))
 				} else {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30118,
+						ts+30165,
 						libc.VaList(bp+264, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart,
 							zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
 							func() uintptr {
 								if zPart != 0 {
-									return ts + 30047
+									return ts + 30094
 								}
-								return ts + 30051
+								return ts + 30098
 							}(),
 							zCollist, zLimit))
 				}
@@ -126791,16 +126849,16 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB {
 					return ts + 1538
 				}
-				return ts + 30277
+				return ts + 30324
 			}()
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30286,
+						ts+30333,
 						libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr {
 							if bRbuRowid != 0 {
-								return ts + 30322
+								return ts + 30369
 							}
 							return ts + 1538
 						}(), zBindings)))
@@ -126809,32 +126867,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30332, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
+						ts+30379, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 				var zRbuRowid uintptr = ts + 1538
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-					zRbuRowid = ts + 30360
+					zRbuRowid = ts + 30407
 				}
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-					ts+30372, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
+					ts+30419, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
 						if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
-							return ts + 30448
+							return ts + 30495
 						}
 						return ts + 1538
 					}(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-					ts+30465,
+					ts+30512,
 					libc.VaList(bp+440, zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zNewlist))
 
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-						ts+30764,
+						ts+30811,
 						libc.VaList(bp+512, zWrite, zTbl, zNewlist))
 				}
 
@@ -126847,9 +126905,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				var zOrder uintptr = uintptr(0)
 				if bRbuRowid != 0 {
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-						zRbuRowid = ts + 30863
+						zRbuRowid = ts + 30910
 					} else {
-						zRbuRowid = ts + 30873
+						zRbuRowid = ts + 30920
 					}
 				}
 
@@ -126862,7 +126920,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 						}
 					}
 					if bRbuRowid != 0 {
-						zOrder = rbuMPrintf(tls, p, ts+28920, 0)
+						zOrder = rbuMPrintf(tls, p, ts+28967, 0)
 					} else {
 						zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+1538, ts+14598, ts+1538)
 					}
@@ -126871,11 +126929,11 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz,
 						Xsqlite3_mprintf(tls,
-							ts+30884,
+							ts+30931,
 							libc.VaList(bp+536, zCollist,
 								func() uintptr {
 									if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-										return ts + 30932
+										return ts + 30979
 									}
 									return ts + 1538
 								}(),
@@ -126888,7 +126946,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								}(),
 								func() uintptr {
 									if zOrder != 0 {
-										return ts + 22843
+										return ts + 22890
 									}
 									return ts + 1538
 								}(), zOrder,
@@ -126956,9 +127014,9 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp
 			var zPrefix uintptr = ts + 1538
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB {
-				zPrefix = ts + 30277
+				zPrefix = ts + 30324
 			}
-			zUpdate = Xsqlite3_mprintf(tls, ts+30938,
+			zUpdate = Xsqlite3_mprintf(tls, ts+30985,
 				libc.VaList(bp, zPrefix, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere))
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate)
@@ -127017,7 +127075,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr {
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 16)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8, p+64,
-		Xsqlite3_mprintf(tls, ts+30968, libc.VaList(bp, p+48)))
+		Xsqlite3_mprintf(tls, ts+31015, libc.VaList(bp, p+48)))
 	for *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 		switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0) {
 		case RBU_STATE_STAGE:
@@ -127090,18 +127148,18 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6425, SQLITE_FCNTL_RBUCNT, p)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) {
 			var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6425)
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+30998, libc.VaList(bp, zFile, zFile))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31045, libc.VaList(bp, zFile, zFile))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 {
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31026, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31073, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
 		libc.Xmemcpy(tls, p+48, ts+3270, uint64(4))
 	} else {
 		libc.Xmemcpy(tls, p+48, ts+6425, uint64(4))
 	}
 
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31044, libc.VaList(bp+24, p+48))
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31091, libc.VaList(bp+24, p+48))
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		var bOpen int32 = 0
@@ -127141,11 +127199,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				return
 			}
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31110, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31157, 0)
 		} else {
 			var zTarget uintptr
 			var zExtra uintptr = uintptr(0)
-			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24190, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
+			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24237, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
 				zExtra = (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5
 				for *(*int8)(unsafe.Pointer(zExtra)) != 0 {
 					if int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zExtra, 1)))) == '?' {
@@ -127157,13 +127215,13 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				}
 			}
 
-			zTarget = Xsqlite3_mprintf(tls, ts+31142,
+			zTarget = Xsqlite3_mprintf(tls, ts+31189,
 				libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6425),
 					func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1538
 						}
-						return ts + 31174
+						return ts + 31221
 					}(), func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1538
@@ -127182,21 +127240,21 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31176, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31223, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTmpInsertFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31191, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31238, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuFossilDeltaFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+31208, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31255, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTargetNameFunc})), uintptr(0), uintptr(0))
 	}
@@ -127204,7 +127262,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6425, SQLITE_FCNTL_RBU, p)
 	}
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31224, 0)
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31271, 0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6425, SQLITE_FCNTL_RBU, p)
@@ -127212,7 +127270,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31252, 0)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31299, 0)
 	}
 }
 
@@ -127241,14 +127299,14 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
 	if pState == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = 0
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31224, uintptr(0), uintptr(0), uintptr(0))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31271, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var rc2 int32
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CAPTURE
-		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31270, uintptr(0), uintptr(0), uintptr(0))
+		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31317, uintptr(0), uintptr(0), uintptr(0))
 		if rc2 != SQLITE_NOTICE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 		}
@@ -127374,7 +127432,7 @@ func rbuLockDatabase(tls *libc.TLS, db uintptr) int32 {
 
 func rbuExclusiveCheckpoint(tls *libc.TLS, db uintptr) int32 {
 	var zUri uintptr = Xsqlite3_db_filename(tls, db, uintptr(0))
-	return Xsqlite3_uri_boolean(tls, zUri, ts+31305, 0)
+	return Xsqlite3_uri_boolean(tls, zUri, ts+31352, 0)
 }
 
 func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
@@ -127389,8 +127447,8 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6425)
 	}
-	zOal = Xsqlite3_mprintf(tls, ts+31330, libc.VaList(bp, zMove))
-	zWal = Xsqlite3_mprintf(tls, ts+31337, libc.VaList(bp+8, zMove))
+	zOal = Xsqlite3_mprintf(tls, ts+31377, libc.VaList(bp, zMove))
+	zWal = Xsqlite3_mprintf(tls, ts+31384, libc.VaList(bp+8, zMove))
 
 	if zWal == uintptr(0) || zOal == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
@@ -127507,7 +127565,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) {
 			(*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 &&
 			Xsqlite3_column_type(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect, i) == SQLITE_NULL {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_MISMATCH
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23828, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23875, 0)
 			return
 		}
 
@@ -127600,7 +127658,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 		var iCookie int32 = 1000000
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8, p+64,
-			ts+31344)
+			ts+31391)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 				iCookie = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0)
@@ -127608,7 +127666,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8)))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31366, libc.VaList(bp, iCookie+1))
+			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31413, libc.VaList(bp, iCookie+1))
 		}
 	}
 }
@@ -127629,7 +127687,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) {
 
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+31393,
+				ts+31440,
 				libc.VaList(bp, p+48,
 					RBU_STATE_STAGE, eStage,
 					RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl,
@@ -127659,9 +127717,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+31551, libc.VaList(bp, zPragma)))
+			Xsqlite3_mprintf(tls, ts+31598, libc.VaList(bp, zPragma)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31566,
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31613,
 				libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 0)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -127675,10 +127733,10 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 
-	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31586, uintptr(0), uintptr(0), p+64)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31633, uintptr(0), uintptr(0), p+64)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+31611)
+			ts+31658)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -127692,12 +127750,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+31719)
+			ts+31766)
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64,
-			ts+31784)
+			ts+31831)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -127709,7 +127767,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
 	}
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31828, uintptr(0), uintptr(0), p+64)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31875, uintptr(0), uintptr(0), p+64)
 	}
 
 	rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp)))
@@ -127737,7 +127795,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 {
 						if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 							rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-								ts+31853, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
+								ts+31900, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 						}
 					} else {
 						rbuObjIterPrepareAll(tls, p, pIter, 0)
@@ -127859,7 +127917,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) {
 
 		if rc == SQLITE_OK && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) {
 			rc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31881, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31928, 0)
 		}
 
 		if rc == SQLITE_OK {
@@ -127875,7 +127933,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	var zOal uintptr = rbuMPrintf(tls, p, ts+31330, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
+	var zOal uintptr = rbuMPrintf(tls, p, ts+31377, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
 	if zOal != 0 {
 		*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6425, SQLITE_FCNTL_VFS_POINTER, bp+8)
@@ -127892,7 +127950,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) {
 	defer tls.Free(76)
 
 	Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8)
-	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+31906, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
+	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+31953, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12, uintptr(0))
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12)
@@ -127926,7 +127984,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) {
 
 	rc = prepareFreeAndCollectError(tls, db, bp+8, bp+16,
 		Xsqlite3_mprintf(tls,
-			ts+31917, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
+			ts+31964, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
 	if rc != SQLITE_OK {
 		Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 16)), -1)
 	} else {
@@ -127956,13 +128014,13 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+31989, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+32036, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuIndexCntFunc})), uintptr(0), uintptr(0))
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32003)
+				ts+32050)
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
@@ -127973,7 +128031,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && bExists != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32060)
+				ts+32107)
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
@@ -128047,7 +128105,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd != 0 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32134, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32181, 0)
 			} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_MOVE {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CKPT
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FnStep = 0
@@ -128065,12 +128123,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 			}()
 			if (*Rbu_file)(unsafe.Pointer(pFd)).FiCookie != (*RbuState)(unsafe.Pointer(pState)).FiCookie {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32166,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32213,
 					libc.VaList(bp+8, func() uintptr {
 						if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-							return ts + 32198
+							return ts + 32245
 						}
-						return ts + 32205
+						return ts + 32252
 					}()))
 			}
 		}
@@ -128094,14 +128152,14 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32212, uintptr(0), uintptr(0), p+64)
+						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32259, uintptr(0), uintptr(0), p+64)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 						var frc int32 = Xsqlite3_file_control(tls, db, ts+6425, SQLITE_FCNTL_ZIPVFS, uintptr(0))
 						if frc == SQLITE_OK {
 							(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls,
-								db, ts+32228, uintptr(0), uintptr(0), p+64)
+								db, ts+32275, uintptr(0), uintptr(0), p+64)
 						}
 					}
 
@@ -128155,7 +128213,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr
 	}
 	if zState != 0 {
 		var n int32 = int32(libc.Xstrlen(tls, zState))
-		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32252, zState+uintptr(n-7), uint64(7)) {
+		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32299, zState+uintptr(n-7), uint64(7)) {
 			return rbuMisuseError(tls)
 		}
 	}
@@ -128182,7 +128240,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) {
 		var i uint32
 		var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg)
 		for i = uint32(0); Size_t(i) < nErrmsg-uint64(8); i++ {
-			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30277, uint64(8)) == 0 {
+			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30324, uint64(8)) == 0 {
 				var nDel int32 = 8
 				for int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= '0' && int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= '9' {
 					nDel++
@@ -128218,7 +128276,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 {
 		rbuObjIterFinalize(tls, p+80)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 {
-			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32260, uintptr(0), uintptr(0), uintptr(0))
+			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32307, uintptr(0), uintptr(0), uintptr(0))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE && rc2 != SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 			}
@@ -128337,12 +128395,12 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 				zBegin = ts + 14487
 			} else {
-				zBegin = ts + 32212
+				zBegin = ts + 32259
 			}
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32212, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32259, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -128688,7 +128746,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 			})(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16)
 			if rc == SQLITE_OK {
 				rc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32287, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32334, 0)
 			} else if rc == SQLITE_NOTFOUND {
 				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p
 				(*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu
@@ -128713,7 +128771,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 	if rc == SQLITE_OK && op == SQLITE_FCNTL_VFSNAME {
 		var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs
 		var zIn uintptr = *(*uintptr)(unsafe.Pointer(pArg))
-		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32310, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
+		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32357, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
 		*(*uintptr)(unsafe.Pointer(pArg)) = zOut
 		if zOut == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -128873,7 +128931,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags
 	}
 
 	if oflags&SQLITE_OPEN_MAIN_DB != 0 &&
-		Xsqlite3_uri_boolean(tls, zName, ts+32321, 0) != 0 {
+		Xsqlite3_uri_boolean(tls, zName, ts+32368, 0) != 0 {
 		oflags = SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE
 		zOpen = uintptr(0)
 	}
@@ -129702,7 +129760,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 		rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0))
 		if rc == SQLITE_OK {
 			zPragma = Xsqlite3_mprintf(tls,
-				ts+32332, 0)
+				ts+32379, 0)
 		} else if rc == SQLITE_ERROR {
 			zPragma = Xsqlite3_mprintf(tls, ts+1538, 0)
 		} else {
@@ -129715,7 +129773,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 			return rc
 		}
 	} else {
-		zPragma = Xsqlite3_mprintf(tls, ts+32453, libc.VaList(bp, zDb, zThis))
+		zPragma = Xsqlite3_mprintf(tls, ts+32500, libc.VaList(bp, zDb, zThis))
 	}
 	if !(zPragma != 0) {
 		*(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0)
@@ -130395,9 +130453,9 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr,
 
 	for i = 0; i < nCol; i++ {
 		if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
-			zRet = Xsqlite3_mprintf(tls, ts+32482,
+			zRet = Xsqlite3_mprintf(tls, ts+32529,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 21509
+			zSep = ts + 21556
 			if zRet == uintptr(0) {
 				break
 			}
@@ -130420,9 +130478,9 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 		if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 {
 			bHave = 1
 			zRet = Xsqlite3_mprintf(tls,
-				ts+32516,
+				ts+32563,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 32557
+			zSep = ts + 32604
 			if zRet == uintptr(0) {
 				break
 			}
@@ -130430,7 +130488,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 	}
 
 	if bHave == 0 {
-		zRet = Xsqlite3_mprintf(tls, ts+7514, 0)
+		zRet = Xsqlite3_mprintf(tls, ts+7503, 0)
 	}
 
 	return zRet
@@ -130441,7 +130499,7 @@ func sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, zTbl uintpt
 	defer tls.Free(40)
 
 	var zRet uintptr = Xsqlite3_mprintf(tls,
-		ts+32562,
+		ts+32609,
 		libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr))
 	return zRet
 }
@@ -130484,7 +130542,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro
 		rc = SQLITE_NOMEM
 	} else {
 		var zStmt uintptr = Xsqlite3_mprintf(tls,
-			ts+32640,
+			ts+32687,
 			libc.VaList(bp, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2))
 		if zStmt == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -130611,7 +130669,7 @@ __6:
 	if !(pzErrMsg != 0) {
 		goto __16
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32693, 0)
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32740, 0)
 __16:
 	;
 	rc = SQLITE_SCHEMA
@@ -131087,7 +131145,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 
 	if 0 == Xsqlite3_stricmp(tls, ts+11332, zTab) {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+32720, libc.VaList(bp, zDb))
+			ts+32767, libc.VaList(bp, zDb))
 		if zSql == uintptr(0) {
 			*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_NOMEM
 		}
@@ -131096,18 +131154,18 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 		var zSep uintptr = ts + 1538
 		*(*SessionBuffer)(unsafe.Pointer(bp + 8)) = SessionBuffer{}
 
-		sessionAppendStr(tls, bp+8, ts+32830, bp+24)
+		sessionAppendStr(tls, bp+8, ts+32877, bp+24)
 		sessionAppendIdent(tls, bp+8, zDb, bp+24)
 		sessionAppendStr(tls, bp+8, ts+1551, bp+24)
 		sessionAppendIdent(tls, bp+8, zTab, bp+24)
-		sessionAppendStr(tls, bp+8, ts+32845, bp+24)
+		sessionAppendStr(tls, bp+8, ts+32892, bp+24)
 		for i = 0; i < nCol; i++ {
 			if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
 				sessionAppendStr(tls, bp+8, zSep, bp+24)
 				sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+24)
-				sessionAppendStr(tls, bp+8, ts+32853, bp+24)
+				sessionAppendStr(tls, bp+8, ts+32900, bp+24)
 				sessionAppendInteger(tls, bp+8, i+1, bp+24)
-				zSep = ts + 21509
+				zSep = ts + 21556
 			}
 		}
 		zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8)).FaBuf
@@ -131216,7 +131274,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 {
 		return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc
 	}
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32859, uintptr(0), uintptr(0), uintptr(0))
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32906, uintptr(0), uintptr(0), uintptr(0))
 	if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
@@ -131308,7 +131366,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	}
 
 	Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24)).FaBuf)
-	Xsqlite3_exec(tls, db, ts+32879, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+32926, uintptr(0), uintptr(0), uintptr(0))
 	Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db))
 	return *(*int32)(unsafe.Pointer(bp + 40))
 }
@@ -131571,7 +131629,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 		rc = sessionInputBuffer(tls, pIn, 9)
 		if rc == SQLITE_OK {
 			if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData {
-				rc = Xsqlite3CorruptError(tls, 219078)
+				rc = Xsqlite3CorruptError(tls, 219169)
 			} else {
 				eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1)))))
 
@@ -131594,7 +131652,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 				rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
 				if rc == SQLITE_OK {
 					if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext {
-						rc = Xsqlite3CorruptError(tls, 219098)
+						rc = Xsqlite3CorruptError(tls, 219189)
 					} else {
 						var enc U8 = func() uint8 {
 							if eType == SQLITE_TEXT {
@@ -131636,7 +131694,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in
 		nRead = nRead + sessionVarintGet(tls, (*SessionInput)(unsafe.Pointer(pIn)).FaData+uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext+nRead), bp)
 
 		if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > 65536 {
-			rc = Xsqlite3CorruptError(tls, 219152)
+			rc = Xsqlite3CorruptError(tls, 219243)
 		} else {
 			rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100)
 			nRead = nRead + *(*int32)(unsafe.Pointer(bp))
@@ -131697,7 +131755,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 {
 			(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
 			sessionBufferGrow(tls, p+72, int64(nByte), bp+4)
 		} else {
-			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219240)
+			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219331)
 		}
 	}
 
@@ -131771,13 +131829,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 	}
 
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219326))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219417))
 	}
 
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op)
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))))
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219332))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219423))
 	}
 
 	if paRec != 0 {
@@ -131839,7 +131897,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 				if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8))
 					if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) {
-						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219376))
+						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219467))
 					}
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0)
 				}
@@ -132212,7 +132270,7 @@ __27:
 	goto __6
 
 __11:
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219741)
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219832)
 	goto finished_invert
 __6:
 	;
@@ -132391,34 +132449,34 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32,
 				(*SessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24
 				libc.Xmemcpy(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(unsafe.Sizeof(U32(0))))
 
-				sessionAppendStr(tls, bp, ts+32897, bp+16)
+				sessionAppendStr(tls, bp, ts+32944, bp+16)
 				sessionAppendIdent(tls, bp, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+16)
-				sessionAppendStr(tls, bp, ts+32910, bp+16)
+				sessionAppendStr(tls, bp, ts+32957, bp+16)
 
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-						sessionAppendStr(tls, bp, ts+32916, bp+16)
+						sessionAppendStr(tls, bp, ts+32963, bp+16)
 						sessionAppendInteger(tls, bp, ii*2+1, bp+16)
 						zSep = ts + 14598
 					}
 				}
 
 				zSep = ts + 1538
-				sessionAppendStr(tls, bp, ts+32845, bp+16)
+				sessionAppendStr(tls, bp, ts+32892, bp+16)
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						if bStat1 != 0 && ii == 1 {
 							sessionAppendStr(tls, bp,
-								ts+32921, bp+16)
+								ts+32968, bp+16)
 						} else {
 							sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-							sessionAppendStr(tls, bp, ts+32853, bp+16)
+							sessionAppendStr(tls, bp, ts+32900, bp+16)
 							sessionAppendInteger(tls, bp, ii*2+2, bp+16)
 						}
-						zSep = ts + 21509
+						zSep = ts + 21556
 					}
 				}
 
@@ -132470,34 +132528,34 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 	var nPk int32 = 0
 
-	sessionAppendStr(tls, bp, ts+32996, bp+16)
+	sessionAppendStr(tls, bp, ts+33043, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+32845, bp+16)
+	sessionAppendStr(tls, bp, ts+32892, bp+16)
 
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 			nPk++
 			sessionAppendStr(tls, bp, zSep, bp+16)
 			sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-			sessionAppendStr(tls, bp, ts+32916, bp+16)
+			sessionAppendStr(tls, bp, ts+32963, bp+16)
 			sessionAppendInteger(tls, bp, i+1, bp+16)
-			zSep = ts + 21509
+			zSep = ts + 21556
 		}
 	}
 
 	if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol {
-		sessionAppendStr(tls, bp, ts+33014, bp+16)
+		sessionAppendStr(tls, bp, ts+33061, bp+16)
 		sessionAppendInteger(tls, bp, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol+1, bp+16)
-		sessionAppendStr(tls, bp, ts+32557, bp+16)
+		sessionAppendStr(tls, bp, ts+32604, bp+16)
 
 		zSep = ts + 1538
 		for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 			if !(int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i)))) != 0) {
 				sessionAppendStr(tls, bp, zSep, bp+16)
 				sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-				sessionAppendStr(tls, bp, ts+32853, bp+16)
+				sessionAppendStr(tls, bp, ts+32900, bp+16)
 				sessionAppendInteger(tls, bp, i+1, bp+16)
-				zSep = ts + 33022
+				zSep = ts + 33069
 			}
 		}
 		sessionAppendStr(tls, bp, ts+4941, bp+16)
@@ -132524,9 +132582,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	var i int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 
-	sessionAppendStr(tls, bp, ts+33027, bp+16)
+	sessionAppendStr(tls, bp, ts+33074, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+21515, bp+16)
+	sessionAppendStr(tls, bp, ts+21562, bp+16)
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if i != 0 {
 			sessionAppendStr(tls, bp, ts+14598, bp+16)
@@ -132534,9 +132592,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 		sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
 	}
 
-	sessionAppendStr(tls, bp, ts+33045, bp+16)
+	sessionAppendStr(tls, bp, ts+33092, bp+16)
 	for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
-		sessionAppendStr(tls, bp, ts+33056, bp+16)
+		sessionAppendStr(tls, bp, ts+33103, bp+16)
 	}
 	sessionAppendStr(tls, bp, ts+4941, bp+16)
 
@@ -132555,11 +132613,11 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 {
 	var rc int32 = sessionSelectRow(tls, db, ts+11332, p)
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+16,
-			ts+33060)
+			ts+33107)
 	}
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+8,
-			ts+33173)
+			ts+33220)
 	}
 	return rc
 }
@@ -132587,7 +132645,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab
 				f func(*libc.TLS, uintptr, int32, uintptr) int32
 			})(unsafe.Pointer(&struct{ uintptr }{xValue})).f(tls, pIter, i, bp)
 			if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
-				rc = Xsqlite3CorruptError(tls, 220219)
+				rc = Xsqlite3CorruptError(tls, 220310)
 			} else {
 				rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp)))
 			}
@@ -132840,7 +132898,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 		if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
 			rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 		} else if *(*int32)(unsafe.Pointer(bp)) != 0 {
-			rc = Xsqlite3_exec(tls, db, ts+33317, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33364, uintptr(0), uintptr(0), uintptr(0))
 			if rc == SQLITE_OK {
 				rc = sessionBindRow(tls, pIter,
 					*(*uintptr)(unsafe.Pointer(&struct {
@@ -132856,7 +132914,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 				rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 			}
 			if rc == SQLITE_OK {
-				rc = Xsqlite3_exec(tls, db, ts+33338, uintptr(0), uintptr(0), uintptr(0))
+				rc = Xsqlite3_exec(tls, db, ts+33385, uintptr(0), uintptr(0), uintptr(0))
 			}
 		}
 	}
@@ -132929,10 +132987,10 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 	(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FbInvertConstraints = libc.BoolInt32(!!(flags&SQLITE_CHANGESETAPPLY_INVERT != 0))
 	Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db))
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
-		rc = Xsqlite3_exec(tls, db, ts+33357, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33404, uintptr(0), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_exec(tls, db, ts+33383, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33430, uintptr(0), uintptr(0), uintptr(0))
 	}
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3changeset_next(tls, pIter) {
 		Xsqlite3changeset_op(tls, pIter, bp+176, bp+184, bp+188, uintptr(0))
@@ -132991,16 +133049,16 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 				if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol == 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33413, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+33460, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol < *(*int32)(unsafe.Pointer(bp + 184)) {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33457,
+						ts+33504,
 						libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 200)), (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol, *(*int32)(unsafe.Pointer(bp + 184))))
 				} else if *(*int32)(unsafe.Pointer(bp + 184)) < nMinCol || libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 192)), uint64(*(*int32)(unsafe.Pointer(bp + 184)))) != 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33528, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+33575, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else {
 					(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FnCol = *(*int32)(unsafe.Pointer(bp + 184))
 					if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), ts+11332) {
@@ -133054,14 +133112,14 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 			}
 		}
 	}
-	Xsqlite3_exec(tls, db, ts+33588, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+33635, uintptr(0), uintptr(0), uintptr(0))
 
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, db, ts+33618, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33665, uintptr(0), uintptr(0), uintptr(0))
 		} else {
-			Xsqlite3_exec(tls, db, ts+33642, uintptr(0), uintptr(0), uintptr(0))
-			Xsqlite3_exec(tls, db, ts+33618, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33689, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33665, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -134309,7 +134367,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) {
 		fts5yy_pop_parser_stack(tls, fts5yypParser)
 	}
 
-	sqlite3Fts5ParseError(tls, pParse, ts+33670, 0)
+	sqlite3Fts5ParseError(tls, pParse, ts+33717, 0)
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -134597,7 +134655,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32
 
 	_ = fts5yymajor
 	sqlite3Fts5ParseError(tls,
-		pParse, ts+33698, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
+		pParse, ts+33745, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -134784,7 +134842,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int
 		if n < 0 {
 			n = int32(libc.Xstrlen(tls, z))
 		}
-		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33729, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
+		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33776, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
 		if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) {
 			*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 		}
@@ -134852,7 +134910,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp
 	var iCol int32
 
 	if nVal != 3 {
-		var zErr uintptr = ts + 33736
+		var zErr uintptr = ts + 33783
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -135034,7 +135092,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
 	var nCol int32
 
 	if nVal != 5 {
-		var zErr uintptr = ts + 33786
+		var zErr uintptr = ts + 33833
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -135358,13 +135416,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(96)
 
 	*(*[3]Builtin)(unsafe.Pointer(bp)) = [3]Builtin{
-		{FzFunc: ts + 33834, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33881, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5SnippetFunction}))},
-		{FzFunc: ts + 33842, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33889, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5HighlightFunction}))},
-		{FzFunc: ts + 33852, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33899, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5Bm25Function}))},
 	}
@@ -135915,7 +135973,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 	var nCmd int32 = int32(libc.Xstrlen(tls, zCmd))
-	if Xsqlite3_strnicmp(tls, ts+33857, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+33904, zCmd, nCmd) == 0 {
 		var nByte int32 = int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))
 		var p uintptr
 		var bFirst int32 = 1
@@ -135942,14 +136000,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 				break
 			}
 			if int32(*(*int8)(unsafe.Pointer(p))) < '0' || int32(*(*int8)(unsafe.Pointer(p))) > '9' {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33864, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33911, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
 
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES {
 				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-					ts+33895, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
+					ts+33942, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -135960,7 +136018,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 			}
 
 			if nPre <= 0 || nPre >= 1000 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33928, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33975, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -135973,7 +136031,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+33965, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34012, zCmd, nCmd) == 0 {
 		var p uintptr = zArg
 		var nArg Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zArg) + uint64(1))
 		var azArg uintptr = sqlite3Fts5MallocZero(tls, bp+40, int64(uint64(unsafe.Sizeof(uintptr(0)))*uint64(nArg)))
@@ -135982,7 +136040,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 		if azArg != 0 && pSpace != 0 {
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33974, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34021, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				for nArg = int64(0); p != 0 && *(*int8)(unsafe.Pointer(p)) != 0; nArg++ {
@@ -136001,7 +136059,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 					}
 				}
 				if p == uintptr(0) {
-					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34007, 0)
+					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34054, 0)
 					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				} else {
 					*(*int32)(unsafe.Pointer(bp + 40)) = sqlite3Fts5GetTokenizer(tls, pGlobal,
@@ -136016,14 +136074,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34041, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34088, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34049, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34096, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			if *(*int8)(unsafe.Pointer(zArg)) != 0 {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_EXTERNAL
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34081, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34128, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
 			} else {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE
 			}
@@ -136031,9 +136089,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34087, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34134, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34101, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34148, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40, zArg, -1)
@@ -136041,9 +136099,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34139, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34186, zCmd, nCmd) == 0 {
 		if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34150, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34197, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')
@@ -136055,17 +136113,17 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		*(*[4]Fts5Enum)(unsafe.Pointer(bp + 48)) = [4]Fts5Enum{
 			{FzName: ts + 8010, FeVal: FTS5_DETAIL_NONE},
 			{FzName: ts + 17329},
-			{FzName: ts + 34185, FeVal: FTS5_DETAIL_COLUMNS},
+			{FzName: ts + 34232, FeVal: FTS5_DETAIL_COLUMNS},
 			{},
 		}
 
 		if libc.AssignPtrInt32(bp+40, fts5ConfigSetEnum(tls, bp+48, zArg, pConfig+92)) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34193, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34240, 0)
 		}
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34224, libc.VaList(bp+24, nCmd, zCmd))
+	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34271, libc.VaList(bp+24, nCmd, zCmd))
 	return SQLITE_ERROR
 }
 
@@ -136112,15 +136170,15 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr,
 	defer tls.Free(16)
 
 	var rc int32 = SQLITE_OK
-	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22175) ||
+	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22222) ||
 		0 == Xsqlite3_stricmp(tls, zCol, ts+16251) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34252, libc.VaList(bp, zCol))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34299, libc.VaList(bp, zCol))
 		rc = SQLITE_ERROR
 	} else if zArg != 0 {
-		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34282) {
+		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34329) {
 			*(*U8)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*Fts5Config)(unsafe.Pointer(p)).FnCol))) = U8(1)
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34292, libc.VaList(bp+8, zArg))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34339, libc.VaList(bp+8, zArg))
 			rc = SQLITE_ERROR
 		}
 	}
@@ -136137,13 +136195,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_OK
 	*(*Fts5Buffer)(unsafe.Pointer(bp + 32)) = Fts5Buffer{}
 
-	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34323, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
+	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34370, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
 	if (*Fts5Config)(unsafe.Pointer(p)).FeContent != FTS5_CONTENT_NONE {
 		for i = 0; i < (*Fts5Config)(unsafe.Pointer(p)).FnCol; i++ {
 			if (*Fts5Config)(unsafe.Pointer(p)).FeContent == FTS5_CONTENT_EXTERNAL {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34328, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34375, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
 			} else {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34335, libc.VaList(bp+16, i))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34382, libc.VaList(bp+16, i))
 			}
 		}
 	}
@@ -136181,8 +136239,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 	(*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -1)
 	(*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize = 1
 	(*Fts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL
-	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22175) == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34343, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
+	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22222) == 0 {
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34390, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
 		*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 	}
 
@@ -136214,7 +136272,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 
 		if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK {
 			if z == uintptr(0) {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34372, libc.VaList(bp+8, zOrig))
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34419, libc.VaList(bp+8, zOrig))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				if bOption != 0 {
@@ -136251,14 +136309,14 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 		var zTail uintptr = uintptr(0)
 
 		if (*Fts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL {
-			zTail = ts + 34041
+			zTail = ts + 34088
 		} else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 {
-			zTail = ts + 34392
+			zTail = ts + 34439
 		}
 
 		if zTail != 0 {
 			(*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls,
-				bp+40, ts+34400, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
+				bp+40, ts+34447, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
 		}
 	}
 
@@ -136307,7 +136365,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_OK
 	var zSql uintptr
 
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34411, 0)
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34458, 0)
 	for i = 0; zSql != 0 && i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
 		var zSep uintptr = func() uintptr {
 			if i == 0 {
@@ -136315,10 +136373,10 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 			}
 			return ts + 14598
 		}()
-		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34427, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
+		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34474, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
 	}
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34434,
-		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22175))
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34481,
+		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22222))
 
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql)
@@ -136428,7 +136486,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 
 	var rc int32 = SQLITE_OK
 
-	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34460) {
+	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34507) {
 		var pgsz int32 = 0
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			pgsz = Xsqlite3_value_int(tls, pVal)
@@ -136438,7 +136496,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34465) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34512) {
 		var nHashSize int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nHashSize = Xsqlite3_value_int(tls, pVal)
@@ -136448,7 +136506,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34474) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34521) {
 		var nAutomerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nAutomerge = Xsqlite3_value_int(tls, pVal)
@@ -136461,7 +136519,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34484) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34531) {
 		var nUsermerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nUsermerge = Xsqlite3_value_int(tls, pVal)
@@ -136471,7 +136529,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34494) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34541) {
 		var nCrisisMerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nCrisisMerge = Xsqlite3_value_int(tls, pVal)
@@ -136487,7 +136545,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22175) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22222) {
 		var zIn uintptr = Xsqlite3_value_text(tls, pVal)
 
 		rc = sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8)
@@ -136510,7 +136568,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 	bp := tls.Alloc(52)
 	defer tls.Free(52)
 
-	var zSelect uintptr = ts + 34506
+	var zSelect uintptr = ts + 34553
 	var zSql uintptr
 	*(*uintptr)(unsafe.Pointer(bp + 40)) = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
@@ -136532,7 +136590,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) {
 			var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 0)
 			var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 1)
-			if 0 == Xsqlite3_stricmp(tls, zK, ts+34538) {
+			if 0 == Xsqlite3_stricmp(tls, zK, ts+34585) {
 				iVersion = Xsqlite3_value_int(tls, pVal)
 			} else {
 				*(*int32)(unsafe.Pointer(bp + 48)) = 0
@@ -136546,7 +136604,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 {
 			*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-				ts+34546,
+				ts+34593,
 				libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION))
 		}
 	}
@@ -136644,7 +136702,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 					}
 				}
 				if int32(*(*int8)(unsafe.Pointer(z2))) == 0 {
-					sqlite3Fts5ParseError(tls, pParse, ts+34611, 0)
+					sqlite3Fts5ParseError(tls, pParse, ts+34658, 0)
 					return FTS5_EOF
 				}
 			}
@@ -136657,20 +136715,20 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 		{
 			var z2 uintptr
 			if sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z))) == 0 {
-				sqlite3Fts5ParseError(tls, pParse, ts+34631, libc.VaList(bp, z))
+				sqlite3Fts5ParseError(tls, pParse, ts+34678, libc.VaList(bp, z))
 				return FTS5_EOF
 			}
 			tok = FTS5_STRING
 			for z2 = z + 1; sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z2))) != 0; z2++ {
 			}
 			(*Fts5Token)(unsafe.Pointer(pToken)).Fn = int32((int64(z2) - int64(z)) / 1)
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34662, uint64(2)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34709, uint64(2)) == 0 {
 				tok = FTS5_OR
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34665, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34712, uint64(3)) == 0 {
 				tok = FTS5_NOT
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30047, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30094, uint64(3)) == 0 {
 				tok = FTS5_AND
 			}
 			break
@@ -138448,9 +138506,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34669, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
+	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34716, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
 		sqlite3Fts5ParseError(tls,
-			pParse, ts+33698, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
+			pParse, ts+33745, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
 	}
 }
 
@@ -138466,7 +138524,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p
 				var c int8 = *(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))
 				if int32(c) < '0' || int32(c) > '9' {
 					sqlite3Fts5ParseError(tls,
-						pParse, ts+34674, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
+						pParse, ts+34721, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
 					return
 				}
 				nNear = nNear*10 + (int32(*(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - '0')
@@ -138553,7 +138611,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui
 			}
 		}
 		if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol {
-			sqlite3Fts5ParseError(tls, pParse, ts+20512, libc.VaList(bp, z))
+			sqlite3Fts5ParseError(tls, pParse, ts+20559, libc.VaList(bp, z))
 		} else {
 			pRet = fts5ParseColset(tls, pParse, pColset, iCol)
 		}
@@ -138634,7 +138692,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo
 	*(*uintptr)(unsafe.Pointer(bp)) = pColset
 	if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE {
 		sqlite3Fts5ParseError(tls, pParse,
-			ts+34703, 0)
+			ts+34750, 0)
 	} else {
 		fts5ParseSetColset(tls, pParse, pExpr, pColset, bp)
 	}
@@ -138804,12 +138862,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 1 ||
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*Fts5ExprTerm)(unsafe.Pointer(pPhrase+32)).FbFirst != 0 {
 							sqlite3Fts5ParseError(tls, pParse,
-								ts+34756,
+								ts+34803,
 								libc.VaList(bp, func() uintptr {
 									if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 {
-										return ts + 34806
+										return ts + 34853
 									}
-									return ts + 34669
+									return ts + 34716
 								}()))
 							Xsqlite3_free(tls, pRet)
 							pRet = uintptr(0)
@@ -139752,7 +139810,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK {
 			var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 			rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb,
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34813, iRowid, 0, p+56)
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34860, iRowid, 0, p+56)
 		}
 
 		if rc == SQLITE_ERROR {
@@ -139831,7 +139889,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in
 	if (*Fts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+64, Xsqlite3_mprintf(tls,
-			ts+34819,
+			ts+34866,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 		if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 			return
@@ -139856,7 +139914,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = Xsqlite3_mprintf(tls,
-			ts+34870,
+			ts+34917,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if fts5IndexPrepareStmt(tls, p, p+72, zSql) != 0 {
 			return
@@ -139879,7 +139937,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+88, Xsqlite3_mprintf(tls,
-			ts+34919,
+			ts+34966,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -140118,7 +140176,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 {
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) {
 			(*Fts5Index)(unsafe.Pointer(p)).Frc = fts5IndexPrepareStmt(tls, p, p+112,
-				Xsqlite3_mprintf(tls, ts+34959, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
+				Xsqlite3_mprintf(tls, ts+35006, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
 			if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 				return int64(0)
 			}
@@ -141317,7 +141375,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls,
-			ts+34982,
+			ts+35029,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect
@@ -142783,7 +142841,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls,
-			ts+35066,
+			ts+35113,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 
@@ -143865,13 +143923,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		(*Fts5Index)(unsafe.Pointer(p)).FpConfig = pConfig
 		(*Fts5Index)(unsafe.Pointer(p)).FnWorkUnit = FTS5_WORK_UNIT
-		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35123, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35170, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 {
 			*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+25040, ts+35131, 0, pzErr)
+				pConfig, ts+25087, ts+35178, 0, pzErr)
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 				*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls, pConfig, ts+11472,
-					ts+35166,
+					ts+35213,
 					1, pzErr)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
@@ -144124,7 +144182,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 {
 	sqlite3Fts5Put32(tls, bp, iNew)
 
 	rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl,
-		ts+34813, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
+		ts+34860, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
 	if rc == SQLITE_OK {
 		Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, 4, 0)
 		rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
@@ -144238,7 +144296,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) {
 	}
 
 	fts5IndexPrepareStmt(tls, p, bp+24, Xsqlite3_mprintf(tls,
-		ts+35210,
+		ts+35257,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid)))
 
 	for (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
@@ -144408,7 +144466,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks
 		} else {
 			(*Fts5Buffer)(unsafe.Pointer(bp + 16)).Fn = 0
 			fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp))+96+uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaFirst+1*4)).FiFirst)*120, uintptr(0), bp+16)
-			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35296)
+			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35343)
 			for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fn, bp+32, bp+40) {
 				var iCol int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) >> 32)
 				var iTokOff int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) & int64(0x7FFFFFFF))
@@ -144679,7 +144737,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 {
 
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 {
 		(*Fts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+35301, 0)
+			ts+35348, 0)
 		return SQLITE_ERROR
 	}
 
@@ -145103,7 +145161,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 	(*Fts5Sorter)(unsafe.Pointer(pSorter)).FnIdx = nPhrase
 
 	rc = fts5PrepareStatement(tls, pSorter, pConfig,
-		ts+35340,
+		ts+35387,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			func() uintptr {
 				if zRankArgs != 0 {
@@ -145119,9 +145177,9 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 			}(),
 			func() uintptr {
 				if bDesc != 0 {
-					return ts + 35395
+					return ts + 35442
 				}
-				return ts + 35400
+				return ts + 35447
 			}()))
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter
@@ -145167,12 +145225,12 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr)
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan = FTS5_PLAN_SPECIAL
 
-	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35404, z, n) {
+	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35451, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = I64(sqlite3Fts5IndexReads(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex))
 	} else if n == 2 && 0 == Xsqlite3_strnicmp(tls, ts+5041, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId
 	} else {
-		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35410, libc.VaList(bp, n, z))
+		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35457, libc.VaList(bp, n, z))
 		rc = SQLITE_ERROR
 	}
 
@@ -145203,7 +145261,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs
 
 	if zRankArgs != 0 {
-		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35438, libc.VaList(bp, zRankArgs))
+		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35485, libc.VaList(bp, zRankArgs))
 		if zSql != 0 {
 			*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 			*(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1,
@@ -145234,7 +145292,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 		pAux = fts5FindAuxiliary(tls, pTab, zRank)
 		if pAux == uintptr(0) {
-			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35448, libc.VaList(bp+8, zRank))
+			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35495, libc.VaList(bp+8, zRank))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		}
 	}
@@ -145266,14 +145324,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin
 			*(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_FREE_ZRANK
 		} else if rc == SQLITE_ERROR {
 			(*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35469, libc.VaList(bp, z))
+				ts+35516, libc.VaList(bp, z))
 		}
 	} else {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank != 0 {
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRankArgs
 		} else {
-			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33852
+			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33899
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0)
 		}
 	}
@@ -145329,7 +145387,7 @@ func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintp
 		goto __1
 	}
 	(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+35301, 0)
+		ts+35348, 0)
 	return SQLITE_ERROR
 __1:
 	;
@@ -145546,7 +145604,7 @@ __35:
 		goto __40
 	}
 	*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-		ts+35502, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		ts+35549, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	rc = SQLITE_ERROR
 	goto __41
 __40:
@@ -145691,28 +145749,28 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr)
 	var rc int32 = SQLITE_OK
 	*(*int32)(unsafe.Pointer(bp)) = 0
 
-	if 0 == Xsqlite3_stricmp(tls, ts+35538, zCmd) {
+	if 0 == Xsqlite3_stricmp(tls, ts+35585, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			fts5SetVtabError(tls, pTab,
-				ts+35549, 0)
+				ts+35596, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35629, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35676, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE {
 			fts5SetVtabError(tls, pTab,
-				ts+35637, 0)
+				ts+35684, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
 	} else if 0 == Xsqlite3_stricmp(tls, ts+16918, zCmd) {
 		rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35693, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35740, zCmd) {
 		var nMerge int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageMerge(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, nMerge)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35699, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35746, zCmd) {
 		var iArg int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg)
 	} else {
@@ -145783,12 +145841,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p
 
 		if eType0 == SQLITE_INTEGER && fts5IsContentless(tls, pTab) != 0 {
 			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35715,
+				ts+35762,
 				libc.VaList(bp, func() uintptr {
 					if nArg > 1 {
-						return ts + 20413
+						return ts + 20460
 					}
-					return ts + 35752
+					return ts + 35799
 				}(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		} else if nArg == 1 {
@@ -146418,7 +146476,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 
 	pCsr = fts5CursorFromCsrid(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId)
 	if pCsr == uintptr(0) || (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 {
-		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35764, libc.VaList(bp, iCsrId))
+		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35811, libc.VaList(bp, iCsrId))
 		Xsqlite3_result_error(tls, context, zErr, -1)
 		Xsqlite3_free(tls, zErr)
 	} else {
@@ -146662,7 +146720,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 	}())
 	if pMod == uintptr(0) {
 		rc = SQLITE_ERROR
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35785, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35832, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
 	} else {
 		rc = (*struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
@@ -146681,7 +146739,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 		(*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16
 		if rc != SQLITE_OK {
 			if pzErr != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35807, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35854, 0)
 			}
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls,
@@ -146728,7 +146786,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 	var ppApi uintptr
 	_ = nArg
 
-	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35838)
+	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35885)
 	if ppApi != 0 {
 		*(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal
 	}
@@ -146737,7 +146795,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) {
 	_ = nArg
 	_ = apUnused
-	Xsqlite3_result_text(tls, pCtx, ts+35851, -1, libc.UintptrFromInt32(-1))
+	Xsqlite3_result_text(tls, pCtx, ts+35898, -1, libc.UintptrFromInt32(-1))
 }
 
 func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
@@ -146751,7 +146809,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName2 = [5]uintptr{
-	ts + 35942, ts + 34041, ts + 25040, ts + 34392, ts + 11472,
+	ts + 35989, ts + 34088, ts + 25087, ts + 34439, ts + 11472,
 }
 
 func fts5Init(tls *libc.TLS, db uintptr) int32 {
@@ -146775,7 +146833,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		(*Fts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32
 		}{fts5FindTokenizer}))
-		rc = Xsqlite3_create_module_v2(tls, db, ts+35949, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+35996, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5IndexInit(tls, db)
 		}
@@ -146793,13 +146851,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35949, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+				db, ts+35996, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
 				}{fts5Fts5Func})), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35954, 0,
+				db, ts+36001, 0,
 				SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
 				p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
@@ -146856,17 +146914,17 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p
 
 	if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) {
 		*(*[11]uintptr)(unsafe.Pointer(bp + 128)) = [11]uintptr{
-			ts + 35969,
-			ts + 36037,
-			ts + 36106,
-			ts + 36139,
-			ts + 36178,
-			ts + 36218,
-			ts + 36257,
-			ts + 36298,
-			ts + 36337,
-			ts + 36379,
-			ts + 36419,
+			ts + 36016,
+			ts + 36084,
+			ts + 36153,
+			ts + 36186,
+			ts + 36225,
+			ts + 36265,
+			ts + 36304,
+			ts + 36345,
+			ts + 36384,
+			ts + 36426,
+			ts + 36466,
 		}
 		var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = uintptr(0)
@@ -146968,18 +147026,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 {
 	defer tls.Free(80)
 
 	var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36442,
+		ts+36489,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36546,
+			ts+36593,
 			libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36584,
+			ts+36631,
 			libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	return rc
@@ -146991,7 +147049,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin
 
 	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(pRc)) = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36622,
+			ts+36669,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail))
 	}
 }
@@ -147003,14 +147061,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in
 	var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig
 	*(*int32)(unsafe.Pointer(bp)) = sqlite3Fts5StorageSync(tls, pStorage)
 
-	fts5StorageRenameOne(tls, pConfig, bp, ts+25040, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+25087, zName)
 	fts5StorageRenameOne(tls, pConfig, bp, ts+11472, zName)
-	fts5StorageRenameOne(tls, pConfig, bp, ts+35942, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+35989, zName)
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34392, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34439, zName)
 	}
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34041, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34088, zName)
 	}
 	return *(*int32)(unsafe.Pointer(bp))
 }
@@ -147022,17 +147080,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn
 	var rc int32
 	*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
-	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36664,
+	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36711,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn,
 			func() uintptr {
 				if bWithout != 0 {
-					return ts + 29693
+					return ts + 29740
 				}
 				return ts + 1538
 			}()))
 	if *(*uintptr)(unsafe.Pointer(bp + 64)) != 0 {
 		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-			ts+36694,
+			ts+36741,
 			libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64))))
 		Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
@@ -147069,27 +147127,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre
 			} else {
 				var i int32
 				var iOff int32
-				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36738, 0)
+				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36785, 0)
 				iOff = int32(libc.Xstrlen(tls, zDefn))
 				for i = 0; i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
-					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36761, libc.VaList(bp, i))
+					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36808, libc.VaList(bp, i))
 					iOff = iOff + int32(libc.Xstrlen(tls, zDefn+uintptr(iOff)))
 				}
-				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34041, zDefn, 0, pzErr)
+				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34088, zDefn, 0, pzErr)
 			}
 			Xsqlite3_free(tls, zDefn)
 		}
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+34392, ts+36767, 0, pzErr)
+				pConfig, ts+34439, ts+36814, 0, pzErr)
 		}
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+35942, ts+36799, 1, pzErr)
+				pConfig, ts+35989, ts+36846, 1, pzErr)
 		}
 		if rc == SQLITE_OK {
-			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34538, uintptr(0), FTS5_CURRENT_VERSION)
+			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34585, uintptr(0), FTS5_CURRENT_VERSION)
 		}
 	}
 
@@ -147295,12 +147353,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 	(*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0
 
 	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36816,
+		ts+36863,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36866,
+			ts+36913,
 			libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 
@@ -147308,7 +147366,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 		rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex)
 	}
 	if rc == SQLITE_OK {
-		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34538, uintptr(0), FTS5_CURRENT_VERSION)
+		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34585, uintptr(0), FTS5_CURRENT_VERSION)
 	}
 	return rc
 }
@@ -147484,7 +147542,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr)
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+36895,
+	zSql = Xsqlite3_mprintf(tls, ts+36942,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix))
 	if zSql == uintptr(0) {
 		rc = SQLITE_NOMEM
@@ -147666,14 +147724,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 {
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			*(*I64)(unsafe.Pointer(bp + 48)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34041, bp+48)
+			rc = fts5StorageCount(tls, p, ts+34088, bp+48)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 48)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
 		}
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			*(*I64)(unsafe.Pointer(bp + 56)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34392, bp+56)
+			rc = fts5StorageCount(tls, p, ts+34439, bp+56)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 56)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
@@ -147868,9 +147926,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32,
 			libc.Xmemcpy(tls, p, uintptr(unsafe.Pointer(&aAsciiTokenChar)), uint64(unsafe.Sizeof(aAsciiTokenChar)))
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36927) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36974) {
 					fts5AsciiAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36938) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36985) {
 					fts5AsciiAddExceptions(tls, p, zArg, 0)
 				} else {
 					rc = SQLITE_ERROR
@@ -148085,7 +148143,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 	} else {
 		p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Unicode61Tokenizer{})))
 		if p != 0 {
-			var zCat uintptr = ts + 36949
+			var zCat uintptr = ts + 36996
 			var i int32
 			libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{})))
 
@@ -148097,7 +148155,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 			}
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36958) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37005) {
 					zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
 				}
 			}
@@ -148108,18 +148166,18 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36969) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37016) {
 					if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' && int32(*(*int8)(unsafe.Pointer(zArg))) != '2' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 						rc = SQLITE_ERROR
 					} else {
 						(*Unicode61Tokenizer)(unsafe.Pointer(p)).FeRemoveDiacritic = int32(*(*int8)(unsafe.Pointer(zArg))) - '0'
 
 					}
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36927) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36974) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36938) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36985) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 0)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36958) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37005) {
 				} else {
 					rc = SQLITE_ERROR
 				}
@@ -148395,7 +148453,7 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp
 	var rc int32 = SQLITE_OK
 	var pRet uintptr
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
-	var zBase uintptr = ts + 36987
+	var zBase uintptr = ts + 37034
 
 	if nArg > 0 {
 		zBase = *(*uintptr)(unsafe.Pointer(azArg))
@@ -148537,7 +148595,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+36997, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37044, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -148545,11 +148603,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37000, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37047, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37005, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37052, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -148557,7 +148615,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'e':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37010, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37057, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -148565,7 +148623,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37013, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37060, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -148573,11 +148631,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37016, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37063, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37021, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37068, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -148585,19 +148643,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37026, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37073, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37030, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37077, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37036, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37083, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37041, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37088, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -148605,11 +148663,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'o':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37045, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37092, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37049, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37096, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -148617,7 +148675,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 's':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37052, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37099, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -148625,11 +148683,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37056, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37103, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37060, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37107, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -148637,7 +148695,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37064, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37111, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -148645,7 +148703,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37068, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37115, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -148653,7 +148711,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37072, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37119, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -148669,24 +148727,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37076, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37056, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37123, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37103, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'b':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37079, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37082, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37126, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37129, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37086, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37072, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37133, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37119, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
@@ -148701,44 +148759,44 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37089, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37136, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37056, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37103, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37097, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37144, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37104, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37151, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 4
 			}
 		}
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37109, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37156, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37005, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37052, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37114, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37161, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37000, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37047, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
 		}
 		break
 
 	case 'e':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37119, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37166, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37072, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37119, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 'g':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37124, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37171, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+15464, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
@@ -148747,91 +148805,91 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37129, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37176, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37082, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37129, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37133, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37180, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+36997, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37044, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37138, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37185, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37041, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37088, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37144, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37191, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37148, uint64(1))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37195, uint64(1))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 1
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37150, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37197, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37064, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37111, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
 		}
 		break
 
 	case 'o':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37156, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37203, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37072, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37119, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37164, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37211, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37056, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37103, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37170, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37217, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37056, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37103, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37175, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37222, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+36997, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37044, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37181, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37228, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37068, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37115, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37189, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37236, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37197, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37244, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37201, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37248, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37064, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37111, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
 		}
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37209, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37256, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+36997, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37044, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37215, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37262, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37068, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37115, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37221, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37268, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37082, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37129, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 3
 			}
 		}
@@ -148846,16 +148904,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37228, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37275, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37233, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37280, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -148863,21 +148921,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37238, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37285, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37244, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37291, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37197, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37244, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -148885,7 +148943,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37250, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37297, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
@@ -148893,9 +148951,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37256, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37303, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+36997, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37044, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
@@ -148910,12 +148968,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'e':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37262, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37309, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37266, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37313, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 2
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37269, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37316, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 				ret = 1
@@ -148924,7 +148982,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37272, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37319, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 				ret = 1
@@ -149080,7 +149138,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp
 		(*TrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = 1
 		for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 			var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37276) {
+			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37323) {
 				if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 					rc = SQLITE_ERROR
 				} else {
@@ -149260,22 +149318,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(128)
 
 	*(*[4]BuiltinTokenizer)(unsafe.Pointer(bp)) = [4]BuiltinTokenizer{
-		{FzName: ts + 36987, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37034, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5UnicodeCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5UnicodeDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5UnicodeTokenize}))}},
-		{FzName: ts + 37291, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37338, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5AsciiCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5AsciiDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5AsciiTokenize}))}},
-		{FzName: ts + 37297, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37344, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5PorterCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5PorterDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5PorterTokenize}))}},
-		{FzName: ts + 37304, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37351, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5TriCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5TriDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
@@ -150418,14 +150476,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint
 	var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8, zType, -1)
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		sqlite3Fts5Dequote(tls, zCopy)
-		if Xsqlite3_stricmp(tls, zCopy, ts+37312) == 0 {
+		if Xsqlite3_stricmp(tls, zCopy, ts+37359) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37316) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37363) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37320) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37367) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37329, libc.VaList(bp, zCopy))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37376, libc.VaList(bp, zCopy))
 			*(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_ERROR
 		}
 		Xsqlite3_free(tls, zCopy)
@@ -150451,19 +150509,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	defer tls.Free(36)
 
 	*(*[3]uintptr)(unsafe.Pointer(bp + 8)) = [3]uintptr{
-		ts + 37363,
-		ts + 37403,
-		ts + 37438,
+		ts + 37410,
+		ts + 37450,
+		ts + 37485,
 	}
 
 	var pRet uintptr = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
 	var bDb int32
 
-	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23336, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
+	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23383, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
 
 	if argc != 5 && bDb == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37481, 0)
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37528, 0)
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 	} else {
 		var nByte int32
@@ -150596,11 +150654,11 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 
 	if (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 {
 		(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+37514, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+			ts+37561, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 		return SQLITE_ERROR
 	}
 	zSql = sqlite3Fts5Mprintf(tls, bp+64,
-		ts+37545,
+		ts+37592,
 		libc.VaList(bp+16, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 64)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+72, uintptr(0))
@@ -150624,7 +150682,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 			*(*uintptr)(unsafe.Pointer(bp + 72)) = uintptr(0)
 			if *(*int32)(unsafe.Pointer(bp + 64)) == SQLITE_OK {
 				(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-					ts+37596, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+					ts+37643, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 				*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 			}
 		} else {
@@ -151019,7 +151077,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32
 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 {
 	var p uintptr = pGlobal
 
-	return Xsqlite3_create_module_v2(tls, db, ts+37622, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
+	return Xsqlite3_create_module_v2(tls, db, ts+37669, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
 }
 
 var fts5Vocab = Sqlite3_module{
@@ -151041,7 +151099,7 @@ var fts5Vocab = Sqlite3_module{
 // ************* End of stmt.c ***********************************************
 // Return the source-id for this library
 func Xsqlite3_sourceid(tls *libc.TLS) uintptr {
-	return ts + 37632
+	return ts + 37679
 }
 
 func init() {
@@ -152015,5 +152073,5 @@ func init() {
 	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError
 }
 
-var ts1 = "3.41.0\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-13.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00"
+var ts1 = "3.41.2\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-13.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00"
 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_openbsd_arm64.go b/vendor/modernc.org/sqlite/lib/sqlite_openbsd_arm64.go
index f29d76ae..b0cbcf28 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_openbsd_arm64.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_openbsd_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_openbsd_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_openbsd_arm64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
 
 package sqlite3
 
@@ -675,11 +675,11 @@ const (
 	NC_OrderAgg                           = 0x8000000
 	NC_PartIdx                            = 0x000002
 	NC_SelfRef                            = 0x00002e
+	NC_Subquery                           = 0x000040
 	NC_UAggInfo                           = 0x000100
 	NC_UBaseReg                           = 0x000400
 	NC_UEList                             = 0x000080
 	NC_UUpsert                            = 0x000200
-	NC_VarSelect                          = 0x000040
 	NDEBUG                                = 1
 	NMEADISC                              = 7
 	NN                                    = 1
@@ -1837,7 +1837,7 @@ const (
 	SQLITE_SHM_UNLOCK                     = 1
 	SQLITE_SORTER_PMASZ                   = 250
 	SQLITE_SOUNDEX                        = 1
-	SQLITE_SOURCE_ID                      = "2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d"
+	SQLITE_SOURCE_ID                      = "2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da"
 	SQLITE_SO_ASC                         = 0
 	SQLITE_SO_DESC                        = 1
 	SQLITE_SO_UNDEFINED                   = -1
@@ -1945,8 +1945,8 @@ const (
 	SQLITE_UTF8                           = 1
 	SQLITE_VDBEINT_H                      = 0
 	SQLITE_VDBE_H                         = 0
-	SQLITE_VERSION                        = "3.41.0"
-	SQLITE_VERSION_NUMBER                 = 3041000
+	SQLITE_VERSION                        = "3.41.2"
+	SQLITE_VERSION_NUMBER                 = 3041002
 	SQLITE_VTABRISK_High                  = 2
 	SQLITE_VTABRISK_Low                   = 0
 	SQLITE_VTABRISK_Normal                = 1
@@ -5214,7 +5214,8 @@ type IndexedExpr1 = struct {
 	FiIdxCur       int32
 	FiIdxCol       int32
 	FbMaybeNullRow U8
-	F__ccgo_pad1   [3]byte
+	Faff           U8
+	F__ccgo_pad1   [2]byte
 	FpIENext       uintptr
 }
 
@@ -5856,17 +5857,18 @@ type Pager = Pager1
 
 // Handle type for pages.
 type PgHdr2 = struct {
-	FpPage      uintptr
-	FpData      uintptr
-	FpExtra     uintptr
-	FpCache     uintptr
-	FpDirty     uintptr
-	FpPager     uintptr
-	Fpgno       Pgno
-	Fflags      U16
-	FnRef       I16
-	FpDirtyNext uintptr
-	FpDirtyPrev uintptr
+	FpPage       uintptr
+	FpData       uintptr
+	FpExtra      uintptr
+	FpCache      uintptr
+	FpDirty      uintptr
+	FpPager      uintptr
+	Fpgno        Pgno
+	Fflags       U16
+	F__ccgo_pad1 [2]byte
+	FnRef        I64
+	FpDirtyNext  uintptr
+	FpDirtyPrev  uintptr
 }
 
 // Handle type for pages.
@@ -6087,14 +6089,14 @@ type PCache2 = struct {
 	FpDirty      uintptr
 	FpDirtyTail  uintptr
 	FpSynced     uintptr
-	FnRefSum     int32
+	FnRefSum     I64
 	FszCache     int32
 	FszSpill     int32
 	FszPage      int32
 	FszExtra     int32
 	FbPurgeable  U8
 	FeCreate     U8
-	F__ccgo_pad1 [2]byte
+	F__ccgo_pad1 [6]byte
 	FxStress     uintptr
 	FpStress     uintptr
 	FpCache      uintptr
@@ -6900,7 +6902,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
 	_ = pMutex
 
 	if op < 0 || op >= int32(uint64(unsafe.Sizeof([10]Sqlite3StatValueType{}))/uint64(unsafe.Sizeof(Sqlite3StatValueType(0)))) {
-		return Xsqlite3MisuseError(tls, 23229)
+		return Xsqlite3MisuseError(tls, 23233)
 	}
 	if statMutex[op] != 0 {
 		pMutex = Xsqlite3Pcache1Mutex(tls)
@@ -14829,7 +14831,7 @@ func closePendingFds(tls *libc.TLS, pFile uintptr) {
 
 	for p = (*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused; p != 0; p = pNext {
 		pNext = (*UnixUnusedFd)(unsafe.Pointer(p)).FpNext
-		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38271)
+		robust_close(tls, pFile, (*UnixUnusedFd)(unsafe.Pointer(p)).Ffd, 38275)
 		Xsqlite3_free(tls, p)
 	}
 	(*UnixInodeInfo)(unsafe.Pointer(pInode)).FpUnused = uintptr(0)
@@ -15305,7 +15307,7 @@ func unixUnlock(tls *libc.TLS, id uintptr, eFileLock int32) int32 {
 func closeUnixFile(tls *libc.TLS, id uintptr) int32 {
 	var pFile uintptr = id
 	if (*UnixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
-		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39055)
+		robust_close(tls, pFile, (*UnixFile)(unsafe.Pointer(pFile)).Fh, 39059)
 		(*UnixFile)(unsafe.Pointer(pFile)).Fh = -1
 	}
 
@@ -15583,7 +15585,7 @@ func openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) int32 {
 	if fd >= 0 {
 		return SQLITE_OK
 	}
-	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40676), ts+3362, bp+8, 40676)
+	return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40680), ts+3362, bp+8, 40680)
 }
 
 func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
@@ -15600,14 +15602,14 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 {
 
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3650, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40717)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, ts+3650, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40721)
 	}
 
 	if int32((*UnixFile)(unsafe.Pointer(pFile)).FctrlFlags)&UNIXFILE_DIRSYNC != 0 {
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, bp)
 		if rc == SQLITE_OK {
 			full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0)
-			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40731)
+			robust_close(tls, pFile, *(*int32)(unsafe.Pointer(bp)), 40735)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -15627,7 +15629,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 {
 	rc = robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte)
 	if rc != 0 {
 		storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno(tls))))
-		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3281, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40762)
+		return unixLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, ts+3281, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 40766)
 	} else {
 		return SQLITE_OK
 	}
@@ -15882,7 +15884,7 @@ func unixShmPurge(tls *libc.TLS, pFd uintptr) {
 		}
 		Xsqlite3_free(tls, (*UnixShmNode)(unsafe.Pointer(p)).FapRegion)
 		if (*UnixShmNode)(unsafe.Pointer(p)).FhShm >= 0 {
-			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41442)
+			robust_close(tls, pFd, (*UnixShmNode)(unsafe.Pointer(p)).FhShm, 41446)
 			(*UnixShmNode)(unsafe.Pointer(p)).FhShm = -1
 		}
 		(*UnixInodeInfo)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0)
@@ -15910,7 +15912,7 @@ func unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) int32
 			rc = unixShmSystemLock(tls, pDbFd, F_WRLCK, (22+SQLITE_SHM_NLOCK)*4+SQLITE_SHM_NLOCK, 1)
 
 			if rc == SQLITE_OK && robust_ftruncate(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3281, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41499)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, ts+3281, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41503)
 			}
 		}
 	} else if int32((*flock)(unsafe.Pointer(bp+8)).Fl_type) == F_WRLCK {
@@ -16009,7 +16011,7 @@ __8:
 	if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) {
 		goto __10
 	}
-	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41624), ts+3245, zShm, 41624)
+	rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 41628), ts+3245, zShm, 41628)
 	goto shm_open_err
 __10:
 	;
@@ -16139,7 +16141,7 @@ __11:
 		goto __14
 	}
 	zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3316, zFile, 41768)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, ts+3316, zFile, 41772)
 	goto shmpage_out
 __14:
 	;
@@ -16185,7 +16187,7 @@ __16:
 	if !(pMem == libc.UintptrFromInt32(-1)) {
 		goto __20
 	}
-	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3403, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41795)
+	rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, ts+3403, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 41799)
 	goto shmpage_out
 __20:
 	;
@@ -16457,7 +16459,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 		unixEnterMutex(tls)
 		rc = findInodeInfo(tls, pNew, pNew+16)
 		if rc != SQLITE_OK {
-			robust_close(tls, pNew, h, 42672)
+			robust_close(tls, pNew, h, 42676)
 			h = -1
 		}
 		unixLeaveMutex(tls)
@@ -16478,7 +16480,7 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename
 	storeLastErrno(tls, pNew, 0)
 	if rc != SQLITE_OK {
 		if h >= 0 {
-			robust_close(tls, pNew, h, 42757)
+			robust_close(tls, pNew, h, 42761)
 		}
 	} else {
 		(*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle
@@ -16794,7 +16796,7 @@ __15:
 	if !(fd < 0) {
 		goto __19
 	}
-	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43198), ts+3245, zName, 43198)
+	rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43202), ts+3245, zName, 43202)
 	if !(rc == SQLITE_OK) {
 		goto __20
 	}
@@ -16885,7 +16887,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		if *(*int32)(unsafe.Pointer(libc.X__errno(tls))) == ENOENT {
 			rc = SQLITE_IOERR | int32(23)<<8
 		} else {
-			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3355, zPath, 43337)
+			rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, ts+3355, zPath, 43341)
 		}
 		return rc
 	}
@@ -16893,9 +16895,9 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in
 		rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8)))(tls, zPath, bp)
 		if rc == SQLITE_OK {
 			if full_fsync(tls, *(*int32)(unsafe.Pointer(bp)), 0, 0) != 0 {
-				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3772, zPath, 43347)
+				rc = unixLogErrorAtLine(tls, SQLITE_IOERR|int32(5)<<8, ts+3772, zPath, 43351)
 			}
-			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43349)
+			robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp)), 43353)
 		} else {
 			rc = SQLITE_OK
 		}
@@ -16959,18 +16961,18 @@ func appendOnePathElement(tls *libc.TLS, pPath uintptr, zName uintptr, nName int
 		zIn = (*DbPath)(unsafe.Pointer(pPath)).FzOut
 		if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8)))(tls, zIn, bp) != 0 {
 			if *(*int32)(unsafe.Pointer(libc.X__errno(tls))) != ENOENT {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43443), ts+3443, zIn, 43443)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43447), ts+3443, zIn, 43447)
 			}
 		} else if (*stat)(unsafe.Pointer(bp)).Fst_mode&Mode_t(0170000) == Mode_t(0120000) {
 			var got Ssize_t
 
 			if libc.PostIncInt32(&(*DbPath)(unsafe.Pointer(pPath)).FnSymlink, 1) > SQLITE_MAX_SYMLINK {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43449)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = Xsqlite3CantopenError(tls, 43453)
 				return
 			}
 			got = (*(*func(*libc.TLS, uintptr, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls, zIn, bp+128, uint64(unsafe.Sizeof([1026]int8{}))-uint64(2))
 			if got <= int64(0) || got >= Ssize_t(unsafe.Sizeof([1026]int8{}))-int64(2) {
-				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43454), ts+3434, zIn, 43454)
+				(*DbPath)(unsafe.Pointer(pPath)).Frc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43458), ts+3434, zIn, 43458)
 				return
 			}
 			*(*int8)(unsafe.Pointer(bp + 128 + uintptr(got))) = int8(0)
@@ -17010,14 +17012,14 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO
 	(*DbPath)(unsafe.Pointer(bp + 1032)).FzOut = zOut
 	if int32(*(*int8)(unsafe.Pointer(zPath))) != '/' {
 		if (*(*func(*libc.TLS, uintptr, Size_t) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, bp, uint64(unsafe.Sizeof([1026]int8{}))-uint64(2)) == uintptr(0) {
-			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43512), ts+3263, zPath, 43512)
+			return unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 43516), ts+3263, zPath, 43516)
 		}
 		appendAllPathElements(tls, bp+1032, bp)
 	}
 	appendAllPathElements(tls, bp+1032, zPath)
 	*(*int8)(unsafe.Pointer(zOut + uintptr((*DbPath)(unsafe.Pointer(bp+1032)).FnUsed))) = int8(0)
 	if (*DbPath)(unsafe.Pointer(bp+1032)).Frc != 0 || (*DbPath)(unsafe.Pointer(bp+1032)).FnUsed < 2 {
-		return Xsqlite3CantopenError(tls, 43518)
+		return Xsqlite3CantopenError(tls, 43522)
 	}
 	if (*DbPath)(unsafe.Pointer(bp+1032)).FnSymlink != 0 {
 		return SQLITE_OK | int32(2)<<8
@@ -17092,7 +17094,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in
 			for __ccgo := true; __ccgo; __ccgo = got < 0 && *(*int32)(unsafe.Pointer(libc.X__errno(tls))) == EINTR {
 				got = int32((*(*func(*libc.TLS, int32, uintptr, Size_t) Ssize_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8*24 + 8)))(tls, fd, zBuf, uint64(nBuf)))
 			}
-			robust_close(tls, uintptr(0), fd, 43619)
+			robust_close(tls, uintptr(0), fd, 43623)
 		}
 
 	}
@@ -18525,7 +18527,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 	libc.Xmemset(tls, pPgHdr+32, 0, uint64(unsafe.Sizeof(PgHdr{}))-uint64(uintptr(0)+32))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpPage = pPage
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpData = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpBuf
-	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*72
+	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*80
 	libc.Xmemset(tls, (*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra, 0, uint64(8))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpCache = pCache
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).Fpgno = pgno
@@ -18555,7 +18557,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 // reference count drops to 0, then it is made eligible for recycling.
 func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) {
 	(*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum--
-	if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 {
+	if libc.PreDecInt64(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1) == int64(0) {
 		if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_CLEAN != 0 {
 			pcacheUnpin(tls, p)
 		} else {
@@ -18606,7 +18608,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) {
 	*(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE))
 	*(*U16)(unsafe.Pointer(p + 52)) |= U16(PGHDR_CLEAN)
 
-	if int32((*PgHdr)(unsafe.Pointer(p)).FnRef) == 0 {
+	if (*PgHdr)(unsafe.Pointer(p)).FnRef == int64(0) {
 		pcacheUnpin(tls, p)
 	}
 }
@@ -18710,8 +18712,8 @@ func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) {
 }
 
 func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr {
-	bp := tls.Alloc(72)
-	defer tls.Free(72)
+	bp := tls.Alloc(80)
+	defer tls.Free(80)
 
 	var pTail uintptr
 	pTail = bp
@@ -18789,13 +18791,13 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr {
 //
 // This is not the total number of pages referenced, but the sum of the
 // reference count for all pages.
-func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 {
+func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) I64 {
 	return (*PCache)(unsafe.Pointer(pCache)).FnRefSum
 }
 
 // Return the number of references to the page supplied as an argument.
-func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 {
-	return int32((*PgHdr)(unsafe.Pointer(p)).FnRef)
+func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) I64 {
+	return (*PgHdr)(unsafe.Pointer(p)).FnRef
 }
 
 // Return the total number of pages in the cache.
@@ -21085,7 +21087,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 {
 
 	pPg = Xsqlite3PagerLookup(tls, pPager, iPg)
 	if pPg != 0 {
-		if Xsqlite3PcachePageRefcount(tls, pPg) == 1 {
+		if Xsqlite3PcachePageRefcount(tls, pPg) == int64(1) {
 			Xsqlite3PcacheDrop(tls, pPg)
 		} else {
 			rc = readDbPage(tls, pPg)
@@ -21508,7 +21510,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr,
 	var pageSize U32 = *(*U32)(unsafe.Pointer(pPageSize))
 
 	if (int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) == 0 || (*Pager)(unsafe.Pointer(pPager)).FdbSize == Pgno(0)) &&
-		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 &&
+		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) &&
 		pageSize != 0 && pageSize != U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) {
 		var pNew uintptr = uintptr(0)
 		*(*I64)(unsafe.Pointer(bp)) = int64(0)
@@ -21966,7 +21968,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 {
 
 		for rc == SQLITE_OK && pList != 0 {
 			var pNext uintptr = (*PgHdr)(unsafe.Pointer(pList)).FpDirty
-			if int32((*PgHdr)(unsafe.Pointer(pList)).FnRef) == 0 {
+			if (*PgHdr)(unsafe.Pointer(pList)).FnRef == int64(0) {
 				rc = pagerStress(tls, pPager, pList)
 			}
 			pList = pNext
@@ -22116,7 +22118,7 @@ __11:
 		goto __12
 	}
 
-	rc = Xsqlite3CantopenError(tls, 60235)
+	rc = Xsqlite3CantopenError(tls, 60239)
 __12:
 	;
 	if !(rc != SQLITE_OK) {
@@ -22497,7 +22499,7 @@ __7:
 	if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) {
 		goto __10
 	}
-	rc = Xsqlite3CantopenError(tls, 60754)
+	rc = Xsqlite3CantopenError(tls, 60758)
 	Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd)
 __10:
 	;
@@ -22603,7 +22605,7 @@ __24:
 }
 
 func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) {
-	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 {
+	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) {
 		pagerUnlockAndRollback(tls, pPager)
 	}
 }
@@ -22621,7 +22623,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla
 	if !(pgno == Pgno(0)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 60967)
+	return Xsqlite3CorruptError(tls, 60971)
 __1:
 	;
 	*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3)
@@ -22660,7 +22662,7 @@ __5:
 	if !(pgno == (*Pager)(unsafe.Pointer(pPager)).FlckPgno) {
 		goto __7
 	}
-	rc = Xsqlite3CorruptError(tls, 60999)
+	rc = Xsqlite3CorruptError(tls, 61003)
 	goto pager_acquire_err
 __7:
 	;
@@ -23447,7 +23449,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 {
 
 // Return the number of references to the specified page.
 func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 {
-	return Xsqlite3PcachePageRefcount(tls, pPage)
+	return int32(Xsqlite3PcachePageRefcount(tls, pPage))
 }
 
 // Parameter eStat must be one of SQLITE_DBSTATUS_CACHE_HIT, _MISS, _WRITE,
@@ -23690,9 +23692,9 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno
 	pPgOld = Xsqlite3PagerLookup(tls, pPager, pgno)
 
 	if pPgOld != 0 {
-		if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 {
+		if (*PgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
 			Xsqlite3PagerUnrefNotNull(tls, pPgOld)
-			return Xsqlite3CorruptError(tls, 62623)
+			return Xsqlite3CorruptError(tls, 62627)
 		}
 		*(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC)
 		if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 {
@@ -24449,7 +24451,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 {
 		nCollide = idx
 		for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) {
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 64387)
+				return Xsqlite3CorruptError(tls, 64391)
 			}
 		}
 		*(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaPgno + uintptr(idx-1)*4)) = iPage
@@ -24548,7 +24550,7 @@ __6:
 	if !(version != U32(WAL_MAX_VERSION)) {
 		goto __7
 	}
-	rc = Xsqlite3CantopenError(tls, 64519)
+	rc = Xsqlite3CantopenError(tls, 64523)
 	goto finished
 __7:
 	;
@@ -25134,7 +25136,7 @@ __10:
 		goto __14
 	}
 
-	rc = Xsqlite3CorruptError(tls, 65333)
+	rc = Xsqlite3CorruptError(tls, 65337)
 	goto __15
 __14:
 	Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16)
@@ -25409,7 +25411,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 {
 	}
 
 	if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) {
-		rc = Xsqlite3CantopenError(tls, 65682)
+		rc = Xsqlite3CantopenError(tls, 65686)
 	}
 	if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
 		if rc != SQLITE_OK {
@@ -25882,7 +25884,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr
 				iRead = iFrame
 			}
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 66419)
+				return Xsqlite3CorruptError(tls, 66423)
 			}
 			iKey = walNextHash(tls, iKey)
 		}
@@ -26387,7 +26389,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
 
 	if rc == SQLITE_OK {
 		if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf {
-			rc = Xsqlite3CorruptError(tls, 67138)
+			rc = Xsqlite3CorruptError(tls, 67142)
 		} else {
 			rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
 		}
@@ -27045,7 +27047,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32
 		}
 		Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
 		if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
-			rc = Xsqlite3CorruptError(tls, 69249)
+			rc = Xsqlite3CorruptError(tls, 69253)
 		} else {
 			rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
 		}
@@ -27182,7 +27184,7 @@ __1:
 	if !(key == Pgno(0)) {
 		goto __2
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69430)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69434)
 	return
 __2:
 	;
@@ -27199,7 +27201,7 @@ __3:
 		goto __4
 	}
 
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69443)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69447)
 	goto ptrmap_exit
 __4:
 	;
@@ -27207,7 +27209,7 @@ __4:
 	if !(offset < 0) {
 		goto __5
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69448)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69452)
 	goto ptrmap_exit
 __5:
 	;
@@ -27250,7 +27252,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 	offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1)))
 	if offset < 0 {
 		Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
-		return Xsqlite3CorruptError(tls, 69493)
+		return Xsqlite3CorruptError(tls, 69497)
 	}
 
 	*(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
@@ -27260,7 +27262,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 
 	Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
 	if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 {
-		return Xsqlite3CorruptError(tls, 69501)
+		return Xsqlite3CorruptError(tls, 69505)
 	}
 	return SQLITE_OK
 }
@@ -27510,7 +27512,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr,
 	if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 		var ovfl Pgno
 		if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) {
-			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69893)
+			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69897)
 			return
 		}
 		ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4))
@@ -27557,7 +27559,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 {
 	if !(iFree > usableSize-4) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 69951)
+	return Xsqlite3CorruptError(tls, 69955)
 __2:
 	;
 	if !(iFree != 0) {
@@ -27567,7 +27569,7 @@ __2:
 	if !(iFree2 > usableSize-4) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 69954)
+	return Xsqlite3CorruptError(tls, 69958)
 __4:
 	;
 	if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) {
@@ -27580,7 +27582,7 @@ __4:
 	if !(top >= iFree) {
 		goto __6
 	}
-	return Xsqlite3CorruptError(tls, 69962)
+	return Xsqlite3CorruptError(tls, 69966)
 __6:
 	;
 	if !(iFree2 != 0) {
@@ -27589,14 +27591,14 @@ __6:
 	if !(iFree+sz > iFree2) {
 		goto __9
 	}
-	return Xsqlite3CorruptError(tls, 69965)
+	return Xsqlite3CorruptError(tls, 69969)
 __9:
 	;
 	sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1)))
 	if !(iFree2+sz2 > usableSize) {
 		goto __10
 	}
-	return Xsqlite3CorruptError(tls, 69967)
+	return Xsqlite3CorruptError(tls, 69971)
 __10:
 	;
 	libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz)))
@@ -27606,7 +27608,7 @@ __7:
 	if !(iFree+sz > usableSize) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 69971)
+	return Xsqlite3CorruptError(tls, 69975)
 __11:
 	;
 __8:
@@ -27670,7 +27672,7 @@ __19:
 	if !(pc < iCellStart || pc > iCellLast) {
 		goto __22
 	}
-	return Xsqlite3CorruptError(tls, 70004)
+	return Xsqlite3CorruptError(tls, 70008)
 __22:
 	;
 	size = int32((*struct {
@@ -27680,7 +27682,7 @@ __22:
 	if !(cbrk < iCellStart || pc+size > usableSize) {
 		goto __23
 	}
-	return Xsqlite3CorruptError(tls, 70010)
+	return Xsqlite3CorruptError(tls, 70014)
 __23:
 	;
 	*(*U8)(unsafe.Pointer(pAddr1)) = U8(cbrk >> 8)
@@ -27702,7 +27704,7 @@ defragment_out:
 	if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) {
 		goto __24
 	}
-	return Xsqlite3CorruptError(tls, 70024)
+	return Xsqlite3CorruptError(tls, 70028)
 __24:
 	;
 	*(*uint8)(unsafe.Pointer(data + uintptr(hdr+5))) = U8(cbrk >> 8)
@@ -27737,7 +27739,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 				*(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x)))
 				return aData + uintptr(pc)
 			} else if x+pc > maxPC {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70081)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70085)
 				return uintptr(0)
 			} else {
 				*(*U8)(unsafe.Pointer(aData + uintptr(pc+2))) = U8(x >> 8)
@@ -27750,13 +27752,13 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 		pc = int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1)))
 		if pc <= iAddr {
 			if pc != 0 {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70096)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70100)
 			}
 			return uintptr(0)
 		}
 	}
 	if pc > maxPC+nByte-4 {
-		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70103)
+		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70107)
 	}
 	return uintptr(0)
 }
@@ -27781,7 +27783,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 		if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) {
 			top = 65536
 		} else {
-			return Xsqlite3CorruptError(tls, 70152)
+			return Xsqlite3CorruptError(tls, 70156)
 		}
 	}
 
@@ -27792,7 +27794,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 
 			*(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1))
 			if g2 <= gap {
-				return Xsqlite3CorruptError(tls, 70170)
+				return Xsqlite3CorruptError(tls, 70174)
 			} else {
 				return SQLITE_OK
 			}
@@ -27844,22 +27846,22 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 				if int32(iFreeBlk) == 0 {
 					break
 				}
-				return Xsqlite3CorruptError(tls, 70249)
+				return Xsqlite3CorruptError(tls, 70253)
 			}
 			iPtr = iFreeBlk
 		}
 		if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) {
-			return Xsqlite3CorruptError(tls, 70254)
+			return Xsqlite3CorruptError(tls, 70258)
 		}
 
 		if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) {
 			nFrag = U8(U32(iFreeBlk) - iEnd)
 			if iEnd > U32(iFreeBlk) {
-				return Xsqlite3CorruptError(tls, 70266)
+				return Xsqlite3CorruptError(tls, 70270)
 			}
 			iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1)))))
 			if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-				return Xsqlite3CorruptError(tls, 70269)
+				return Xsqlite3CorruptError(tls, 70273)
 			}
 			iSize = U16(iEnd - U32(iStart))
 			iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1))))
@@ -27869,7 +27871,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1))))
 			if iPtrEnd+3 >= int32(iStart) {
 				if iPtrEnd > int32(iStart) {
-					return Xsqlite3CorruptError(tls, 70282)
+					return Xsqlite3CorruptError(tls, 70286)
 				}
 				nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd))
 				iSize = U16(iEnd - U32(iPtr))
@@ -27877,7 +27879,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			}
 		}
 		if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) {
-			return Xsqlite3CorruptError(tls, 70288)
+			return Xsqlite3CorruptError(tls, 70292)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag))
 	}
@@ -27885,10 +27887,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 	x = U16(int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1))))
 	if int32(iStart) <= int32(x) {
 		if int32(iStart) < int32(x) {
-			return Xsqlite3CorruptError(tls, 70297)
+			return Xsqlite3CorruptError(tls, 70301)
 		}
 		if int32(iPtr) != int32(hdr)+1 {
-			return Xsqlite3CorruptError(tls, 70298)
+			return Xsqlite3CorruptError(tls, 70302)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8)
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk)
@@ -27948,7 +27950,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70357)
+			return Xsqlite3CorruptError(tls, 70361)
 		}
 	} else {
 		(*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize = U8(4)
@@ -27984,7 +27986,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70381)
+			return Xsqlite3CorruptError(tls, 70385)
 		}
 	}
 	return SQLITE_OK
@@ -28014,11 +28016,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 		var next U32
 		var size U32
 		if pc < top {
-			return Xsqlite3CorruptError(tls, 70432)
+			return Xsqlite3CorruptError(tls, 70436)
 		}
 		for 1 != 0 {
 			if pc > iCellLast {
-				return Xsqlite3CorruptError(tls, 70437)
+				return Xsqlite3CorruptError(tls, 70441)
 			}
 			next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1))))
 			size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1))))
@@ -28029,15 +28031,15 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 			pc = int32(next)
 		}
 		if next > U32(0) {
-			return Xsqlite3CorruptError(tls, 70447)
+			return Xsqlite3CorruptError(tls, 70451)
 		}
 		if U32(pc)+size > uint32(usableSize) {
-			return Xsqlite3CorruptError(tls, 70451)
+			return Xsqlite3CorruptError(tls, 70455)
 		}
 	}
 
 	if nFree > usableSize || nFree < iCellFirst {
-		return Xsqlite3CorruptError(tls, 70463)
+		return Xsqlite3CorruptError(tls, 70467)
 	}
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst))
 	return SQLITE_OK
@@ -28065,14 +28067,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 {
 		pc = int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(cellOffset+i*2) + 1)))
 
 		if pc < iCellFirst || pc > iCellLast {
-			return Xsqlite3CorruptError(tls, 70494)
+			return Xsqlite3CorruptError(tls, 70498)
 		}
 		sz = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
 		})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc)))
 
 		if pc+sz > usableSize {
-			return Xsqlite3CorruptError(tls, 70499)
+			return Xsqlite3CorruptError(tls, 70503)
 		}
 	}
 	return SQLITE_OK
@@ -28086,7 +28088,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 	data = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 {
-		return Xsqlite3CorruptError(tls, 70531)
+		return Xsqlite3CorruptError(tls, 70535)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1))
@@ -28098,7 +28100,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1))))
 	if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) {
-		return Xsqlite3CorruptError(tls, 70545)
+		return Xsqlite3CorruptError(tls, 70549)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = -1
@@ -28201,7 +28203,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	rc = Xsqlite3CorruptError(tls, 70700)
+	rc = Xsqlite3CorruptError(tls, 70704)
 	goto getAndInitPage_error1
 __1:
 	;
@@ -28229,7 +28231,7 @@ __3:
 	if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) {
 		goto __5
 	}
-	rc = Xsqlite3CorruptError(tls, 70721)
+	rc = Xsqlite3CorruptError(tls, 70725)
 	goto getAndInitPage_error2
 __5:
 	;
@@ -28268,7 +28270,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 {
 			releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
 			*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
-			return Xsqlite3CorruptError(tls, 70787)
+			return Xsqlite3CorruptError(tls, 70791)
 		}
 		(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0)
 	} else {
@@ -29140,7 +29142,7 @@ __16:
 	if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) {
 		goto __18
 	}
-	rc = Xsqlite3CorruptError(tls, 71722)
+	rc = Xsqlite3CorruptError(tls, 71726)
 	goto page1_init_failed
 	goto __19
 __18:
@@ -29555,7 +29557,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 	if int32(eType) == PTRMAP_OVERFLOW2 {
 		if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
-			return Xsqlite3CorruptError(tls, 72143)
+			return Xsqlite3CorruptError(tls, 72147)
 		}
 		Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo)
 	} else {
@@ -29581,7 +29583,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp)
 				if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 					if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-						return Xsqlite3CorruptError(tls, 72162)
+						return Xsqlite3CorruptError(tls, 72166)
 					}
 					if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) {
 						Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo)
@@ -29590,7 +29592,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				}
 			} else {
 				if pCell+uintptr(4) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-					return Xsqlite3CorruptError(tls, 72171)
+					return Xsqlite3CorruptError(tls, 72175)
 				}
 				if Xsqlite3Get4byte(tls, pCell) == iFrom {
 					Xsqlite3Put4byte(tls, pCell, iTo)
@@ -29601,7 +29603,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 		if i == nCell {
 			if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom {
-				return Xsqlite3CorruptError(tls, 72183)
+				return Xsqlite3CorruptError(tls, 72187)
 			}
 			Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo)
 		}
@@ -29617,7 +29619,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag
 	var pPager uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPager
 
 	if iDbPage < Pgno(3) {
-		return Xsqlite3CorruptError(tls, 72218)
+		return Xsqlite3CorruptError(tls, 72222)
 	}
 
 	*(*int32)(unsafe.Pointer(bp)) = Xsqlite3PagerMovepage(tls, pPager, (*MemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -29678,7 +29680,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 			return rc
 		}
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE {
-			return Xsqlite3CorruptError(tls, 72316)
+			return Xsqlite3CorruptError(tls, 72320)
 		}
 
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE {
@@ -29713,7 +29715,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 				if *(*Pgno)(unsafe.Pointer(bp + 40)) > dbSize {
 					releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
-					return Xsqlite3CorruptError(tls, 72368)
+					return Xsqlite3CorruptError(tls, 72372)
 				}
 			}
 
@@ -29773,7 +29775,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 {
 		var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree)
 
 		if nOrig < nFin || nFree >= nOrig {
-			rc = Xsqlite3CorruptError(tls, 72436)
+			rc = Xsqlite3CorruptError(tls, 72440)
 		} else if nFree > Pgno(0) {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
 			if rc == SQLITE_OK {
@@ -29812,7 +29814,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 
 		nOrig = btreePagecount(tls, pBt)
 		if ptrmapPageno(tls, pBt, nOrig) == nOrig || nOrig == U32(Xsqlite3PendingByte)/(*BtShared)(unsafe.Pointer(pBt)).FpageSize+U32(1) {
-			return Xsqlite3CorruptError(tls, 72487)
+			return Xsqlite3CorruptError(tls, 72491)
 		}
 
 		nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
@@ -29843,7 +29845,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 		}
 		nFin = finalDbSize(tls, pBt, nOrig, nVac)
 		if nFin > nOrig {
-			return Xsqlite3CorruptError(tls, 72514)
+			return Xsqlite3CorruptError(tls, 72518)
 		}
 		if nFin < nOrig {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -30184,7 +30186,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u
 
 	if iTable <= Pgno(1) {
 		if iTable < Pgno(1) {
-			return Xsqlite3CorruptError(tls, 72978)
+			return Xsqlite3CorruptError(tls, 72982)
 		} else if btreePagecount(tls, pBt) == Pgno(0) {
 			iTable = Pgno(0)
 		}
@@ -30428,14 +30430,14 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt
 
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
-		return Xsqlite3CorruptError(tls, 73385)
+		return Xsqlite3CorruptError(tls, 73389)
 	}
 
 	getCellInfo(tls, pCur)
 	aPayload = (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
 
 	if Uptr((int64(aPayload)-int64((*MemPage)(unsafe.Pointer(pPage)).FaData))/1) > Uptr((*BtShared)(unsafe.Pointer(pBt)).FusableSize-U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal)) {
-		return Xsqlite3CorruptError(tls, 73400)
+		return Xsqlite3CorruptError(tls, 73404)
 	}
 
 	if offset < U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -30480,7 +30482,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 
 		for *(*Pgno)(unsafe.Pointer(bp)) != 0 {
 			if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage {
-				return Xsqlite3CorruptError(tls, 73462)
+				return Xsqlite3CorruptError(tls, 73466)
 			}
 
 			*(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp))
@@ -30529,7 +30531,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	}
 
 	if rc == SQLITE_OK && amt > U32(0) {
-		return Xsqlite3CorruptError(tls, 73547)
+		return Xsqlite3CorruptError(tls, 73551)
 	}
 	return rc
 }
@@ -30609,7 +30611,7 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt
 
 func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 {
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 {
-		return Xsqlite3CorruptError(tls, 73684)
+		return Xsqlite3CorruptError(tls, 73688)
 	}
 	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	*(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl))
@@ -30700,7 +30702,7 @@ __2:
 	if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 73823)
+	return Xsqlite3CorruptError(tls, 73827)
 __11:
 	;
 skip_init:
@@ -30720,7 +30722,7 @@ __12:
 	if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) {
 		goto __16
 	}
-	return Xsqlite3CorruptError(tls, 73835)
+	return Xsqlite3CorruptError(tls, 73839)
 __16:
 	;
 	subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8))
@@ -30930,7 +30932,7 @@ __19:
 	if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __21
 	}
-	return Xsqlite3CorruptError(tls, 74077)
+	return Xsqlite3CorruptError(tls, 74081)
 __21:
 	;
 	goto __19
@@ -31134,7 +31136,7 @@ __2:
 	if !!(int32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit) != 0) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 74273)
+	return Xsqlite3CorruptError(tls, 74277)
 __4:
 	;
 	goto bypass_moveto_root
@@ -31199,7 +31201,7 @@ __15:
 	if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) {
 		goto __17
 	}
-	rc = Xsqlite3CorruptError(tls, 74360)
+	rc = Xsqlite3CorruptError(tls, 74364)
 	goto moveto_index_finish
 __17:
 	;
@@ -31247,7 +31249,7 @@ __22:
 	if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) {
 		goto __24
 	}
-	rc = Xsqlite3CorruptError(tls, 74392)
+	rc = Xsqlite3CorruptError(tls, 74396)
 __24:
 	;
 	goto moveto_index_finish
@@ -31366,7 +31368,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 {
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1))
 	if !(int32((*MemPage)(unsafe.Pointer(pPage)).FisInit) != 0) || Xsqlite3FaultSim(tls, 412) != 0 {
-		return Xsqlite3CorruptError(tls, 74508)
+		return Xsqlite3CorruptError(tls, 74512)
 	}
 
 	if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
@@ -31526,7 +31528,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr
 	if !(n >= mxPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74688)
+	return Xsqlite3CorruptError(tls, 74692)
 __1:
 	;
 	if !(n > U32(0)) {
@@ -31591,7 +31593,7 @@ __15:
 	if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) {
 		goto __16
 	}
-	rc = Xsqlite3CorruptError(tls, 74744)
+	rc = Xsqlite3CorruptError(tls, 74748)
 	goto __17
 __16:
 	rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0)
@@ -31627,7 +31629,7 @@ __19:
 		goto __22
 	}
 
-	rc = Xsqlite3CorruptError(tls, 74773)
+	rc = Xsqlite3CorruptError(tls, 74777)
 	goto end_allocate_page
 	goto __23
 __22:
@@ -31671,7 +31673,7 @@ __27:
 	if !(iNewTrunk > mxPage) {
 		goto __32
 	}
-	rc = Xsqlite3CorruptError(tls, 74807)
+	rc = Xsqlite3CorruptError(tls, 74811)
 	goto end_allocate_page
 __32:
 	;
@@ -31783,7 +31785,7 @@ __40:
 	if !(iPage > mxPage || iPage < Pgno(2)) {
 		goto __51
 	}
-	rc = Xsqlite3CorruptError(tls, 74872)
+	rc = Xsqlite3CorruptError(tls, 74876)
 	goto end_allocate_page
 __51:
 	;
@@ -31941,7 +31943,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 {
 	if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74999)
+	return Xsqlite3CorruptError(tls, 75003)
 __1:
 	;
 	if !(pMemPage != 0) {
@@ -31998,7 +32000,7 @@ __7:
 	if !(iTrunk > btreePagecount(tls, pBt)) {
 		goto __10
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75046)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75050)
 	goto freepage_out
 __10:
 	;
@@ -32014,7 +32016,7 @@ __11:
 	if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) {
 		goto __12
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75057)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75061)
 	goto freepage_out
 __12:
 	;
@@ -32088,7 +32090,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 	var ovflPageSize U32
 
 	if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 75146)
+		return Xsqlite3CorruptError(tls, 75150)
 	}
 	ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
 	pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt
@@ -32100,7 +32102,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 		*(*Pgno)(unsafe.Pointer(bp + 8)) = Pgno(0)
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 		if ovflPgno < Pgno(2) || ovflPgno > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 75163)
+			return Xsqlite3CorruptError(tls, 75167)
 		}
 		if nOvfl != 0 {
 			rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8)
@@ -32111,7 +32113,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 
 		if (*(*uintptr)(unsafe.Pointer(bp)) != 0 || libc.AssignPtrUintptr(bp, btreePageLookup(tls, pBt, ovflPgno)) != uintptr(0)) &&
 			Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 {
-			rc = Xsqlite3CorruptError(tls, 75183)
+			rc = Xsqlite3CorruptError(tls, 75187)
 		} else {
 			rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp)), ovflPgno)
 		}
@@ -32276,7 +32278,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
 	hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75436)
+		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75440)
 		return
 	}
 	rc = freeSpace(tls, pPage, uint16(pc), uint16(sz))
@@ -32555,12 +32557,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 
 		if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) {
 			if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) {
-				return Xsqlite3CorruptError(tls, 75737)
+				return Xsqlite3CorruptError(tls, 75741)
 			}
 			pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1)
 		} else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) &&
 			Uptr(pCell) < Uptr(pSrcEnd) {
-			return Xsqlite3CorruptError(tls, 75742)
+			return Xsqlite3CorruptError(tls, 75746)
 		}
 
 		pData -= uintptr(sz)
@@ -32568,7 +32570,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 		*(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1)
 		pCellptr += uintptr(2)
 		if pData < pCellptr {
-			return Xsqlite3CorruptError(tls, 75748)
+			return Xsqlite3CorruptError(tls, 75752)
 		}
 		libc.Xmemmove(tls, pData, pCell, uint64(sz))
 
@@ -32628,7 +32630,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr,
 
 		if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) &&
 			Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) {
-			Xsqlite3CorruptError(tls, 75833)
+			Xsqlite3CorruptError(tls, 75837)
 			return 1
 		}
 		libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz))
@@ -32717,7 +32719,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC
 	if !(nShift > nCell) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 75947)
+	return Xsqlite3CorruptError(tls, 75951)
 __2:
 	;
 	libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2))
@@ -32833,7 +32835,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr
 	var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt
 
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
-		return Xsqlite3CorruptError(tls, 76060)
+		return Xsqlite3CorruptError(tls, 76064)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 136)) = allocateBtreePage(tls, pBt, bp, bp+8, uint32(0), uint8(0))
@@ -33153,7 +33155,7 @@ __22:
 	if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) {
 		goto __25
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76481)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76485)
 	goto balance_cleanup
 __25:
 	;
@@ -33164,7 +33166,7 @@ __25:
 	if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) {
 		goto __27
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76505)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76509)
 	goto balance_cleanup
 __27:
 	;
@@ -33322,7 +33324,7 @@ __52:
 	if !(k > NB+2) {
 		goto __55
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76606)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76610)
 	goto balance_cleanup
 __55:
 	;
@@ -33396,7 +33398,7 @@ __65:
 	}()) {
 		goto __67
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76639)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76643)
 	goto balance_cleanup
 __67:
 	;
@@ -33459,7 +33461,7 @@ __73:
 	}()) {
 		goto __75
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76683)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76687)
 	goto balance_cleanup
 __75:
 	;
@@ -33487,7 +33489,7 @@ __76:
 		*(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) {
 		goto __81
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76716)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76720)
 __81:
 	;
 	if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) {
@@ -33748,7 +33750,7 @@ __120:
 	if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) {
 		goto __121
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76916)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76920)
 	goto balance_cleanup
 __121:
 	;
@@ -33940,7 +33942,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 {
 		if pOther != pCur &&
 			int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID &&
 			(*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage {
-			return Xsqlite3CorruptError(tls, 77146)
+			return Xsqlite3CorruptError(tls, 77150)
 		}
 	}
 	return SQLITE_OK
@@ -33978,7 +33980,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 {
 				break
 			}
 		} else if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) > 1 {
-			rc = Xsqlite3CorruptError(tls, 77206)
+			rc = Xsqlite3CorruptError(tls, 77210)
 		} else {
 			var pParent uintptr = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-1)*8))
 			var iIdx int32 = int32(*(*U16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-1)*2)))
@@ -34084,7 +34086,7 @@ func btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 			return rc
 		}
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
-			rc = Xsqlite3CorruptError(tls, 77370)
+			rc = Xsqlite3CorruptError(tls, 77374)
 		} else {
 			if U32(iOffset)+ovflPageSize < U32(nTotal) {
 				ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -34109,7 +34111,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 
 	if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd ||
 		(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FcellOffset) {
-		return Xsqlite3CorruptError(tls, 77398)
+		return Xsqlite3CorruptError(tls, 77402)
 	}
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
 		return btreeOverwriteContent(tls, pPage, (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX,
@@ -34179,7 +34181,7 @@ __2:
 		goto __3
 	}
 
-	return Xsqlite3CorruptError(tls, 77479)
+	return Xsqlite3CorruptError(tls, 77483)
 __3:
 	;
 __1:
@@ -34292,7 +34294,7 @@ __7:
 		goto __21
 	}
 
-	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77602)
+	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77606)
 	goto __22
 __21:
 	*(*int32)(unsafe.Pointer(bp + 120)) = btreeComputeFreeSpace(tls, pPage)
@@ -34352,6 +34354,7 @@ __30:
 __25:
 	;
 	idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
+	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !(*(*int32)(unsafe.Pointer(bp)) == 0) {
 		goto __31
 	}
@@ -34359,7 +34362,7 @@ __25:
 	if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) {
 		goto __33
 	}
-	return Xsqlite3CorruptError(tls, 77640)
+	return Xsqlite3CorruptError(tls, 77645)
 __33:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage)
@@ -34397,13 +34400,13 @@ __37:
 	if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) {
 		goto __39
 	}
-	return Xsqlite3CorruptError(tls, 77667)
+	return Xsqlite3CorruptError(tls, 77672)
 __39:
 	;
 	if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 124))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __40
 	}
-	return Xsqlite3CorruptError(tls, 77670)
+	return Xsqlite3CorruptError(tls, 77675)
 __40:
 	;
 	libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 124))))
@@ -34434,7 +34437,6 @@ __32:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 124)), uintptr(0), uint32(0))
 
-	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) {
 		goto __44
 	}
@@ -34509,7 +34511,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 	nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
 	aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
 	if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 77773)
+		return Xsqlite3CorruptError(tls, 77777)
 	}
 	nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
 	if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -34534,7 +34536,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 
 		if nRem > nIn {
 			if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-				return Xsqlite3CorruptError(tls, 77798)
+				return Xsqlite3CorruptError(tls, 77802)
 			}
 			ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
 		}
@@ -34635,7 +34637,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 				return *(*int32)(unsafe.Pointer(bp + 24))
 			}
 		} else {
-			return Xsqlite3CorruptError(tls, 77894)
+			return Xsqlite3CorruptError(tls, 77898)
 		}
 	}
 
@@ -34643,11 +34645,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 	iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
-		return Xsqlite3CorruptError(tls, 77903)
+		return Xsqlite3CorruptError(tls, 77907)
 	}
 	pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx) + 1)))))
 	if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 {
-		return Xsqlite3CorruptError(tls, 77907)
+		return Xsqlite3CorruptError(tls, 77911)
 	}
 
 	bPreserve = U8(libc.Bool32(int32(flags)&BTREE_SAVEPOSITION != 0))
@@ -34722,7 +34724,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 		}
 		pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))<<8|int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)) + 1)))))
 		if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 {
-			return Xsqlite3CorruptError(tls, 77998)
+			return Xsqlite3CorruptError(tls, 78002)
 		}
 		nCell = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
@@ -34791,7 +34793,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 
 		Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp)
 		if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 78114)
+			return Xsqlite3CorruptError(tls, 78118)
 		}
 		*(*Pgno)(unsafe.Pointer(bp))++
 
@@ -34820,7 +34822,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 			}
 			*(*int32)(unsafe.Pointer(bp + 40)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp)), bp+32, bp+36)
 			if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE {
-				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78162)
+				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78166)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -34896,7 +34898,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 78252)
+	return Xsqlite3CorruptError(tls, 78256)
 __1:
 	;
 	*(*int32)(unsafe.Pointer(bp + 32)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0)
@@ -34910,7 +34912,7 @@ __2:
 		Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) {
 		goto __3
 	}
-	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78259)
+	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78263)
 	goto cleardatabasepage_out
 __3:
 	;
@@ -35044,7 +35046,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3
 	var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt
 
 	if iTable > btreePagecount(tls, pBt) {
-		return Xsqlite3CorruptError(tls, 78363)
+		return Xsqlite3CorruptError(tls, 78367)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 12)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0))
@@ -37513,7 +37515,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32,
 	var rc int32
 	(*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null)
 	if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) {
-		return Xsqlite3CorruptError(tls, 81630)
+		return Xsqlite3CorruptError(tls, 81634)
 	}
 	if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) {
 		rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz)
@@ -38162,7 +38164,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		return Xsqlite3GetVarint32(tls, a, bp)
 	}())
 	if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) {
-		return Xsqlite3CorruptError(tls, 82270)
+		return Xsqlite3CorruptError(tls, 82274)
 	}
 	iField = *(*int32)(unsafe.Pointer(bp))
 	for i = 0; i <= iCol; i++ {
@@ -38177,14 +38179,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		}())
 
 		if iHdr > *(*int32)(unsafe.Pointer(bp)) {
-			return Xsqlite3CorruptError(tls, 82276)
+			return Xsqlite3CorruptError(tls, 82280)
 		}
 		szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4))))
 		iField = iField + szField
 	}
 
 	if iField > nRec {
-		return Xsqlite3CorruptError(tls, 82282)
+		return Xsqlite3CorruptError(tls, 82286)
 	}
 	if pMem == uintptr(0) {
 		pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db))
@@ -40488,7 +40490,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 {
 		return rc
 	}
 	if *(*int32)(unsafe.Pointer(bp)) != 0 {
-		return Xsqlite3CorruptError(tls, 86058)
+		return Xsqlite3CorruptError(tls, 86062)
 	}
 	(*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0)
 	(*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE)
@@ -41039,7 +41041,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		i = 0
 	}
 	if d1 > uint32(nKey1) {
-		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86985))
+		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86989))
 		return 0
 	}
 
@@ -41104,7 +41106,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 
 				if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) ||
 					int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87062))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87066))
 					return 0
 				} else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 {
 					(*Mem)(unsafe.Pointer(bp + 8)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc
@@ -41138,7 +41140,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 				var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2))
 
 				if d1+U32(nStr) > uint32(nKey1) {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87092))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87096))
 					return 0
 				} else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 {
 					if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) {
@@ -41188,7 +41190,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		}
 		idx1 = idx1 + U32(Xsqlite3VarintLen(tls, uint64(*(*U32)(unsafe.Pointer(bp + 64)))))
 		if idx1 >= *(*U32)(unsafe.Pointer(bp + 4)) {
-			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87136))
+			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87140))
 			return 0
 		}
 	}
@@ -41334,7 +41336,7 @@ __5:
 	if !(szHdr+nStr > nKey1) {
 		goto __7
 	}
-	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87299))
+	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87303))
 	return 0
 __7:
 	;
@@ -41505,7 +41507,7 @@ __6:
 idx_rowid_corruption:
 	;
 	Xsqlite3VdbeMemReleaseMalloc(tls, bp)
-	return Xsqlite3CorruptError(tls, 87457)
+	return Xsqlite3CorruptError(tls, 87461)
 }
 
 // Compare the key of the index entry that cursor pC is pointing to against
@@ -41531,7 +41533,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
 
 	if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) {
 		*(*int32)(unsafe.Pointer(res)) = 0
-		return Xsqlite3CorruptError(tls, 87490)
+		return Xsqlite3CorruptError(tls, 87494)
 	}
 	Xsqlite3VdbeMemInit(tls, bp, db, uint16(0))
 	rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp)
@@ -41805,7 +41807,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 {
 		var v uintptr = pStmt
 		var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb
 		if vdbeSafety(tls, v) != 0 {
-			return Xsqlite3MisuseError(tls, 87854)
+			return Xsqlite3MisuseError(tls, 87858)
 		}
 		Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) {
@@ -42420,7 +42422,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 {
 	var db uintptr
 
 	if vdbeSafetyNotNull(tls, v) != 0 {
-		return Xsqlite3MisuseError(tls, 88544)
+		return Xsqlite3MisuseError(tls, 88548)
 	}
 	db = (*Vdbe)(unsafe.Pointer(v)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -42940,7 +42942,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 
 	var pVar uintptr
 	if vdbeSafetyNotNull(tls, p) != 0 {
-		return Xsqlite3MisuseError(tls, 89208)
+		return Xsqlite3MisuseError(tls, 89212)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 	if int32((*Vdbe)(unsafe.Pointer(p)).FeVdbeState) != VDBE_READY_STATE {
@@ -42948,7 +42950,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 		Xsqlite3_log(tls, SQLITE_MISUSE,
 			ts+5341, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql))
-		return Xsqlite3MisuseError(tls, 89216)
+		return Xsqlite3MisuseError(tls, 89220)
 	}
 	if i >= uint32((*Vdbe)(unsafe.Pointer(p)).FnVar) {
 		Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE)
@@ -43353,7 +43355,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89707)
+	rc = Xsqlite3MisuseError(tls, 89711)
 	goto preupdate_old_out
 __1:
 	;
@@ -43497,7 +43499,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89809)
+	rc = Xsqlite3MisuseError(tls, 89813)
 	goto preupdate_new_out
 __1:
 	;
@@ -43941,10 +43943,6 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 {
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Real != 0 {
 			h = h + U64(Xsqlite3VdbeIntValue(tls, p))
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 {
-			h = h + U64((*Mem)(unsafe.Pointer(p)).Fn)
-			if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Zero != 0 {
-				h = h + U64(*(*int32)(unsafe.Pointer(p)))
-			}
 		}
 	}
 	return h
@@ -46593,7 +46591,7 @@ op_column_corrupt:
 	goto __9
 	goto __425
 __424:
-	rc = Xsqlite3CorruptError(tls, 93317)
+	rc = Xsqlite3CorruptError(tls, 93320)
 	goto abort_due_to_error
 __425:
 	;
@@ -48353,7 +48351,7 @@ notExistsWithKey:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) {
 		goto __682
 	}
-	rc = Xsqlite3CorruptError(tls, 95560)
+	rc = Xsqlite3CorruptError(tls, 95563)
 	goto __683
 __682:
 	goto jump_to_p2
@@ -49131,7 +49129,7 @@ __767:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) {
 		goto __770
 	}
-	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96635, ts+5850)
+	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96638, ts+5850)
 	goto abort_due_to_error
 __770:
 	;
@@ -49241,7 +49239,7 @@ __780:
 	if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) {
 		goto __781
 	}
-	rc = Xsqlite3CorruptError(tls, 96840)
+	rc = Xsqlite3CorruptError(tls, 96843)
 	goto abort_due_to_error
 __781:
 	;
@@ -49435,7 +49433,7 @@ __802:
 		goto __803
 	}
 
-	rc = Xsqlite3CorruptError(tls, 97092)
+	rc = Xsqlite3CorruptError(tls, 97095)
 __803:
 	;
 	Xsqlite3DbFreeNN(tls, db, zSql)
@@ -50802,7 +50800,7 @@ __955:
 	if !(rc == SQLITE_IOERR|int32(33)<<8) {
 		goto __957
 	}
-	rc = Xsqlite3CorruptError(tls, 99031)
+	rc = Xsqlite3CorruptError(tls, 99034)
 __957:
 	;
 __956:
@@ -51322,7 +51320,7 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99516)
+		return Xsqlite3MisuseError(tls, 99519)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -51405,7 +51403,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99616)
+		return Xsqlite3MisuseError(tls, 99619)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -54826,14 +54824,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			;
 			Xsqlite3WalkExpr(tls, pWalker, (*Expr)(unsafe.Pointer(pExpr)).FpLeft)
 			if 0 == Xsqlite3ExprCanBeNull(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
-				if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6748
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsTrue)
-				} else {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6753
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
-				}
-				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
+				*(*int32)(unsafe.Pointer(pExpr + 8)) = libc.Bool32(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL)
+				*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IntValue)
+				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_INTEGER)
+
 				i = 0
 				p = pNC
 			__4:
@@ -54877,7 +54871,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_GenCol) != 0 {
-					notValidImpl(tls, pParse, pNC, ts+6759, uintptr(0), pExpr)
+					notValidImpl(tls, pParse, pNC, ts+6748, uintptr(0), pExpr)
 				}
 
 				pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight
@@ -54941,7 +54935,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 						(*Expr)(unsafe.Pointer(pExpr)).FiTable = exprProbability(tls, (*ExprList_item)(unsafe.Pointer(pList+8+1*32)).FpExpr)
 						if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 {
 							Xsqlite3ErrorMsg(tls, pParse,
-								ts+6776, libc.VaList(bp, pExpr))
+								ts+6765, libc.VaList(bp, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
 					} else {
@@ -54957,7 +54951,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 					var auth int32 = Xsqlite3AuthCheck(tls, pParse, SQLITE_FUNCTION, uintptr(0), (*FuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0))
 					if auth != SQLITE_OK {
 						if auth == SQLITE_DENY {
-							Xsqlite3ErrorMsg(tls, pParse, ts+6840,
+							Xsqlite3ErrorMsg(tls, pParse, ts+6829,
 								libc.VaList(bp+8, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
@@ -54971,7 +54965,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				}
 				if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_CONSTANT) == U32(0) {
 					if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_PartIdx|NC_GenCol) != 0 {
-						notValidImpl(tls, pParse, pNC, ts+6876, uintptr(0), pExpr)
+						notValidImpl(tls, pParse, pNC, ts+6865, uintptr(0), pExpr)
 					}
 
 				} else {
@@ -54994,30 +54988,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			if 0 == libc.Bool32(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 				if pDef != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+6904, libc.VaList(bp+16, pExpr))
+						ts+6893, libc.VaList(bp+16, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowAgg == 0 ||
 					is_agg != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) ||
 					is_agg != 0 && pWin != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowWin == 0 {
 					var zType uintptr
 					if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 {
-						zType = ts + 6947
+						zType = ts + 6936
 					} else {
-						zType = ts + 6954
+						zType = ts + 6943
 					}
-					Xsqlite3ErrorMsg(tls, pParse, ts+6964, libc.VaList(bp+24, zType, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6953, libc.VaList(bp+24, zType, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 					is_agg = 0
 				} else if no_such_func != 0 && int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+6992, libc.VaList(bp+40, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+6981, libc.VaList(bp+40, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if wrong_num_args != 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+7014,
+					Xsqlite3ErrorMsg(tls, pParse, ts+7003,
 						libc.VaList(bp+48, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg == 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7058,
+						ts+7047,
 						libc.VaList(bp+56, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				}
@@ -55089,15 +55083,15 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_SelfRef != 0 {
-					notValidImpl(tls, pParse, pNC, ts+7106, pExpr, pExpr)
+					notValidImpl(tls, pParse, pNC, ts+7095, pExpr, pExpr)
 				} else {
 					Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32)))
 				}
 
 				if nRef != (*NameContext)(unsafe.Pointer(pNC)).FnRef {
 					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_VarSelect)
-					*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_VarSelect
 				}
+				*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_Subquery
 			}
 			break
 
@@ -55105,7 +55099,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 	case TK_VARIABLE:
 		{
 			if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IsCheck|NC_PartIdx|NC_IdxExpr|NC_GenCol) != 0 {
-				notValidImpl(tls, pParse, pNC, ts+7117, pExpr, pExpr)
+				notValidImpl(tls, pParse, pNC, ts+7106, pExpr, pExpr)
 			}
 
 			break
@@ -55236,7 +55230,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3
 	defer tls.Free(24)
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+7128, libc.VaList(bp, i, zType, mx))
+		ts+7117, libc.VaList(bp, i, zType, mx))
 	Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pError)
 }
 
@@ -55256,7 +55250,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	}
 	db = (*Parse)(unsafe.Pointer(pParse)).Fdb
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7184, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7173, 0)
 		return 1
 	}
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
@@ -55291,7 +55285,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 			}
 			if Xsqlite3ExprIsInteger(tls, pE, bp+8) != 0 {
 				if *(*int32)(unsafe.Pointer(bp + 8)) <= 0 || *(*int32)(unsafe.Pointer(bp + 8)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr {
-					resolveOutOfRangeError(tls, pParse, ts+7218, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
+					resolveOutOfRangeError(tls, pParse, ts+7207, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
 					return 1
 				}
 			} else {
@@ -55348,7 +55342,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
 		if int32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2) == 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+7224, libc.VaList(bp, i+1))
+				ts+7213, libc.VaList(bp, i+1))
 			return 1
 		}
 	}
@@ -55376,7 +55370,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr,
 		return 0
 	}
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7285, libc.VaList(bp, zType))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7274, libc.VaList(bp, zType))
 		return 1
 	}
 	pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList
@@ -55590,7 +55584,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		*(*int32)(unsafe.Pointer(bp + 40)) |= NC_UEList
 		if (*Select)(unsafe.Pointer(p)).FpHaving != 0 {
 			if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Aggregate) == U32(0) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7316, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+7305, 0)
 				return WRC_Abort
 			}
 			if Xsqlite3ResolveExprNames(tls, bp, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 {
@@ -55630,7 +55624,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 
 		if (*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) &&
 			isCompound <= nCompound &&
-			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7218) != 0 {
+			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7207) != 0 {
 			return WRC_Abort
 		}
 		if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -55641,7 +55635,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		if pGroupBy != 0 {
 			var pItem uintptr
 
-			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7355) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
+			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+7344) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 				return WRC_Abort
 			}
 			i = 0
@@ -55653,7 +55647,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 			{
 				if (*Expr)(unsafe.Pointer((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr)).Fflags&U32(EP_Agg) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+7361, 0)
+						ts+7350, 0)
 					return WRC_Abort
 				}
 
@@ -56517,7 +56511,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32
 	var mxHeight int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4))
 	if nHeight > mxHeight {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+7420, libc.VaList(bp, mxHeight))
+			ts+7409, libc.VaList(bp, mxHeight))
 		rc = SQLITE_ERROR
 	}
 	return rc
@@ -56766,10 +56760,10 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList
 			nExprElem = 1
 		}
 		if nExprElem != nElem {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7468,
+			Xsqlite3ErrorMsg(tls, pParse, ts+7457,
 				libc.VaList(bp, nExprElem, func() uintptr {
 					if nExprElem > 1 {
-						return ts + 7512
+						return ts + 7501
 					}
 					return ts + 1538
 				}(), nElem))
@@ -56810,7 +56804,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt
 		!(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 		Xsqlite3ExprDeferredDelete(tls, pParse, pLeft)
 		Xsqlite3ExprDeferredDelete(tls, pParse, pRight)
-		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7514)
+		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+7503)
 	} else {
 		return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight)
 	}
@@ -56836,7 +56830,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u
 	if pList != 0 &&
 		(*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) &&
 		!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7516, libc.VaList(bp, pToken))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7505, libc.VaList(bp, pToken))
 	}
 	*(*uintptr)(unsafe.Pointer(pNew + 32)) = pList
 	*(*U32)(unsafe.Pointer(pNew + 4)) |= U32(EP_HasFunc)
@@ -56864,7 +56858,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD
 	if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromDDL) != U32(0) {
 		if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_DIRECT) != U32(0) ||
 			(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) == uint64(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+7550, libc.VaList(bp, pExpr))
+			Xsqlite3ErrorMsg(tls, pParse, ts+7539, libc.VaList(bp, pExpr))
 		}
 	}
 }
@@ -56911,7 +56905,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 			}
 
 			if bOk == 0 || *(*I64)(unsafe.Pointer(bp + 8)) < int64(1) || *(*I64)(unsafe.Pointer(bp + 8)) > I64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+7570,
+				Xsqlite3ErrorMsg(tls, pParse, ts+7559,
 					libc.VaList(bp, *(*int32)(unsafe.Pointer(db + 136 + 9*4))))
 				Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 				return
@@ -56936,7 +56930,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 	}
 	(*Expr)(unsafe.Pointer(pExpr)).FiColumn = x
 	if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7613, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+7602, 0)
 		Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 	}
 }
@@ -57511,7 +57505,7 @@ __2:
 	if !(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_SELECT && (*IdList)(unsafe.Pointer(pColumns)).FnId != libc.AssignInt32(&n, Xsqlite3ExprVectorSize(tls, pExpr))) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7636,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7625,
 		libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n))
 	goto vector_append_error
 __3:
@@ -57634,7 +57628,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr,
 	var mx int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4))
 
 	if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx {
-		Xsqlite3ErrorMsg(tls, pParse, ts+7666, libc.VaList(bp, zObject))
+		Xsqlite3ErrorMsg(tls, pParse, ts+7655, libc.VaList(bp, zObject))
 	}
 }
 
@@ -57690,10 +57684,10 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int
 //	  "false"                        EP_IsFalse
 //	  anything else                  0
 func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 {
-	if Xsqlite3StrICmp(tls, zIn, ts+6748) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7678) == 0 {
 		return U32(EP_IsTrue)
 	}
-	if Xsqlite3StrICmp(tls, zIn, ts+6753) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+7683) == 0 {
 		return U32(EP_IsFalse)
 	}
 	return U32(0)
@@ -58768,7 +58762,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 {
 	}
 	if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
-		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7514)
+		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+7503)
 		if pLimit != 0 {
 			(*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC)
 			pLimit = Xsqlite3PExpr(tls, pParse, TK_NE,
@@ -59206,6 +59200,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr
 func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) {
 	var iAddr int32
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
+	var nErr int32 = (*Parse)(unsafe.Pointer(pParse)).FnErr
 
 	if (*Parse)(unsafe.Pointer(pParse)).FiSelfTab > 0 {
 		iAddr = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Parse)(unsafe.Pointer(pParse)).FiSelfTab-1, 0, regOut)
@@ -59219,6 +59214,9 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr
 	if iAddr != 0 {
 		Xsqlite3VdbeJumpHere(tls, v, iAddr)
 	}
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr > nErr {
+		(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FerrByteOffset = -1
+	}
 }
 
 // Generate code to extract the value of the iCol-th column of a table.
@@ -59437,6 +59435,7 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 	var p uintptr
 	var v uintptr
 	for p = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr; p != 0; p = (*IndexedExpr)(unsafe.Pointer(p)).FpIENext {
+		var exprAff U8
 		var iDataCur int32 = (*IndexedExpr)(unsafe.Pointer(p)).FiDataCur
 		if iDataCur < 0 {
 			continue
@@ -59450,6 +59449,14 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 		if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IndexedExpr)(unsafe.Pointer(p)).FpExpr, iDataCur) != 0 {
 			continue
 		}
+
+		exprAff = U8(Xsqlite3ExprAffinity(tls, pExpr))
+		if int32(exprAff) <= SQLITE_AFF_BLOB && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_BLOB ||
+			int32(exprAff) == SQLITE_AFF_TEXT && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_TEXT ||
+			int32(exprAff) >= SQLITE_AFF_NUMERIC && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_NUMERIC {
+			continue
+		}
+
 		v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 
 		if (*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow != 0 {
@@ -60223,7 +60230,7 @@ __121:
 	if !((*Expr)(unsafe.Pointer(pExpr)).FiTable != n1) {
 		goto __122
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+7636,
+	Xsqlite3ErrorMsg(tls, pParse, ts+7625,
 		libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1))
 __122:
 	;
@@ -60245,11 +60252,10 @@ __49:
 	return target
 
 __50:
-	if !(!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) &&
-		(*Expr)(unsafe.Pointer(pExpr)).FpLeft != 0 &&
-		int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_FUNCTION) {
+	if !!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) {
 		goto __123
 	}
+
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	if !(inReg != target) {
 		goto __125
@@ -60320,13 +60326,19 @@ __129:
 	;
 __127:
 	;
-	addrINR = Xsqlite3VdbeAddOp1(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable)
+	addrINR = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable, 0, target)
 
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = U8(0)
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = okConstFactor
+	if !(inReg != target) {
+		goto __130
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, inReg, target)
+	inReg = target
+__130:
+	;
 	Xsqlite3VdbeJumpHere(tls, v, addrINR)
-	Xsqlite3VdbeChangeP3(tls, v, addrINR, inReg)
 	goto __5
 
 __56:
@@ -60339,15 +60351,15 @@ __56:
 	nExpr = (*ExprList)(unsafe.Pointer(pEList)).FnExpr
 	endLabel = Xsqlite3VdbeMakeLabel(tls, pParse)
 	if !(libc.AssignUintptr(&pX, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) != uintptr(0)) {
-		goto __130
+		goto __131
 	}
 	pDel = Xsqlite3ExprDup(tls, db1, pX, 0)
 	if !((*Sqlite3)(unsafe.Pointer(db1)).FmallocFailed != 0) {
-		goto __131
+		goto __132
 	}
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	goto __5
-__131:
+__132:
 	;
 	exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+40))
 
@@ -60357,22 +60369,22 @@ __131:
 	pTest = bp + 120
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = 0
-__130:
+__131:
 	;
 	i1 = 0
-__132:
+__133:
 	if !(i1 < nExpr-1) {
-		goto __134
+		goto __135
 	}
 	if !(pX != 0) {
-		goto __135
+		goto __136
 	}
 
 	(*Expr)(unsafe.Pointer(bp + 120)).FpRight = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
-	goto __136
-__135:
-	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+	goto __137
 __136:
+	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+__137:
 	;
 	nextCase = Xsqlite3VdbeMakeLabel(tls, pParse)
 
@@ -60381,21 +60393,21 @@ __136:
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(aListelem+uintptr(i1+1)*32)).FpExpr, target)
 	Xsqlite3VdbeGoto(tls, v, endLabel)
 	Xsqlite3VdbeResolveLabel(tls, v, nextCase)
-	goto __133
-__133:
-	i1 = i1 + 2
-	goto __132
 	goto __134
 __134:
+	i1 = i1 + 2
+	goto __133
+	goto __135
+__135:
 	;
 	if !(nExpr&1 != 0) {
-		goto __137
+		goto __138
 	}
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(pEList+8+uintptr(nExpr-1)*32)).FpExpr, target)
-	goto __138
-__137:
-	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+	goto __139
 __138:
+	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+__139:
 	;
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	setDoNotMergeFlagOnCopy(tls, v)
@@ -60405,27 +60417,27 @@ __138:
 __57:
 	;
 	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).FpTriggerTab) != 0) && !(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0)) {
-		goto __139
+		goto __140
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
 		ts+8066, 0)
 	return 0
-__139:
-	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
-		goto __140
-	}
-	Xsqlite3MayAbort(tls, pParse)
 __140:
 	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
 		goto __141
 	}
+	Xsqlite3MayAbort(tls, pParse)
+__141:
+	;
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+		goto __142
+	}
 	Xsqlite3VdbeAddOp4(tls,
 		v, OP_Halt, SQLITE_OK, OE_Ignore, 0, *(*uintptr)(unsafe.Pointer(pExpr + 8)), 0)
 
-	goto __142
-__141:
+	goto __143
+__142:
 	Xsqlite3HaltConstraint(tls, pParse,
 		func() int32 {
 			if (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab != 0 {
@@ -60434,7 +60446,7 @@ __141:
 			return SQLITE_ERROR
 		}(),
 		int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr), *(*uintptr)(unsafe.Pointer(pExpr + 8)), int8(0), uint8(0))
-__142:
+__143:
 	;
 	goto __5
 
@@ -63105,7 +63117,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 		return SQLITE_NOMEM
 	}
 	if Xsqlite3_strnicmp(tls, zSql, ts+10906, 7) != 0 {
-		return Xsqlite3CorruptError(tls, 113494)
+		return Xsqlite3CorruptError(tls, 113516)
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 {
 		if bTemp != 0 {
@@ -63122,7 +63134,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 	}
 	if rc == SQLITE_OK &&
 		((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
-		rc = Xsqlite3CorruptError(tls, 113505)
+		rc = Xsqlite3CorruptError(tls, 113527)
 	}
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
@@ -64043,7 +64055,7 @@ __1:
 		goto __2
 	}
 
-	rc = Xsqlite3CorruptError(tls, 114441)
+	rc = Xsqlite3CorruptError(tls, 114463)
 	goto drop_column_done
 __2:
 	;
@@ -68406,6 +68418,12 @@ __10:
 
 	pExpr = Xsqlite3PExpr(tls, pParse, TK_UPLUS, pExpr, uintptr(0))
 __11:
+	;
+	if !(pExpr != 0 && int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_RAISE) {
+		goto __12
+	}
+	(*Expr)(unsafe.Pointer(pExpr)).FaffExpr = (*Column)(unsafe.Pointer(pCol)).Faffinity
+__12:
 	;
 	Xsqlite3ColumnSetExpr(tls, pParse, pTab, pCol, pExpr)
 	pExpr = uintptr(0)
@@ -69571,7 +69589,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 {
 		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+3270, 4) == 0 {
 			return 0
 		}
-		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7117, 10) == 0 {
+		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+7106, 10) == 0 {
 			return 0
 		}
 		return 1
@@ -70817,7 +70835,7 @@ __81:
 		goto __101
 	}
 	Xsqlite3ErrorMsg(tls, pParse, ts+14124, 0)
-	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121835)
+	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121859)
 	goto exit_create_index
 __101:
 	;
@@ -72862,7 +72880,7 @@ __20:
 	goto __16
 __15:
 	wcf = U16(WHERE_ONEPASS_DESIRED | WHERE_DUPLICATES_OK)
-	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_VarSelect != 0) {
+	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_Subquery != 0) {
 		goto __23
 	}
 	bComplex = 1
@@ -79328,7 +79346,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca
 	if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) {
 		goto __1
 	}
-	return Xsqlite3MisuseError(tls, 131895)
+	return Xsqlite3MisuseError(tls, 131931)
 __1:
 	;
 	if !(zSql == uintptr(0)) {
@@ -80727,7 +80745,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh
 		} else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) {
 			zType = ts + 17497
 		} else {
-			zType = ts + 7512
+			zType = ts + 7501
 		}
 		Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17499,
 			libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin,
@@ -80888,6 +80906,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p
 	var zErr2 uintptr
 	var k3 int32
 	var pCheck uintptr
+	var jmp7 int32
 	var jmp6 int32
 	var iCol1 int32
 	var uniqOk int32
@@ -82169,7 +82188,7 @@ __208:
 		goto __210
 	}
 	pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7512, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7501, libc.VaList(bp+264, (*Module)(unsafe.Pointer(pMod)).FzName))
 	goto __209
 __209:
 	j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext
@@ -82185,7 +82204,7 @@ __211:
 	if !(i6 < int32(uint64(unsafe.Sizeof(aPragmaName))/uint64(unsafe.Sizeof(PragmaName{})))) {
 		goto __213
 	}
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7512, libc.VaList(bp+272, aPragmaName[i6].FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+7501, libc.VaList(bp+272, aPragmaName[i6].FzName))
 	goto __212
 __212:
 	i6++
@@ -82990,80 +83009,94 @@ __337:
 	jmp4 = integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, jmp21)
 
+	if !((*Table)(unsafe.Pointer(pTab9)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) {
+		goto __338
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_IdxRowid, *(*int32)(unsafe.Pointer(bp + 608))+j4, 3)
+	jmp7 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 3, 0, r1+int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)-1)
+
+	Xsqlite3VdbeLoadString(tls, v, 3,
+		ts+17913)
+	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17949)
+	Xsqlite3VdbeGoto(tls, v, jmp5-1)
+	Xsqlite3VdbeJumpHere(tls, v, jmp7)
+__338:
+	;
 	label6 = 0
 	kk = 0
-__338:
+__339:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __340
-	}
-	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __341
 	}
-	goto __339
-__341:
-	;
-	if !(label6 == 0) {
+	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __342
 	}
-	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+	goto __340
 __342:
+	;
+	if !(label6 == 0) {
+		goto __343
+	}
+	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+__343:
 	;
 	Xsqlite3VdbeAddOp3(tls, v, OP_Column, *(*int32)(unsafe.Pointer(bp + 608))+j4, kk, 3)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Ne, 3, label6, r1+kk)
-	goto __339
-__339:
-	kk++
-	goto __338
 	goto __340
 __340:
+	kk++
+	goto __339
+	goto __341
+__341:
 	;
 	if !(label6 != 0) {
-		goto __343
+		goto __344
 	}
 	jmp6 = Xsqlite3VdbeAddOp0(tls, v, OP_Goto)
 	Xsqlite3VdbeResolveLabel(tls, v, label6)
 	Xsqlite3VdbeLoadString(tls, v, 3, ts+17887)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
-	Xsqlite3VdbeLoadString(tls, v, 4, ts+17913)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+17960)
 	Xsqlite3VdbeGoto(tls, v, jmp5-1)
 	Xsqlite3VdbeJumpHere(tls, v, jmp6)
-__343:
+__344:
 	;
 	if !(int32((*Index)(unsafe.Pointer(pIdx5)).FonError) != OE_None) {
-		goto __344
+		goto __345
 	}
 	uniqOk = Xsqlite3VdbeMakeLabel(tls, pParse)
 	kk = 0
-__345:
+__346:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __347
+		goto __348
 	}
 	iCol1 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2)))
 
 	if !(iCol1 >= 0 && uint32(int32(*(*uint8)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*24 + 8))&0xf>>0)) != 0) {
-		goto __348
+		goto __349
 	}
-	goto __346
-__348:
+	goto __347
+__349:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_IsNull, r1+kk, uniqOk)
 
-	goto __346
-__346:
-	kk++
-	goto __345
 	goto __347
 __347:
+	kk++
+	goto __346
+	goto __348
+__348:
 	;
 	jmp61 = Xsqlite3VdbeAddOp1(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 608))+j4)
 	Xsqlite3VdbeGoto(tls, v, uniqOk)
 	Xsqlite3VdbeJumpHere(tls, v, jmp61)
 	Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, *(*int32)(unsafe.Pointer(bp + 608))+j4, uniqOk, r1,
 		int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol))
-	Xsqlite3VdbeLoadString(tls, v, 3, ts+17940)
+	Xsqlite3VdbeLoadString(tls, v, 3, ts+17987)
 	Xsqlite3VdbeGoto(tls, v, jmp5)
 	Xsqlite3VdbeResolveLabel(tls, v, uniqOk)
-__344:
+__345:
 	;
 	Xsqlite3VdbeJumpHere(tls, v, jmp4)
 	Xsqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 624)))
@@ -83080,20 +83113,20 @@ __333:
 	Xsqlite3VdbeAddOp2(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 604)), loopTop)
 	Xsqlite3VdbeJumpHere(tls, v, loopTop-1)
 	if !!(isQuick != 0) {
-		goto __349
+		goto __350
 	}
-	Xsqlite3VdbeLoadString(tls, v, 2, ts+17967)
+	Xsqlite3VdbeLoadString(tls, v, 2, ts+18014)
 	j4 = 0
 	pIdx5 = (*Table)(unsafe.Pointer(pTab9)).FpIndex
-__350:
+__351:
 	if !(pIdx5 != 0) {
-		goto __352
-	}
-	if !(pPk1 == pIdx5) {
 		goto __353
 	}
-	goto __351
-__353:
+	if !(pPk1 == pIdx5) {
+		goto __354
+	}
+	goto __352
+__354:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_Count, *(*int32)(unsafe.Pointer(bp + 608))+j4, 3)
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 8+j4, 0, 3)
@@ -83102,21 +83135,21 @@ __353:
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 2, 3)
 	integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
-	goto __351
-__351:
-	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
-	j4++
-	goto __350
 	goto __352
 __352:
+	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
+	j4++
+	goto __351
+	goto __353
+__353:
 	;
 	if !(pPk1 != 0) {
-		goto __354
+		goto __355
 	}
 	Xsqlite3ReleaseTempRange(tls, pParse, r2, int32((*Index)(unsafe.Pointer(pPk1)).FnKeyCol))
-__354:
+__355:
 	;
-__349:
+__350:
 	;
 	goto __284
 __284:
@@ -83134,14 +83167,14 @@ __259:
 	;
 	aOp2 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(endCode))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&endCode)), iLn5)
 	if !(aOp2 != 0) {
-		goto __355
+		goto __356
 	}
 	(*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = 1 - *(*int32)(unsafe.Pointer(bp + 600))
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1)
-	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 17996
+	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 18043
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 5*24)).Fp4type = int8(-1)
 	*(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT)
-__355:
+__356:
 	;
 	Xsqlite3VdbeChangeP3(tls, v, 0, Xsqlite3VdbeCurrentAddr(tls, v)-2)
 
@@ -83149,27 +83182,27 @@ __355:
 
 __45:
 	if !!(zRight != 0) {
-		goto __356
+		goto __357
 	}
 	if !(Xsqlite3ReadSchema(tls, pParse) != 0) {
-		goto __358
-	}
-	goto pragma_out
-__358:
-	;
-	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
-	goto __357
-__356:
-	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
 		goto __359
 	}
+	goto pragma_out
+__359:
+	;
+	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
+	goto __358
+__357:
+	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
+		goto __360
+	}
 	pEnc = uintptr(unsafe.Pointer(&encnames1))
-__360:
+__361:
 	if !((*EncName)(unsafe.Pointer(pEnc)).FzName != 0) {
-		goto __362
+		goto __363
 	}
 	if !(0 == Xsqlite3StrICmp(tls, zRight, (*EncName)(unsafe.Pointer(pEnc)).FzName)) {
-		goto __363
+		goto __364
 	}
 	if (*EncName)(unsafe.Pointer(pEnc)).Fenc != 0 {
 		enc = (*EncName)(unsafe.Pointer(pEnc)).Fenc
@@ -83178,25 +83211,25 @@ __360:
 	}
 	(*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema)).Fenc = enc
 	Xsqlite3SetTextEncoding(tls, db, enc)
-	goto __362
-__363:
-	;
-	goto __361
-__361:
-	pEnc += 16
-	goto __360
-	goto __362
-__362:
-	;
-	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
-		goto __364
-	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+17999, libc.VaList(bp+456, zRight))
+	goto __363
 __364:
 	;
-__359:
+	goto __362
+__362:
+	pEnc += 16
+	goto __361
+	goto __363
+__363:
 	;
-__357:
+	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
+		goto __365
+	}
+	Xsqlite3ErrorMsg(tls, pParse, ts+18046, libc.VaList(bp+456, zRight))
+__365:
+	;
+__360:
+	;
+__358:
 	;
 	goto __15
 
@@ -83204,15 +83237,15 @@ __46:
 	iCookie = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiArg)
 	Xsqlite3VdbeUsesBtree(tls, v, iDb)
 	if !(zRight != 0 && int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_ReadOnly == 0) {
-		goto __365
+		goto __366
 	}
 
 	aOp3 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(setCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&setCookie)), 0)
 	if !(0 != 0) {
-		goto __367
+		goto __368
 	}
 	goto __15
-__367:
+__368:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp3)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp1 = iDb
@@ -83220,41 +83253,41 @@ __367:
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp3 = Xsqlite3Atoi(tls, zRight)
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp5 = U16(1)
 	if !(iCookie == BTREE_SCHEMA_VERSION && (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0)) {
-		goto __368
+		goto __369
 	}
 
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fopcode = U8(OP_Noop)
-__368:
+__369:
 	;
-	goto __366
-__365:
+	goto __367
+__366:
 	;
 	aOp4 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(readCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&readCookie)), 0)
 	if !(0 != 0) {
-		goto __369
+		goto __370
 	}
 	goto __15
-__369:
+__370:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp4)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp3 = iCookie
 	Xsqlite3VdbeReusable(tls, v)
-__366:
+__367:
 	;
 	goto __15
 
 __47:
 	i10 = 0
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 1
-__370:
+__371:
 	if !(libc.AssignUintptr(&zOpt, Xsqlite3_compileoption_get(tls, libc.PostIncInt32(&i10, 1))) != uintptr(0)) {
-		goto __371
+		goto __372
 	}
 	Xsqlite3VdbeLoadString(tls, v, 1, zOpt)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1)
-	goto __370
-__371:
+	goto __371
+__372:
 	;
 	Xsqlite3VdbeReusable(tls, v)
 
@@ -83269,31 +83302,31 @@ __48:
 	}()
 	eMode2 = SQLITE_CHECKPOINT_PASSIVE
 	if !(zRight != 0) {
-		goto __372
-	}
-	if !(Xsqlite3StrICmp(tls, zRight, ts+17329) == 0) {
 		goto __373
 	}
+	if !(Xsqlite3StrICmp(tls, zRight, ts+17329) == 0) {
+		goto __374
+	}
 	eMode2 = SQLITE_CHECKPOINT_FULL
-	goto __374
-__373:
-	if !(Xsqlite3StrICmp(tls, zRight, ts+18024) == 0) {
-		goto __375
+	goto __375
+__374:
+	if !(Xsqlite3StrICmp(tls, zRight, ts+18071) == 0) {
+		goto __376
 	}
 	eMode2 = SQLITE_CHECKPOINT_RESTART
-	goto __376
-__375:
+	goto __377
+__376:
 	if !(Xsqlite3StrICmp(tls, zRight, ts+17482) == 0) {
-		goto __377
+		goto __378
 	}
 	eMode2 = SQLITE_CHECKPOINT_TRUNCATE
+__378:
+	;
 __377:
 	;
-__376:
+__375:
 	;
-__374:
-	;
-__372:
+__373:
 	;
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 3
 	Xsqlite3VdbeAddOp3(tls, v, OP_Checkpoint, iBt, eMode2, 1)
@@ -83303,10 +83336,10 @@ __372:
 
 __49:
 	if !(zRight != 0) {
-		goto __378
+		goto __379
 	}
 	Xsqlite3_wal_autocheckpoint(tls, db, Xsqlite3Atoi(tls, zRight))
-__378:
+__379:
 	;
 	returnSingleInt(tls, v,
 		func() int64 {
@@ -83326,19 +83359,19 @@ __50:
 
 __51:
 	if !(zRight != 0) {
-		goto __379
+		goto __380
 	}
 	opMask = U32(Xsqlite3Atoi(tls, zRight))
 	if !(opMask&U32(0x02) == U32(0)) {
-		goto __381
+		goto __382
 	}
 	goto __15
-__381:
+__382:
 	;
-	goto __380
-__379:
-	opMask = U32(0xfffe)
+	goto __381
 __380:
+	opMask = U32(0xfffe)
+__381:
 	;
 	iTabCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1)
 	iDbLast = func() int32 {
@@ -83347,86 +83380,86 @@ __380:
 		}
 		return (*Sqlite3)(unsafe.Pointer(db)).FnDb - 1
 	}()
-__382:
+__383:
 	if !(iDb <= iDbLast) {
-		goto __384
-	}
-	if !(iDb == 1) {
 		goto __385
 	}
-	goto __383
-__385:
+	if !(iDb == 1) {
+		goto __386
+	}
+	goto __384
+__386:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
 	pSchema = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema
 	k4 = (*Hash)(unsafe.Pointer(pSchema + 8)).Ffirst
-__386:
+__387:
 	if !(k4 != 0) {
-		goto __388
+		goto __389
 	}
 	pTab10 = (*HashElem)(unsafe.Pointer(k4)).Fdata
 
 	if !((*Table)(unsafe.Pointer(pTab10)).FtabFlags&U32(TF_StatsUsed) == U32(0)) {
-		goto __389
+		goto __390
 	}
-	goto __387
-__389:
+	goto __388
+__390:
 	;
 	szThreshold = LogEst(int32((*Table)(unsafe.Pointer(pTab10)).FnRowLogEst) + 46)
 	pIdx6 = (*Table)(unsafe.Pointer(pTab10)).FpIndex
-__390:
+__391:
 	if !(pIdx6 != 0) {
-		goto __392
-	}
-	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
 		goto __393
 	}
+	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
+		goto __394
+	}
 	szThreshold = int16(0)
-	goto __392
-__393:
+	goto __393
+__394:
 	;
-	goto __391
-__391:
-	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
-	goto __390
 	goto __392
 __392:
+	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
+	goto __391
+	goto __393
+__393:
 	;
 	if !(szThreshold != 0) {
-		goto __394
+		goto __395
 	}
 	Xsqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab10, OP_OpenRead)
 	Xsqlite3VdbeAddOp3(tls, v, OP_IfSmaller, iTabCur,
 		int32(U32(Xsqlite3VdbeCurrentAddr(tls, v)+2)+opMask&U32(1)), int32(szThreshold))
 
-__394:
+__395:
 	;
-	zSubSql = Xsqlite3MPrintf(tls, db, ts+18032,
+	zSubSql = Xsqlite3MPrintf(tls, db, ts+18079,
 		libc.VaList(bp+464, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab10)).FzName))
 	if !(opMask&U32(0x01) != 0) {
-		goto __395
+		goto __396
 	}
 	r11 = Xsqlite3GetTempReg(tls, pParse)
 	Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, r11, 0, zSubSql, -6)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, r11, 1)
-	goto __396
-__395:
-	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+	goto __397
 __396:
+	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+__397:
 	;
-	goto __387
-__387:
-	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
-	goto __386
 	goto __388
 __388:
+	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
+	goto __387
+	goto __389
+__389:
 	;
-	goto __383
-__383:
-	iDb++
-	goto __382
 	goto __384
 __384:
+	iDb++
+	goto __383
+	goto __385
+__385:
 	;
 	Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
 	goto __15
@@ -83434,36 +83467,36 @@ __384:
 __52:
 	;
 	if !(zRight != 0) {
-		goto __397
+		goto __398
 	}
 	Xsqlite3_busy_timeout(tls, db, Xsqlite3Atoi(tls, zRight))
-__397:
+__398:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout))
 	goto __15
 
 __53:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+632) == SQLITE_OK) {
-		goto __398
+		goto __399
 	}
 	Xsqlite3_soft_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 632)))
-__398:
+__399:
 	;
 	returnSingleInt(tls, v, Xsqlite3_soft_heap_limit64(tls, int64(-1)))
 	goto __15
 
 __54:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+640) == SQLITE_OK) {
-		goto __399
+		goto __400
 	}
 	iPrior = Xsqlite3_hard_heap_limit64(tls, int64(-1))
 	if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 640)) > int64(0) && (iPrior == int64(0) || iPrior > *(*Sqlite3_int64)(unsafe.Pointer(bp + 640)))) {
-		goto __400
+		goto __401
 	}
 	Xsqlite3_hard_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 640)))
-__400:
+__401:
 	;
-__399:
+__400:
 	;
 	returnSingleInt(tls, v, Xsqlite3_hard_heap_limit64(tls, int64(-1)))
 	goto __15
@@ -83472,10 +83505,10 @@ __55:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+648) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 648)) >= int64(0)) {
-		goto __401
+		goto __402
 	}
 	Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 648))&int64(0x7fffffff)))
-__401:
+__402:
 	;
 	returnSingleInt(tls, v, int64(Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, -1)))
 	goto __15
@@ -83484,10 +83517,10 @@ __56:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+656) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 656)) >= int64(0)) {
-		goto __402
+		goto __403
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 656)) & int64(0x7fffffff))
-__402:
+__403:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit))
 	goto __15
@@ -83495,10 +83528,10 @@ __402:
 __15:
 	;
 	if !(int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_NoColumns1 != 0 && zRight != 0) {
-		goto __403
+		goto __404
 	}
 
-__403:
+__404:
 	;
 pragma_out:
 	Xsqlite3DbFree(tls, db, zLeft)
@@ -83550,14 +83583,14 @@ var endCode = [7]VdbeOpList{
 	{Fopcode: U8(OP_Goto), Fp2: int8(3)},
 }
 var encnames1 = [9]EncName{
-	{FzName: ts + 18050, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18055, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 18061, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18070, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18079, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 18087, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 18095},
-	{FzName: ts + 18102},
+	{FzName: ts + 18097, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18102, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 18108, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18117, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18126, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 18134, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 18142},
+	{FzName: ts + 18149},
 	{},
 }
 var setCookie = [2]VdbeOpList{
@@ -83609,7 +83642,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	_ = argc
 	_ = argv
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), bp+64, int32(unsafe.Sizeof([200]int8{})), 0)
-	Xsqlite3_str_appendall(tls, bp+32, ts+18108)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18155)
 	i = 0
 	j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName)
 __1:
@@ -83617,7 +83650,7 @@ __1:
 		goto __3
 	}
 	{
-		Xsqlite3_str_appendf(tls, bp+32, ts+18123, libc.VaList(bp, int32(cSep), pragCName[j]))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18170, libc.VaList(bp, int32(cSep), pragCName[j]))
 		cSep = int8(',')
 
 	}
@@ -83630,16 +83663,16 @@ __2:
 __3:
 	;
 	if i == 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18130, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18177, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
 		i++
 	}
 	j = 0
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_Result1 != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18136)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18183)
 		j++
 	}
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(PragFlg_SchemaOpt|PragFlg_SchemaReq) != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+18148)
+		Xsqlite3_str_appendall(tls, bp+32, ts+18195)
 		j++
 	}
 	Xsqlite3_str_append(tls, bp+32, ts+4941, 1)
@@ -83822,13 +83855,13 @@ __2:
 __3:
 	;
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4)))
-	Xsqlite3_str_appendall(tls, bp+32, ts+18163)
+	Xsqlite3_str_appendall(tls, bp+32, ts+18210)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18171, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18218, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
 	}
 	Xsqlite3_str_appendall(tls, bp+32, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+18175, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+18222, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
 	}
 	zSql = Xsqlite3StrAccumFinish(tls, bp+32)
 	if zSql == uintptr(0) {
@@ -83905,12 +83938,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 	} else if *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) != uintptr(0) {
 	} else if (*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask) != 0 {
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db,
-			ts+18179, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
+			ts+18226, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
 				azAlterType[(*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask)-U32(1)],
 				zExtra))
 		(*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR
 	} else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137196)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137249)
 	} else {
 		var z uintptr
 		var zObj uintptr
@@ -83919,19 +83952,19 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 		} else {
 			zObj = ts + 4992
 		}
-		z = Xsqlite3MPrintf(tls, db, ts+18207, libc.VaList(bp+32, zObj))
+		z = Xsqlite3MPrintf(tls, db, ts+18254, libc.VaList(bp+32, zObj))
 		if zExtra != 0 && *(*int8)(unsafe.Pointer(zExtra)) != 0 {
-			z = Xsqlite3MPrintf(tls, db, ts+18238, libc.VaList(bp+40, z, zExtra))
+			z = Xsqlite3MPrintf(tls, db, ts+18285, libc.VaList(bp+40, z, zExtra))
 		}
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137203)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137256)
 	}
 }
 
 var azAlterType = [3]uintptr{
-	ts + 18246,
-	ts + 18253,
-	ts + 18265,
+	ts + 18293,
+	ts + 18300,
+	ts + 18312,
 }
 
 // Check to see if any sibling index (another index on the same table)
@@ -84023,7 +84056,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr
 		var pIndex uintptr
 		pIndex = Xsqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName)
 		if pIndex == uintptr(0) {
-			corruptSchema(tls, pData, argv, ts+18276)
+			corruptSchema(tls, pData, argv, ts+18323)
 		} else if Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2) ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage ||
@@ -84071,7 +84104,7 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl
 	}())
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 16 + 1*8))
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 3*8)) = ts + 7922
-	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18289
+	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 18336
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 5*8)) = uintptr(0)
 	(*InitData)(unsafe.Pointer(bp + 64)).Fdb = db
 	(*InitData)(unsafe.Pointer(bp + 64)).FiDb = iDb
@@ -84200,7 +84233,7 @@ __18:
 	if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) {
 		goto __19
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+18361)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+18408)
 	rc = SQLITE_ERROR
 	goto initone_error_out
 __19:
@@ -84214,7 +84247,7 @@ __20:
 	(*InitData)(unsafe.Pointer(bp + 64)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt)
 
 	zSql = Xsqlite3MPrintf(tls, db,
-		ts+18385,
+		ts+18432,
 		libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zSchemaTabName))
 
 	xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth
@@ -84546,7 +84579,7 @@ __4:
 		goto __8
 	}
 	zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName
-	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18419, libc.VaList(bp, zDb))
+	Xsqlite3ErrorWithMsg(tls, db, rc, ts+18466, libc.VaList(bp, zDb))
 
 	goto end_prepare
 __8:
@@ -84576,7 +84609,7 @@ __9:
 	if !(nBytes > mxLen) {
 		goto __12
 	}
-	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18449, 0)
+	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+18496, 0)
 	rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG)
 	goto end_prepare
 __12:
@@ -84672,7 +84705,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 137995)
+		return Xsqlite3MisuseError(tls, 138048)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	Xsqlite3BtreeEnterAll(tls, db)
@@ -84771,7 +84804,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 138143)
+		return Xsqlite3MisuseError(tls, 138196)
 	}
 	if nBytes >= 0 {
 		var sz int32
@@ -85098,13 +85131,13 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC
 			zSp2++
 		}
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+18468, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
+			ts+18515, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
 		jointype = JT_INNER
 	}
 	return jointype
 }
 
-var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18498))
+var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 18545))
 var aKeyword = [7]struct {
 	Fi     U8
 	FnChar U8
@@ -85279,7 +85312,7 @@ __1:
 			var pUsing uintptr = uintptr(0)
 			if uint32(int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+18532, libc.VaList(bp, 0))
+					ts+18579, libc.VaList(bp, 0))
 				return 1
 			}
 			for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ {
@@ -85324,7 +85357,7 @@ __1:
 					tableAndColumnIndex(tls, pSrc, 0, i, zName, bp+24, bp+28,
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) == 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+18582, libc.VaList(bp+8, zName))
+						ts+18629, libc.VaList(bp+8, zName))
 					return 1
 				}
 				pE1 = Xsqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 28)))
@@ -85335,7 +85368,7 @@ __1:
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) != 0 {
 						if int32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 60 + 4))&0x400>>10) == 0 ||
 							Xsqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 72)), zName) < 0 {
-							Xsqlite3ErrorMsg(tls, pParse, ts+18646,
+							Xsqlite3ErrorMsg(tls, pParse, ts+18693,
 								libc.VaList(bp+16, zName))
 							break
 						}
@@ -85963,16 +85996,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr {
 	var z uintptr
 	switch id {
 	case TK_ALL:
-		z = ts + 18683
+		z = ts + 18730
 		break
 	case TK_INTERSECT:
-		z = ts + 18693
+		z = ts + 18740
 		break
 	case TK_EXCEPT:
-		z = ts + 18703
+		z = ts + 18750
 		break
 	default:
-		z = ts + 18710
+		z = ts + 18757
 		break
 	}
 	return z
@@ -85982,7 +86015,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18716, libc.VaList(bp, zUsage))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18763, libc.VaList(bp, zUsage))
 }
 
 func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) {
@@ -86008,9 +86041,9 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n
 	var nRefKey int32 = 0
 	var aOutEx uintptr = (*Select)(unsafe.Pointer(p)).FpEList + 8
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18739, libc.VaList(bp, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18786, libc.VaList(bp, func() uintptr {
 		if (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 {
-			return ts + 18770
+			return ts + 18817
 		}
 		return ts + 1538
 	}()))
@@ -86354,7 +86387,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr)
 		} else {
 			var z uintptr = (*ExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32)).FzEName
 			if z == uintptr(0) {
-				z = Xsqlite3MPrintf(tls, db, ts+18785, libc.VaList(bp+16, i+1))
+				z = Xsqlite3MPrintf(tls, db, ts+18832, libc.VaList(bp+16, i+1))
 			} else {
 				z = Xsqlite3DbStrDup(tls, db, z)
 			}
@@ -86454,7 +86487,7 @@ __1:
 		if zName != 0 && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) {
 			zName = Xsqlite3DbStrDup(tls, db, zName)
 		} else {
-			zName = Xsqlite3MPrintf(tls, db, ts+18785, libc.VaList(bp, i+1))
+			zName = Xsqlite3MPrintf(tls, db, ts+18832, libc.VaList(bp, i+1))
 		}
 
 		*(*U32)(unsafe.Pointer(bp + 56)) = U32(0)
@@ -86470,7 +86503,7 @@ __1:
 					nName = j
 				}
 			}
-			zName = Xsqlite3MPrintf(tls, db, ts+18794, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
+			zName = Xsqlite3MPrintf(tls, db, ts+18841, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
 			Xsqlite3ProgressCheck(tls, pParse)
 			if *(*U32)(unsafe.Pointer(bp + 56)) > U32(3) {
 				Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56)
@@ -86553,8 +86586,6 @@ __1:
 		(*Column)(unsafe.Pointer(pCol)).Faffinity = Xsqlite3ExprAffinity(tls, p)
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) <= SQLITE_AFF_NONE {
 			(*Column)(unsafe.Pointer(pCol)).Faffinity = aff
-		} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
-			(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
 		}
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_TEXT && (*Select)(unsafe.Pointer(pSelect)).FpNext != 0 {
 			var m int32 = 0
@@ -86569,12 +86600,15 @@ __1:
 			} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && m&0x02 != 0 {
 				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_BLOB)
 			}
+			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
+				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
+			}
 		}
 		zType = columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0))
 		if zType == uintptr(0) || int32((*Column)(unsafe.Pointer(pCol)).Faffinity) != int32(Xsqlite3AffinityType(tls, zType, uintptr(0))) {
 			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_NUMERIC ||
 				int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_FLEXNUM {
-				zType = ts + 18802
+				zType = ts + 18849
 			} else {
 				zType = uintptr(0)
 				for j = 1; j < SQLITE_N_STDTYPE; j++ {
@@ -86790,7 +86824,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest
 	if !((*Select)(unsafe.Pointer(p)).FpWin != 0) {
 		goto __1
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18806, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18853, 0)
 	return
 __1:
 	;
@@ -86881,7 +86915,7 @@ __12:
 	if !((*Select)(unsafe.Pointer(pFirstRec)).FselFlags&U32(SF_Aggregate) != 0) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+18855, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+18902, 0)
 	goto end_of_recursive_query
 __15:
 	;
@@ -86901,7 +86935,7 @@ __14:
 	;
 	pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18897, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18944, 0)
 	rc = Xsqlite3Select(tls, pParse, pSetup, bp)
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = p
 	if !(rc != 0) {
@@ -86938,7 +86972,7 @@ __20:
 	Xsqlite3VdbeResolveLabel(tls, v, addrCont)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18903, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18950, 0)
 	Xsqlite3Select(tls, pParse, p, bp)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup
@@ -86972,11 +87006,11 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 		p = (*Select)(unsafe.Pointer(p)).FpPrior
 		nRow = nRow + bShowAll
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18918, libc.VaList(bp, nRow, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18965, libc.VaList(bp, nRow, func() uintptr {
 		if nRow == 1 {
 			return ts + 1538
 		}
-		return ts + 18941
+		return ts + 18988
 	}()))
 	for p != 0 {
 		selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1)
@@ -87077,8 +87111,8 @@ __6:
 	if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) {
 		goto __8
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18943, 0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18958, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18990, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19005, 0)
 __8:
 	;
 	switch int32((*Select)(unsafe.Pointer(p)).Fop) {
@@ -87125,7 +87159,7 @@ __16:
 	;
 __15:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18683, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18730, 0)
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+16)
 
@@ -87192,7 +87226,7 @@ __23:
 	pLimit = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 64)).FeDest = op
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18977, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19024, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+64)
 
@@ -87254,7 +87288,7 @@ __26:
 	pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 104)).FiSDParm = tab2
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18977, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19024, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+104)
 
@@ -87407,10 +87441,10 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr)
 	defer tls.Free(8)
 
 	if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Values) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+18998, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+19045, 0)
 	} else {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+19044,
+			ts+19091,
 			libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 	}
 }
@@ -87664,8 +87698,8 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	(*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0)
 
 	(*Select)(unsafe.Pointer(pPrior)).FpOrderBy = Xsqlite3ExprListDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7218)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7218)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+7207)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+7207)
 
 	computeLimitRegisters(tls, pParse, p, labelEnd)
 	if (*Select)(unsafe.Pointer(p)).FiLimit != 0 && op == TK_ALL {
@@ -87692,13 +87726,13 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	Xsqlite3SelectDestInit(tls, bp+8, SRT_Coroutine, regAddrA)
 	Xsqlite3SelectDestInit(tls, bp+48, SRT_Coroutine, regAddrB)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19126, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19173, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	addrSelectA = Xsqlite3VdbeCurrentAddr(tls, v) + 1
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA)
 
 	(*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19137, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19184, 0)
 	Xsqlite3Select(tls, pParse, pPrior, bp+8)
 	Xsqlite3VdbeEndCoroutine(tls, v, regAddrA)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
@@ -87710,7 +87744,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset
 	(*Select)(unsafe.Pointer(p)).FiLimit = regLimitB
 	(*Select)(unsafe.Pointer(p)).FiOffset = 0
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19142, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19189, 0)
 	Xsqlite3Select(tls, pParse, p, bp+48)
 	(*Select)(unsafe.Pointer(p)).FiLimit = savedLimit
 	(*Select)(unsafe.Pointer(p)).FiOffset = savedOffset
@@ -87898,7 +87932,8 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr {
 				Xsqlite3VectorErrorMsg(tls, (*SubstContext)(unsafe.Pointer(pSubst)).FpParse, pCopy)
 			} else {
 				var db uintptr = (*Parse)(unsafe.Pointer((*SubstContext)(unsafe.Pointer(pSubst)).FpParse)).Fdb
-				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 && int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN {
+				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 &&
+					(int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN || (*Expr)(unsafe.Pointer(pCopy)).FiTable != (*SubstContext)(unsafe.Pointer(pSubst)).FiNewTable) {
 					libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(Expr{})))
 					(*Expr)(unsafe.Pointer(bp)).Fop = U8(TK_IF_NULL_ROW)
 					(*Expr)(unsafe.Pointer(bp)).FpLeft = pCopy
@@ -88797,7 +88832,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	for pIdx = (*Table)(unsafe.Pointer(pTab)).FpIndex; pIdx != 0 && Xsqlite3StrICmp(tls, (*Index)(unsafe.Pointer(pIdx)).FzName, zIndexedBy) != 0; pIdx = (*Index)(unsafe.Pointer(pIdx)).FpNext {
 	}
 	if !(pIdx != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19148, libc.VaList(bp, zIndexedBy, 0))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19195, libc.VaList(bp, zIndexedBy, 0))
 		(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 		return SQLITE_ERROR
 	}
@@ -88880,7 +88915,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 {
 	defer tls.Free(8)
 
 	if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+19166, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+19213, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
 		return 1
 	}
 	return 0
@@ -89009,7 +89044,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		*(*U32)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= U32(SF_CopyCte)
 
 		if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19189, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
+			Xsqlite3ErrorMsg(tls, pParse, ts+19236, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
 			return 2
 		}
 		libc.SetBitFieldPtr16Uint32(pFrom+60+4, uint32(1), 8, 0x100)
@@ -89032,7 +89067,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 					libc.SetBitFieldPtr16Uint32(pItem+60+4, uint32(1), 6, 0x40)
 					if (*Select)(unsafe.Pointer(pRecTerm)).FselFlags&U32(SF_Recursive) != 0 {
 						Xsqlite3ErrorMsg(tls, pParse,
-							ts+19209, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
+							ts+19256, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
 						return 2
 					}
 					*(*U32)(unsafe.Pointer(pRecTerm + 4)) |= U32(SF_Recursive)
@@ -89048,7 +89083,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 			pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior
 		}
 
-		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19252
+		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19299
 		pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith
 		(*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 48))
 		if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
@@ -89074,7 +89109,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		pEList = (*Select)(unsafe.Pointer(pLeft)).FpEList
 		if (*Cte)(unsafe.Pointer(pCte)).FpCols != 0 {
 			if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr != (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19275,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19322,
 					libc.VaList(bp+24, (*Cte)(unsafe.Pointer(pCte)).FzName, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr))
 				(*Parse)(unsafe.Pointer(pParse)).FpWith = pSavedWith
 				return 2
@@ -89085,9 +89120,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		Xsqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8)
 		if bMayRecursive != 0 {
 			if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19313
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19360
 			} else {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19347
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 19394
 			}
 			Xsqlite3WalkSelect(tls, pWalker, pSel)
 		}
@@ -89134,7 +89169,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	if (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 {
 		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3DbStrDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias)
 	} else {
-		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19385, libc.VaList(bp, pFrom))
+		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+19432, libc.VaList(bp, pFrom))
 	}
 	for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 {
 		pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior
@@ -89246,7 +89281,7 @@ __1:
 				return WRC_Abort
 			}
 			if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+19389,
+				Xsqlite3ErrorMsg(tls, pParse, ts+19436,
 					libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 				(*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0)
 				return WRC_Abort
@@ -89265,7 +89300,7 @@ __1:
 				if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW {
 					if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) &&
 						(*Table)(unsafe.Pointer(pTab)).FpSchema != (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19428,
+						Xsqlite3ErrorMsg(tls, pParse, ts+19475,
 							libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName))
 					}
 					(*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, *(*uintptr)(unsafe.Pointer(pTab + 64)), 0)
@@ -89389,7 +89424,7 @@ __3:
 							if pNew != 0 {
 								var pX uintptr = pNew + 8 + uintptr((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1)*32
 
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19459, libc.VaList(bp+24, zUName))
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19506, libc.VaList(bp+24, zUName))
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(ENAME_TAB), 0, 0x3)
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(1), 7, 0x80)
 							}
@@ -89454,7 +89489,7 @@ __3:
 								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(pNestedFrom+8+uintptr(j)*32)).FzEName)
 
 							} else {
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19464,
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19511,
 									libc.VaList(bp+32, zSchemaName, zTabName, zName))
 
 							}
@@ -89485,9 +89520,9 @@ __3:
 				;
 				if !(tableSeen != 0) {
 					if zTName != 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19473, libc.VaList(bp+72, zTName))
+						Xsqlite3ErrorMsg(tls, pParse, ts+19520, libc.VaList(bp+72, zTName))
 					} else {
-						Xsqlite3ErrorMsg(tls, pParse, ts+19491, 0)
+						Xsqlite3ErrorMsg(tls, pParse, ts+19538, 0)
 					}
 				}
 			}
@@ -89497,7 +89532,7 @@ __3:
 	}
 	if (*Select)(unsafe.Pointer(p)).FpEList != 0 {
 		if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+19511, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+19558, 0)
 			return WRC_Abort
 		}
 		if elistFlags&U32(EP_HasFunc|EP_Subquery) != U32(0) {
@@ -89635,7 +89670,7 @@ func optimizeAggregateUseOfIndexedExpr(tls *libc.TLS, pParse uintptr, pSelect ui
 	(*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn = (*AggInfo)(unsafe.Pointer(pAggInfo)).FnAccumulator
 	if int32((*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn) > 0 {
 		if (*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn == 0 {
-			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(0)
+			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpGroupBy)).FnExpr)
 		} else {
 			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(int32((*AggInfo_col)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaCol+uintptr((*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn-1)*24)).FiSorterColumn) + 1)
 		}
@@ -89719,13 +89754,13 @@ __1:
 
 			if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != 1 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+19542, 0)
+					ts+19589, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1
 			} else {
 				var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral,
 					(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -8)
-				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19593, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
+				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19640, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
 			}
 		}
 
@@ -89914,11 +89949,11 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt
 
 	if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 {
 		var bCover int32 = libc.Bool32(pIdx != uintptr(0) && ((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0) || !(int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY)))
-		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19626,
+		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+19673,
 			libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName,
 				func() uintptr {
 					if bCover != 0 {
-						return ts + 19638
+						return ts + 19685
 					}
 					return ts + 1538
 				}(),
@@ -90246,7 +90281,7 @@ __5:
 		goto __7
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+19661,
+		ts+19708,
 		libc.VaList(bp, func() uintptr {
 			if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 {
 				return (*SrcItem)(unsafe.Pointer(p0)).FzAlias
@@ -90307,7 +90342,7 @@ __14:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19715,
+	Xsqlite3ErrorMsg(tls, pParse, ts+19762,
 		libc.VaList(bp+8, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr))
 	goto select_end
 __15:
@@ -90449,7 +90484,7 @@ __33:
 
 	(*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19755, libc.VaList(bp+32, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19802, libc.VaList(bp+32, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	libc.SetBitFieldPtr16Uint32(pItem1+60+4, uint32(1), 5, 0x20)
@@ -90508,7 +90543,7 @@ __43:
 	;
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19770, libc.VaList(bp+40, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19817, libc.VaList(bp+40, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	if !(onceAddr != 0) {
@@ -90979,9 +91014,9 @@ __101:
 	explainTempTable(tls, pParse,
 		func() uintptr {
 			if (*DistinctCtx)(unsafe.Pointer(bp+136)).FisTnct != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct) == U32(0) {
-				return ts + 19786
+				return ts + 19833
 			}
-			return ts + 19795
+			return ts + 19842
 		}())
 
 	groupBySort = 1
@@ -91332,7 +91367,7 @@ __65:
 	if !(int32((*DistinctCtx)(unsafe.Pointer(bp+136)).FeTnctType) == WHERE_DISTINCT_UNORDERED) {
 		goto __146
 	}
-	explainTempTable(tls, pParse, ts+19786)
+	explainTempTable(tls, pParse, ts+19833)
 __146:
 	;
 	if !((*SortCtx)(unsafe.Pointer(bp+48)).FpOrderBy != 0) {
@@ -91437,7 +91472,7 @@ __5:
 	}
 	Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg)
 	(*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+19804, 0)
+		ts+19851, 0)
 	(*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 	return 1
 __11:
@@ -91670,7 +91705,7 @@ func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2
 	if !((*Token)(unsafe.Pointer(pName2)).Fn > uint32(0)) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19869, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19916, 0)
 	goto trigger_cleanup
 __3:
 	;
@@ -91714,7 +91749,7 @@ __7:
 	goto trigger_cleanup
 __8:
 	;
-	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+19915, *(*uintptr)(unsafe.Pointer(bp + 32)))
+	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+19962, *(*uintptr)(unsafe.Pointer(bp + 32)))
 	if !(Xsqlite3FixSrcList(tls, bp+40, pTableName) != 0) {
 		goto __9
 	}
@@ -91732,7 +91767,7 @@ __10:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB) {
 		goto __11
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19923, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+19970, 0)
 	goto trigger_orphan_error
 __11:
 	;
@@ -91744,7 +91779,7 @@ __11:
 	goto trigger_cleanup
 __12:
 	;
-	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19915, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
+	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+19962, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
 		goto __13
 	}
 	goto trigger_cleanup
@@ -91759,11 +91794,12 @@ __13:
 	if !!(noErr != 0) {
 		goto __16
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19964, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20011, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
 	goto __17
 __16:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
+
 __17:
 	;
 	goto trigger_cleanup
@@ -91774,19 +91810,19 @@ __14:
 	if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+6365, 7) == 0) {
 		goto __18
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19990, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20037, 0)
 	goto trigger_cleanup
 __18:
 	;
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW && tr_tm != TK_INSTEAD) {
 		goto __19
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20028,
+	Xsqlite3ErrorMsg(tls, pParse, ts+20075,
 		libc.VaList(bp+8, func() uintptr {
 			if tr_tm == TK_BEFORE {
-				return ts + 20065
+				return ts + 20112
 			}
-			return ts + 20072
+			return ts + 20119
 		}(), pTableName+8))
 	goto trigger_orphan_error
 __19:
@@ -91795,7 +91831,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20078, libc.VaList(bp+24, pTableName+8))
+		ts+20125, libc.VaList(bp+24, pTableName+8))
 	goto trigger_orphan_error
 __20:
 	;
@@ -91944,7 +91980,7 @@ __2:
 __3:
 	;
 	Xsqlite3TokenInit(tls, bp+56, (*Trigger)(unsafe.Pointer(pTrig)).FzName)
-	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+19915, bp+56)
+	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+19962, bp+56)
 	if !(Xsqlite3FixTriggerStep(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 ||
 		Xsqlite3FixExpr(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0) {
 		goto __4
@@ -91977,7 +92013,7 @@ __9:
 		goto __12
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20124,
+		ts+20171,
 		libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrig)).FzName, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget))
 	goto triggerfinish_cleanup
 __12:
@@ -92002,13 +92038,13 @@ __13:
 	z = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pAll)).Fz, uint64((*Token)(unsafe.Pointer(pAll)).Fn))
 
 	Xsqlite3NestedParse(tls, pParse,
-		ts+20172,
+		ts+20219,
 		libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName,
 			(*Trigger)(unsafe.Pointer(pTrig)).Ftable, z))
 	Xsqlite3DbFree(tls, db, z)
 	Xsqlite3ChangeCookie(tls, pParse, iDb)
 	Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb,
-		Xsqlite3MPrintf(tls, db, ts+20247, libc.VaList(bp+48, zName)), uint16(0))
+		Xsqlite3MPrintf(tls, db, ts+20294, libc.VaList(bp+48, zName)), uint16(0))
 __7:
 	;
 __6:
@@ -92264,7 +92300,7 @@ __5:
 	if !!(noErr != 0) {
 		goto __9
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20276, libc.VaList(bp, pName+8))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20323, libc.VaList(bp, pName+8))
 	goto __10
 __9:
 	Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb)
@@ -92317,7 +92353,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) {
 
 	if libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse)) != uintptr(0) {
 		Xsqlite3NestedParse(tls, pParse,
-			ts+20296,
+			ts+20343,
 			libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Trigger)(unsafe.Pointer(pTrigger)).FzName))
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 		Xsqlite3VdbeAddOp4(tls, v, OP_DropTrigger, iDb, 0, 0, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, 0)
@@ -92431,12 +92467,12 @@ __9:
 		goto __15
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20358,
+		ts+20405,
 		libc.VaList(bp, func() uintptr {
 			if op == TK_DELETE {
-				return ts + 20406
+				return ts + 20453
 			}
-			return ts + 20413
+			return ts + 20460
 		}()))
 __15:
 	;
@@ -92550,7 +92586,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 {
 	if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK {
 		return 0
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20420, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20467, 0)
 	return 1
 }
 
@@ -92616,7 +92652,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab
 	}
 	Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(bp)).FpEList)
 	pNew = sqlite3ExpandReturning(tls, pParse, (*Returning)(unsafe.Pointer(pReturning)).FpReturnEL, pTab)
-	if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) {
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 {
 		libc.Xmemset(tls, bp+240, 0, uint64(unsafe.Sizeof(NameContext{})))
 		if (*Returning)(unsafe.Pointer(pReturning)).FnRetCol == 0 {
 			(*Returning)(unsafe.Pointer(pReturning)).FnRetCol = (*ExprList)(unsafe.Pointer(pNew)).FnExpr
@@ -92780,7 +92816,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt
 	if v != 0 {
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 {
 			Xsqlite3VdbeChangeP4(tls, v, -1,
-				Xsqlite3MPrintf(tls, db, ts+20462, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
+				Xsqlite3MPrintf(tls, db, ts+20509, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
 		}
 
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FpWhen != 0 {
@@ -93373,7 +93409,7 @@ __25:
 	}
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+20476,
+		ts+20523,
 		libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*24)).FzCnName))
 	goto update_cleanup
 __27:
@@ -93405,7 +93441,7 @@ __21:
 	iRowidExpr = i
 	goto __30
 __29:
-	Xsqlite3ErrorMsg(tls, pParse, ts+20512, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
+	Xsqlite3ErrorMsg(tls, pParse, ts+20559, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
 	(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 	goto update_cleanup
 __30:
@@ -93731,7 +93767,12 @@ __74:
 	goto __77
 __76:
 	flags = WHERE_ONEPASS_DESIRED
-	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) && !(pTrigger != 0) && !(hasFK != 0) && !(chngKey != 0) && !(*(*int32)(unsafe.Pointer(bp + 104)) != 0)) {
+	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) &&
+		!(pTrigger != 0) &&
+		!(hasFK != 0) &&
+		!(chngKey != 0) &&
+		!(*(*int32)(unsafe.Pointer(bp + 104)) != 0) &&
+		(*NameContext)(unsafe.Pointer(bp+40)).FncFlags&NC_Subquery == 0) {
 		goto __78
 	}
 	flags = flags | WHERE_ONEPASS_MULTIROW
@@ -94285,7 +94326,7 @@ __168:
 	if !(regRowCount != 0) {
 		goto __169
 	}
-	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20531)
+	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+20578)
 __169:
 	;
 update_cleanup:
@@ -94591,10 +94632,10 @@ __1:
 			if nClause == 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) {
 				*(*int8)(unsafe.Pointer(bp + 216)) = int8(0)
 			} else {
-				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216, ts+20544, libc.VaList(bp, nClause+1))
+				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216, ts+20591, libc.VaList(bp, nClause+1))
 			}
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+20548, libc.VaList(bp+8, bp+216))
+				ts+20595, libc.VaList(bp+8, bp+216))
 			return SQLITE_ERROR
 		}
 
@@ -94717,7 +94758,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 {
 		var zSubSql uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
 
 		if zSubSql != 0 &&
-			(libc.Xstrncmp(tls, zSubSql, ts+20621, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20625, uint64(3)) == 0) {
+			(libc.Xstrncmp(tls, zSubSql, ts+20668, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+20672, uint64(3)) == 0) {
 			rc = execSql(tls, db, pzErrMsg, zSubSql)
 			if rc != SQLITE_OK {
 				break
@@ -94865,14 +94906,14 @@ func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p
 	if !!(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) {
 		goto __1
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20629)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20676)
 	return SQLITE_ERROR
 __1:
 	;
 	if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) {
 		goto __2
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20669)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20716)
 	return SQLITE_ERROR
 __2:
 	;
@@ -94883,7 +94924,7 @@ __2:
 	if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) {
 		goto __5
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20712)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20759)
 	return SQLITE_ERROR
 __5:
 	;
@@ -94911,7 +94952,7 @@ __4:
 	isMemDb = Xsqlite3PagerIsMemdb(tls, Xsqlite3BtreePager(tls, pMain))
 
 	nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb
-	rc = execSqlF(tls, db, pzErrMsg, ts+20730, libc.VaList(bp, zOut))
+	rc = execSqlF(tls, db, pzErrMsg, ts+20777, libc.VaList(bp, zOut))
 	(*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags
 	if !(rc != SQLITE_OK) {
 		goto __6
@@ -94931,7 +94972,7 @@ __6:
 		goto __8
 	}
 	rc = SQLITE_ERROR
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+20753)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+20800)
 	goto end_of_vacuum
 __8:
 	;
@@ -94991,7 +95032,7 @@ __12:
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb)
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20780,
+		ts+20827,
 		libc.VaList(bp+8, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __13
@@ -95000,7 +95041,7 @@ __12:
 __13:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20888,
+		ts+20935,
 		libc.VaList(bp+16, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __14
@@ -95011,7 +95052,7 @@ __14:
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
 
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+20942,
+		ts+20989,
 		libc.VaList(bp+24, zDbMain))
 
 	*(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))
@@ -95022,7 +95063,7 @@ __14:
 __15:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+21093,
+		ts+21140,
 		libc.VaList(bp+32, zDbMain))
 	if !(rc != 0) {
 		goto __16
@@ -95451,11 +95492,11 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		if pEnd != 0 {
 			(*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32((int64((*Token)(unsafe.Pointer(pEnd)).Fz)-int64((*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz))/1)) + (*Token)(unsafe.Pointer(pEnd)).Fn
 		}
-		zStmt = Xsqlite3MPrintf(tls, db, ts+21223, libc.VaList(bp, pParse+272))
+		zStmt = Xsqlite3MPrintf(tls, db, ts+21270, libc.VaList(bp, pParse+272))
 
 		iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema)
 		Xsqlite3NestedParse(tls, pParse,
-			ts+21247,
+			ts+21294,
 			libc.VaList(bp+8, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
@@ -95465,7 +95506,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 
 		Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
-		zWhere = Xsqlite3MPrintf(tls, db, ts+21346, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
+		zWhere = Xsqlite3MPrintf(tls, db, ts+21393, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
 		Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0))
 		Xsqlite3DbFree(tls, db, zStmt)
 
@@ -95526,7 +95567,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	for pCtx = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx; pCtx != 0; pCtx = (*VtabCtx)(unsafe.Pointer(pCtx)).FpPrior {
 		if (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db,
-				ts+21365, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
+				ts+21412, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 			return SQLITE_LOCKED
 		}
 	}
@@ -95554,9 +95595,11 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FbDeclared = 0
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32
+	(*Table)(unsafe.Pointer(pTab)).FnTabRef++
 	rc = (*struct {
 		f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32
 	})(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+64)
+	Xsqlite3DeleteTable(tls, db, pTab)
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior
 	if rc == SQLITE_NOMEM {
 		Xsqlite3OomFault(tls, db)
@@ -95564,7 +95607,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 
 	if SQLITE_OK != rc {
 		if *(*uintptr)(unsafe.Pointer(bp + 64)) == uintptr(0) {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21407, libc.VaList(bp+8, zModuleName))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21454, libc.VaList(bp+8, zModuleName))
 		} else {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+3647, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64))))
 			Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
@@ -95576,7 +95619,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 		(*Module)(unsafe.Pointer(pMod)).FnRefModule++
 		(*VTable)(unsafe.Pointer(pVTable)).FnRef = 1
 		if (*VtabCtx)(unsafe.Pointer(bp+32)).FbDeclared == 0 {
-			var zFormat uintptr = ts + 21437
+			var zFormat uintptr = ts + 21484
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName))
 			Xsqlite3VtabUnlock(tls, pVTable)
 			rc = SQLITE_ERROR
@@ -95650,7 +95693,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32
 
 	if !(pMod != 0) {
 		var zModule uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pTab + 64 + 8))))
-		Xsqlite3ErrorMsg(tls, pParse, ts+21483, libc.VaList(bp, zModule))
+		Xsqlite3ErrorMsg(tls, pParse, ts+21530, libc.VaList(bp, zModule))
 		rc = SQLITE_ERROR
 	} else {
 		*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
@@ -95708,7 +95751,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr,
 	pMod = Xsqlite3HashFind(tls, db+576, zMod)
 
 	if pMod == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21483, libc.VaList(bp, zMod))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21530, libc.VaList(bp, zMod))
 		rc = SQLITE_ERROR
 	} else {
 		rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr)
@@ -95742,7 +95785,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3
 	if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
 		Xsqlite3Error(tls, db, SQLITE_MISUSE)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
-		return Xsqlite3MisuseError(tls, 151030)
+		return Xsqlite3MisuseError(tls, 151102)
 	}
 	pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab
 
@@ -96195,7 +96238,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	if !(p != 0) {
-		rc = Xsqlite3MisuseError(tls, 151521)
+		rc = Xsqlite3MisuseError(tls, 151593)
 	} else {
 		ap = va
 		switch op {
@@ -96222,7 +96265,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 			fallthrough
 		default:
 			{
-				rc = Xsqlite3MisuseError(tls, 151539)
+				rc = Xsqlite3MisuseError(tls, 151611)
 				break
 
 			}
@@ -96453,7 +96496,7 @@ type InLoop = struct {
 func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr {
 	i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2)))
 	if i == -2 {
-		return ts + 21502
+		return ts + 21549
 	}
 	if i == -1 {
 		return ts + 16251
@@ -96465,11 +96508,11 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	var i int32
 
 	if bAnd != 0 {
-		Xsqlite3_str_append(tls, pStr, ts+21509, 5)
+		Xsqlite3_str_append(tls, pStr, ts+21556, 5)
 	}
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21515, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21562, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -96484,7 +96527,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	Xsqlite3_str_append(tls, pStr, zOp, 1)
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+21515, 1)
+		Xsqlite3_str_append(tls, pStr, ts+21562, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -96510,27 +96553,27 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) {
 	if int32(nEq) == 0 && (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT|WHERE_TOP_LIMIT) == U32(0) {
 		return
 	}
-	Xsqlite3_str_append(tls, pStr, ts+21517, 2)
+	Xsqlite3_str_append(tls, pStr, ts+21564, 2)
 	for i = 0; i < int32(nEq); i++ {
 		var z uintptr = explainIndexColumnName(tls, pIndex, i)
 		if i != 0 {
-			Xsqlite3_str_append(tls, pStr, ts+21509, 5)
+			Xsqlite3_str_append(tls, pStr, ts+21556, 5)
 		}
 		Xsqlite3_str_appendf(tls, pStr, func() uintptr {
 			if i >= int32(nSkip) {
-				return ts + 21520
+				return ts + 21567
 			}
-			return ts + 21525
+			return ts + 21572
 		}(), libc.VaList(bp, z))
 	}
 
 	j = i
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21533)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+21580)
 		i = 1
 	}
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_TOP_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21535)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+21582)
 	}
 	Xsqlite3_str_append(tls, pStr, ts+4941, 1)
 }
@@ -96573,11 +96616,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 
 		Xsqlite3StrAccumInit(tls, bp+64, db, bp+96, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 		(*StrAccum)(unsafe.Pointer(bp + 64)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-		Xsqlite3_str_appendf(tls, bp+64, ts+21537, libc.VaList(bp, func() uintptr {
+		Xsqlite3_str_appendf(tls, bp+64, ts+21584, libc.VaList(bp, func() uintptr {
 			if isSearch != 0 {
-				return ts + 21543
+				return ts + 21590
 			}
-			return ts + 21550
+			return ts + 21597
 		}(), pItem))
 		if flags&U32(WHERE_IPK|WHERE_VIRTUALTABLE) == U32(0) {
 			var zFmt uintptr = uintptr(0)
@@ -96590,40 +96633,40 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 					zFmt = ts + 10960
 				}
 			} else if flags&U32(WHERE_PARTIALIDX) != 0 {
-				zFmt = ts + 21555
+				zFmt = ts + 21602
 			} else if flags&U32(WHERE_AUTO_INDEX) != 0 {
-				zFmt = ts + 21588
+				zFmt = ts + 21635
 			} else if flags&U32(WHERE_IDX_ONLY) != 0 {
-				zFmt = ts + 21613
+				zFmt = ts + 21660
 			} else {
-				zFmt = ts + 21631
+				zFmt = ts + 21678
 			}
 			if zFmt != 0 {
-				Xsqlite3_str_append(tls, bp+64, ts+21640, 7)
+				Xsqlite3_str_append(tls, bp+64, ts+21687, 7)
 				Xsqlite3_str_appendf(tls, bp+64, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName))
 				explainIndexRange(tls, bp+64, pLoop)
 			}
 		} else if flags&U32(WHERE_IPK) != U32(0) && flags&U32(WHERE_CONSTRAINT) != U32(0) {
 			var cRangeOp int8
 			var zRowid uintptr = ts + 16251
-			Xsqlite3_str_appendf(tls, bp+64, ts+21648, libc.VaList(bp+24, zRowid))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21695, libc.VaList(bp+24, zRowid))
 			if flags&U32(WHERE_COLUMN_EQ|WHERE_COLUMN_IN) != 0 {
 				cRangeOp = int8('=')
 			} else if flags&U32(WHERE_BOTH_LIMIT) == U32(WHERE_BOTH_LIMIT) {
-				Xsqlite3_str_appendf(tls, bp+64, ts+21679, libc.VaList(bp+32, zRowid))
+				Xsqlite3_str_appendf(tls, bp+64, ts+21726, libc.VaList(bp+32, zRowid))
 				cRangeOp = int8('<')
 			} else if flags&U32(WHERE_BTM_LIMIT) != 0 {
 				cRangeOp = int8('>')
 			} else {
 				cRangeOp = int8('<')
 			}
-			Xsqlite3_str_appendf(tls, bp+64, ts+21689, libc.VaList(bp+40, int32(cRangeOp)))
+			Xsqlite3_str_appendf(tls, bp+64, ts+21736, libc.VaList(bp+40, int32(cRangeOp)))
 		} else if flags&U32(WHERE_VIRTUALTABLE) != U32(0) {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21694,
+			Xsqlite3_str_appendf(tls, bp+64, ts+21741,
 				libc.VaList(bp+48, *(*int32)(unsafe.Pointer(pLoop + 24)), *(*uintptr)(unsafe.Pointer(pLoop + 24 + 16))))
 		}
 		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&JT_LEFT != 0 {
-			Xsqlite3_str_appendf(tls, bp+64, ts+21721, 0)
+			Xsqlite3_str_appendf(tls, bp+64, ts+21768, 0)
 		}
 		zMsg = Xsqlite3StrAccumFinish(tls, bp+64)
 
@@ -96655,22 +96698,22 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp
 
 	Xsqlite3StrAccumInit(tls, bp+24, db, bp+56, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 	(*StrAccum)(unsafe.Pointer(bp + 24)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-	Xsqlite3_str_appendf(tls, bp+24, ts+21732, libc.VaList(bp, pItem))
+	Xsqlite3_str_appendf(tls, bp+24, ts+21779, libc.VaList(bp, pItem))
 	pLoop = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_IPK) != 0 {
 		var pTab uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FpTab
 		if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21520, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21567, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
 		} else {
-			Xsqlite3_str_appendf(tls, bp+24, ts+21753, 0)
+			Xsqlite3_str_appendf(tls, bp+24, ts+21800, 0)
 		}
 	} else {
 		for i = int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip); i < int32(*(*U16)(unsafe.Pointer(pLoop + 24))); i++ {
 			var z uintptr = explainIndexColumnName(tls, *(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)), i)
 			if i > int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip) {
-				Xsqlite3_str_append(tls, bp+24, ts+21509, 5)
+				Xsqlite3_str_append(tls, bp+24, ts+21556, 5)
 			}
-			Xsqlite3_str_appendf(tls, bp+24, ts+21520, libc.VaList(bp+16, z))
+			Xsqlite3_str_appendf(tls, bp+24, ts+21567, libc.VaList(bp+16, z))
 		}
 	}
 	Xsqlite3_str_append(tls, bp+24, ts+4941, 1)
@@ -98267,7 +98310,7 @@ __134:
 	;
 __126:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21761, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21808, 0)
 	ii = 0
 __135:
 	if !(ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm) {
@@ -98295,7 +98338,7 @@ __139:
 	pOrExpr = pAndExpr
 __140:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21776, libc.VaList(bp, ii+1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21823, libc.VaList(bp, ii+1))
 
 	pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0),
 		uint16(WHERE_OR_SUBCLAUSE), iCovCur)
@@ -98813,7 +98856,7 @@ func Xsqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
 	var mAll Bitmask = uint64(0)
 	var k int32
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21785, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21832, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
 
 	for k = 0; k < iLevel; k++ {
 		var iIdxCur int32
@@ -99174,7 +99217,7 @@ var aOp = [4]Op2{
 	{FzOp: ts + 16100, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)},
 	{FzOp: ts + 15431, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)},
 	{FzOp: ts + 14951, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)},
-	{FzOp: ts + 21799, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
+	{FzOp: ts + 21846, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
 }
 
 func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) {
@@ -99664,12 +99707,12 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			extraRight = x - uint64(1)
 
 			if prereqAll>>1 >= x {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21806, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21853, 0)
 				return
 			}
 		} else if prereqAll>>1 >= x {
 			if (*SrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*SrcItem)(unsafe.Pointer(pSrc+8)).Ffg.Fjointype)&JT_LTORJ != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21806, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+21853, 0)
 				return
 			}
 			*(*U32)(unsafe.Pointer(pExpr + 4)) &= libc.Uint32FromInt32(libc.CplInt32(EP_InnerON))
@@ -99748,7 +99791,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_OuterON) != U32(0)) &&
 			0 == Xsqlite3ExprCanBeNull(tls, pLeft) {
 			(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
-			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 6753
+			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 7683
 			*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0)
@@ -99842,7 +99885,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 		}
 		zCollSeqName = func() uintptr {
 			if *(*int32)(unsafe.Pointer(bp + 20)) != 0 {
-				return ts + 21847
+				return ts + 21894
 			}
 			return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))
 		}()
@@ -100218,7 +100261,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 			k++
 		}
 		if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21854,
+			Xsqlite3ErrorMsg(tls, pParse, ts+21901,
 				libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j))
 			return
 		}
@@ -100234,7 +100277,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 		pRhs = Xsqlite3PExpr(tls, pParse, TK_UPLUS,
 			Xsqlite3ExprDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*ExprList_item)(unsafe.Pointer(pArgs+8+uintptr(j)*32)).FpExpr, 0), uintptr(0))
 		pTerm = Xsqlite3PExpr(tls, pParse, TK_EQ, pColRef, pRhs)
-		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ) != 0 {
+		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ|JT_RIGHT) != 0 {
 			joinType = U32(EP_OuterON)
 		} else {
 			joinType = U32(EP_InnerON)
@@ -100952,7 +100995,7 @@ __4:
 		goto __6
 	}
 	Xsqlite3_log(tls, SQLITE_WARNING|int32(1)<<8,
-		ts+21890, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
+		ts+21937, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
 			(*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*24)).FzCnName))
 	sentWarning = U8(1)
 __6:
@@ -101023,7 +101066,7 @@ __13:
 __14:
 	;
 	*(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)) = pIdx
-	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21916
+	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 21963
 	(*Index)(unsafe.Pointer(pIdx)).FpTable = pTable
 	n = 0
 	idxCols = uint64(0)
@@ -101197,6 +101240,10 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 	var pLoop uintptr = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	var iCur int32
+	var saved_pIdxEpr uintptr
+
+	saved_pIdxEpr = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = uintptr(0)
 
 	addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once)
 	for __ccgo := true; __ccgo; __ccgo = iLevel < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel) {
@@ -101240,9 +101287,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 			var r1 int32 = Xsqlite3GetTempRange(tls, pParse, n)
 			var jj int32
 			for jj = 0; jj < n; jj++ {
-				var iCol int32 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(jj)*2)))
-
-				Xsqlite3ExprCodeGetColumnOfTable(tls, v, (*Index)(unsafe.Pointer(pIdx)).FpTable, iCur, iCol, r1+jj)
+				Xsqlite3ExprCodeLoadIndexColumn(tls, pParse, pIdx, iCur, jj, r1+jj)
 			}
 			Xsqlite3VdbeAddOp4Int(tls, v, OP_FilterAdd, (*WhereLevel)(unsafe.Pointer(pLevel)).FregFilter, 0, r1, n)
 			Xsqlite3ReleaseTempRange(tls, pParse, r1, n)
@@ -101276,6 +101321,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 		}
 	}
 	Xsqlite3VdbeJumpHere(tls, v, addrOnce)
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = saved_pIdxEpr
 }
 
 func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr {
@@ -101534,11 +101580,16 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro
 
 	_ = pParse
 
+	if !((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) && int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol)
+	} else {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnColumn)
+	}
 	nField = func() int32 {
-		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < (*Index)(unsafe.Pointer(pIdx)).FnSample {
+		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < nField {
 			return int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField)
 		}
-		return (*Index)(unsafe.Pointer(pIdx)).FnSample
+		return nField
 	}()
 	iCol = 0
 	iSample = (*Index)(unsafe.Pointer(pIdx)).FnSample * nField
@@ -103119,7 +103170,7 @@ __4:
 				j >= (*WhereClause)(unsafe.Pointer(pWC)).FnTerm ||
 				*(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) ||
 				int32((*sqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+21927, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+				Xsqlite3ErrorMsg(tls, pParse, ts+21974, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 				return SQLITE_ERROR
 			}
@@ -103177,7 +103228,7 @@ __6:
 	(*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm = U16(mxTerm + 1)
 	for i = 0; i <= mxTerm; i++ {
 		if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+21927, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+			Xsqlite3ErrorMsg(tls, pParse, ts+21974, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 			return SQLITE_ERROR
 		}
@@ -103575,7 +103626,7 @@ __1:
 		mPrior = mPrior | (*WhereLoop)(unsafe.Pointer(pNew)).FmaskSelf
 		if rc != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 			if rc == SQLITE_DONE {
-				Xsqlite3_log(tls, SQLITE_WARNING, ts+21953, 0)
+				Xsqlite3_log(tls, SQLITE_WARNING, ts+22000, 0)
 				rc = SQLITE_OK
 			} else {
 				goto __3
@@ -104182,7 +104233,7 @@ __3:
 	}
 
 	if nFrom == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+21988, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+22035, 0)
 		Xsqlite3DbFreeNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pSpace)
 		return SQLITE_ERROR
 	}
@@ -104217,6 +104268,10 @@ __3:
 			if int32((*WherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*ExprList)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr {
 				(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_ORDERED)
 			}
+			if (*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 &&
+				int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr {
+				(*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = I8((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr)
+			}
 		} else {
 			(*WhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*WherePath)(unsafe.Pointer(pFrom)).FrevLoop
 			if int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 {
@@ -104511,6 +104566,9 @@ func whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur in
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCur = iIdxCur
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCol = i
 		(*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow = U8(bMaybeNullRow)
+		if Xsqlite3IndexAffinityStr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pIdx) != 0 {
+			(*IndexedExpr)(unsafe.Pointer(p)).Faff = U8(*(*int8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(i))))
+		}
 		(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = p
 		if (*IndexedExpr)(unsafe.Pointer(p)).FpIENext == uintptr(0) {
 			Xsqlite3ParserAddCleanup(tls, pParse, *(*uintptr)(unsafe.Pointer(&struct {
@@ -104663,7 +104721,7 @@ __1:
 	if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22006, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+22053, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
 	return uintptr(0)
 __2:
 	;
@@ -104727,7 +104785,7 @@ __6:
 	(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE)
 __7:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22034, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+22081, 0)
 	goto __5
 __4:
 	ii = 0
@@ -105609,7 +105667,7 @@ __1:
 
 error_out:
 	Xsqlite3_result_error(tls,
-		pCtx, ts+22052, -1)
+		pCtx, ts+22099, -1)
 }
 
 func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
@@ -105742,7 +105800,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 			(*NtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 			if (*NtileCtx)(unsafe.Pointer(p)).FnParam <= int64(0) {
 				Xsqlite3_result_error(tls,
-					pCtx, ts+22108, -1)
+					pCtx, ts+22155, -1)
 			}
 		}
 		(*NtileCtx)(unsafe.Pointer(p)).FnTotal++
@@ -105832,17 +105890,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
 	}
 }
 
-var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22153))
-var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22164))
-var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22175))
-var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22180))
-var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22193))
-var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22203))
-var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22209))
-var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22220))
-var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22230))
-var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22242))
-var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22247))
+var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 22200))
+var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 22211))
+var rankName = *(*[5]int8)(unsafe.Pointer(ts + 22222))
+var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 22227))
+var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 22240))
+var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 22250))
+var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 22256))
+var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 22267))
+var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 22277))
+var leadName = *(*[5]int8)(unsafe.Pointer(ts + 22289))
+var lagName = *(*[4]int8)(unsafe.Pointer(ts + 22294))
 
 func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) {
 	_ = p
@@ -105888,7 +105946,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin
 		}
 	}
 	if p == uintptr(0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22251, libc.VaList(bp, zName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+22298, libc.VaList(bp, zName))
 	}
 	return p
 }
@@ -105932,12 +105990,12 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin
 		((*Window)(unsafe.Pointer(pWin)).FpStart != 0 || (*Window)(unsafe.Pointer(pWin)).FpEnd != 0) &&
 		((*Window)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*ExprList)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != 1) {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+22270, 0)
+			ts+22317, 0)
 	} else if (*FuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
 		if (*Window)(unsafe.Pointer(pWin)).FpFilter != 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22341, 0)
+				ts+22388, 0)
 		} else {
 			*(*[8]WindowUpdate)(unsafe.Pointer(bp)) = [8]WindowUpdate{
 				{FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT},
@@ -106164,7 +106222,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr
 
 	if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) {
 		Xsqlite3ErrorMsg(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse,
-			ts+22404, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
+			ts+22451, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
 	}
 	return WRC_Continue
 }
@@ -106280,7 +106338,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 {
 
 		if *(*uintptr)(unsafe.Pointer(bp + 48)) == uintptr(0) {
 			*(*uintptr)(unsafe.Pointer(bp + 48)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0),
-				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7514))
+				Xsqlite3Expr(tls, db, TK_INTEGER, ts+7503))
 		}
 
 		pSub = Xsqlite3SelectNew(tls,
@@ -106395,7 +106453,7 @@ __1:
 		eStart == TK_FOLLOWING && (eEnd == TK_PRECEDING || eEnd == TK_CURRENT)) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+22430, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22477, 0)
 	goto windowAllocErr
 __2:
 	;
@@ -106460,15 +106518,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint
 			var zErr uintptr = uintptr(0)
 
 			if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 {
-				zErr = ts + 22462
+				zErr = ts + 22509
 			} else if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0 {
-				zErr = ts + 22479
+				zErr = ts + 22526
 			} else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 {
-				zErr = ts + 22495
+				zErr = ts + 22542
 			}
 			if zErr != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+22515, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
+					ts+22562, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
 			} else {
 				(*Window)(unsafe.Pointer(pWin)).FpPartition = Xsqlite3ExprListDup(tls, db, (*Window)(unsafe.Pointer(pExist)).FpPartition, 0)
 				if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 {
@@ -106489,7 +106547,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr
 		(*Window)(unsafe.Pointer(pWin)).FpOwner = p
 		if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Distinct) != 0 && int32((*Window)(unsafe.Pointer(pWin)).FeFrmType) != TK_FILTER {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+22548, 0)
+				ts+22595, 0)
 		}
 	} else {
 		Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin)
@@ -106645,11 +106703,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) {
 }
 
 var azErr = [5]uintptr{
-	ts + 22595,
-	ts + 22648,
-	ts + 22052,
-	ts + 22699,
-	ts + 22751,
+	ts + 22642,
+	ts + 22695,
+	ts + 22099,
+	ts + 22746,
+	ts + 22798,
 }
 var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge}
 
@@ -108044,19 +108102,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) {
 			}
 			cnt++
 			if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*Select)(unsafe.Pointer(pLoop)).FpLimit != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+22801,
+				Xsqlite3ErrorMsg(tls, pParse, ts+22848,
 					libc.VaList(bp, func() uintptr {
 						if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) {
-							return ts + 22843
+							return ts + 22890
 						}
-						return ts + 22852
+						return ts + 22899
 					}(),
 						Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(pNext)).Fop))))
 				break
 			}
 		}
 		if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_MultiValue) == U32(0) && libc.AssignInt32(&mxSelect, *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 4*4))) > 0 && cnt > mxSelect {
-			Xsqlite3ErrorMsg(tls, pParse, ts+22858, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+22905, 0)
 		}
 	}
 
@@ -108124,7 +108182,7 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT
 	var p uintptr = Xsqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0))
 	if (hasCollate != 0 || sortOrder != -1) &&
 		int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22892,
+		Xsqlite3ErrorMsg(tls, pParse, ts+22939,
 			libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz))
 	}
 	Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1)
@@ -109221,7 +109279,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) {
 		yy_pop_parser_stack(tls, yypParser)
 	}
 
-	Xsqlite3ErrorMsg(tls, pParse, ts+22930, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+22977, 0)
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
 }
@@ -110200,7 +110258,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(TF_WithoutRowid | TF_NoVisibleRowid)
 				} else {
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22952, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+22999, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			break
@@ -110210,7 +110268,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(TF_Strict)
 				} else {
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+22952, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+22999, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			*(*U32)(unsafe.Pointer(yymsp + 8)) = *(*U32)(unsafe.Pointer(bp + 40))
@@ -110953,7 +111011,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 		case uint32(157):
 			{
 				Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8)), yymsp+libc.UintptrFromInt32(-4)*24+8)
-				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+22979)
+				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+23026)
 				if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) != 0 {
 					var pFromClause uintptr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8))
 					if (*SrcList)(unsafe.Pointer(pFromClause)).FnSrc > 1 {
@@ -111117,7 +111175,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*Token)(unsafe.Pointer(bp + 128)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 
 					if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+22988, libc.VaList(bp+32, bp+128))
+						Xsqlite3ErrorMsg(tls, pParse, ts+23035, libc.VaList(bp+32, bp+128))
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0)
 					} else {
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0))
@@ -111334,9 +111392,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					Xsqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
 					*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_STRING, func() uintptr {
 						if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8)) != 0 {
-							return ts + 6748
+							return ts + 7678
 						}
-						return ts + 6753
+						return ts + 7683
 					}())
 					if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) != 0 {
 						Xsqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
@@ -111620,19 +111678,19 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 			{
 				*(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23012, 0)
+					ts+23059, 0)
 			}
 			break
 		case uint32(271):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23107, 0)
+					ts+23154, 0)
 			}
 			break
 		case uint32(272):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23191, 0)
+					ts+23238, 0)
 			}
 			break
 		case uint32(273):
@@ -112011,9 +112069,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To
 
 	_ = yymajor
 	if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8)).Fz)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+22988, libc.VaList(bp, bp+8))
+		Xsqlite3ErrorMsg(tls, pParse, ts+23035, libc.VaList(bp, bp+8))
 	} else {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23276, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+23323, 0)
 	}
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
@@ -112781,7 +112839,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 			} else {
 				(*Token)(unsafe.Pointer(bp + 2464)).Fz = zSql
 				(*Token)(unsafe.Pointer(bp + 2464)).Fn = uint32(n)
-				Xsqlite3ErrorMsg(tls, pParse, ts+23293, libc.VaList(bp, bp+2464))
+				Xsqlite3ErrorMsg(tls, pParse, ts+23340, libc.VaList(bp, bp+2464))
 				break
 			}
 		}
@@ -112804,7 +112862,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 		if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) {
 			(*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+3647, libc.VaList(bp+8, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc)))
 		}
-		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23318, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
+		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+23365, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
 		nErr++
 	}
 	(*Parse)(unsafe.Pointer(pParse)).FzTail = zSql
@@ -112977,7 +113035,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'C':
 						{
-							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23329, 6) == 0 {
+							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+23376, 6) == 0 {
 								token = U8(TkCREATE)
 							} else {
 								token = U8(TkOTHER)
@@ -112990,11 +113048,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'T':
 						{
-							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19915, 7) == 0 {
+							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+19962, 7) == 0 {
 								token = U8(TkTRIGGER)
-							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23336, 4) == 0 {
+							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+23383, 4) == 0 {
 								token = U8(TkTEMP)
-							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23341, 9) == 0 {
+							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+23388, 9) == 0 {
 								token = U8(TkTEMP)
 							} else {
 								token = U8(TkOTHER)
@@ -113007,9 +113065,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'E':
 						{
-							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23351, 3) == 0 {
+							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+23398, 3) == 0 {
 								token = U8(TkEND)
-							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23355, 7) == 0 {
+							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+23402, 7) == 0 {
 								token = U8(TkEXPLAIN)
 							} else {
 								token = U8(TkOTHER)
@@ -113243,7 +113301,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 {
 	var rc int32 = SQLITE_OK
 
 	if Xsqlite3Config.FisInit != 0 {
-		return Xsqlite3MisuseError(tls, 174337)
+		return Xsqlite3MisuseError(tls, 174426)
 	}
 
 	ap = va
@@ -113818,7 +113876,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 		return SQLITE_OK
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 175111)
+		return Xsqlite3MisuseError(tls, 175200)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 {
@@ -113833,7 +113891,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 
 	if !(forceZombie != 0) && connectionIsBusy(tls, db) != 0 {
 		Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-			ts+23363, 0)
+			ts+23410, 0)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		return SQLITE_BUSY
 	}
@@ -114024,23 +114082,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) {
 // Return a static string that describes the kind of error specified in the
 // argument.
 func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
-	var zErr uintptr = ts + 23431
+	var zErr uintptr = ts + 23478
 	switch rc {
 	case SQLITE_ABORT | int32(2)<<8:
 		{
-			zErr = ts + 23445
+			zErr = ts + 23492
 			break
 
 		}
 	case SQLITE_ROW:
 		{
-			zErr = ts + 23467
+			zErr = ts + 23514
 			break
 
 		}
 	case SQLITE_DONE:
 		{
-			zErr = ts + 23489
+			zErr = ts + 23536
 			break
 
 		}
@@ -114058,35 +114116,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
 }
 
 var aMsg = [29]uintptr{
-	ts + 23512,
-	ts + 23525,
+	ts + 23559,
+	ts + 23572,
 	uintptr(0),
-	ts + 23541,
-	ts + 23566,
-	ts + 23580,
-	ts + 23599,
+	ts + 23588,
+	ts + 23613,
+	ts + 23627,
+	ts + 23646,
 	ts + 1474,
-	ts + 23624,
-	ts + 23661,
-	ts + 23673,
-	ts + 23688,
-	ts + 23721,
-	ts + 23739,
-	ts + 23764,
-	ts + 23793,
+	ts + 23671,
+	ts + 23708,
+	ts + 23720,
+	ts + 23735,
+	ts + 23768,
+	ts + 23786,
+	ts + 23811,
+	ts + 23840,
 	uintptr(0),
 	ts + 5822,
 	ts + 5318,
-	ts + 23810,
-	ts + 23828,
-	ts + 23846,
+	ts + 23857,
+	ts + 23875,
+	ts + 23893,
 	uintptr(0),
-	ts + 23880,
-	uintptr(0),
-	ts + 23901,
 	ts + 23927,
-	ts + 23950,
-	ts + 23971,
+	uintptr(0),
+	ts + 23948,
+	ts + 23974,
+	ts + 23997,
+	ts + 24018,
 }
 
 func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 {
@@ -114207,7 +114265,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 		libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) ||
 		(nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) ||
 		255 < Xsqlite3Strlen30(tls, zFunctionName) {
-		return Xsqlite3MisuseError(tls, 175758)
+		return Xsqlite3MisuseError(tls, 175847)
 	}
 
 	extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS)
@@ -114252,7 +114310,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 	if p != 0 && (*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK) == U32(enc) && int32((*FuncDef)(unsafe.Pointer(p)).FnArg) == nArg {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+23987, 0)
+				ts+24034, 0)
 
 			return SQLITE_BUSY
 		} else {
@@ -114369,7 +114427,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs
 	_ = NotUsed
 	_ = NotUsed2
 	zErr = Xsqlite3_mprintf(tls,
-		ts+24050, libc.VaList(bp, zName))
+		ts+24097, libc.VaList(bp, zName))
 	Xsqlite3_result_error(tls, context, zErr, -1)
 	Xsqlite3_free(tls, zErr)
 }
@@ -114605,7 +114663,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
 	}
 	if iDb < 0 {
 		rc = SQLITE_ERROR
-		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24101, libc.VaList(bp, zDb))
+		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+24148, libc.VaList(bp, zDb))
 	} else {
 		(*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0
 		rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt)
@@ -114698,7 +114756,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr {
 		return Xsqlite3ErrStr(tls, SQLITE_NOMEM)
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176503))
+		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176592))
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -114768,7 +114826,7 @@ var misuse = [34]U16{
 // passed to this function, we assume a malloc() failed during sqlite3_open().
 func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176582)
+		return Xsqlite3MisuseError(tls, 176671)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -114778,7 +114836,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 
 func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176591)
+		return Xsqlite3MisuseError(tls, 176680)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -114810,14 +114868,14 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint
 		enc2 = SQLITE_UTF16LE
 	}
 	if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE {
-		return Xsqlite3MisuseError(tls, 176639)
+		return Xsqlite3MisuseError(tls, 176728)
 	}
 
 	pColl = Xsqlite3FindCollSeq(tls, db, U8(enc2), zName, 0)
 	if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+24122, 0)
+				ts+24169, 0)
 			return SQLITE_BUSY
 		}
 		Xsqlite3ExpirePreparedStatements(tls, db, 0)
@@ -114947,7 +115005,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u
 
 	if !((flags&uint32(SQLITE_OPEN_URI) != 0 ||
 		Xsqlite3Config.FbOpenUri != 0) &&
-		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24190, uint64(5)) == 0) {
+		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+24237, uint64(5)) == 0) {
 		goto __1
 	}
 	iOut = 0
@@ -114992,10 +115050,10 @@ __8:
 	goto __8
 __9:
 	;
-	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24196, zUri+7, uint64(9)) != 0)) {
+	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+24243, zUri+7, uint64(9)) != 0)) {
 		goto __10
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24206,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24253,
 		libc.VaList(bp, iIn-7, zUri+7))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
@@ -115100,7 +115158,7 @@ __27:
 	zVal = zOpt + uintptr(nOpt+1)
 	nVal = Xsqlite3Strlen30(tls, zVal)
 
-	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24234, zOpt, uint64(3)) == 0) {
+	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+24281, zOpt, uint64(3)) == 0) {
 		goto __29
 	}
 	zVfs = zVal
@@ -115111,17 +115169,17 @@ __29:
 	mask = 0
 	limit = 0
 
-	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24238, zOpt, uint64(5)) == 0) {
+	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+24285, zOpt, uint64(5)) == 0) {
 		goto __31
 	}
 
 	mask = SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE
 	aMode = uintptr(unsafe.Pointer(&aCacheMode))
 	limit = mask
-	zModeType = ts + 24238
+	zModeType = ts + 24285
 __31:
 	;
-	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24244, zOpt, uint64(4)) == 0) {
+	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+24291, zOpt, uint64(4)) == 0) {
 		goto __32
 	}
 
@@ -115159,7 +115217,7 @@ __36:
 	if !(mode == 0) {
 		goto __38
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24249, libc.VaList(bp+16, zModeType, zVal))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24296, libc.VaList(bp+16, zModeType, zVal))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
 __38:
@@ -115167,7 +115225,7 @@ __38:
 	if !(mode&libc.CplInt32(SQLITE_OPEN_MEMORY) > limit) {
 		goto __39
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24269,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24316,
 		libc.VaList(bp+32, zModeType, zVal))
 	rc = SQLITE_PERM
 	goto parse_uri_out
@@ -115207,7 +115265,7 @@ __2:
 	if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) {
 		goto __42
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24293, libc.VaList(bp+48, zVfs))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+24340, libc.VaList(bp+48, zVfs))
 	rc = SQLITE_ERROR
 __42:
 	;
@@ -115231,14 +115289,14 @@ type OpenMode = struct {
 }
 
 var aCacheMode = [3]OpenMode{
-	{Fz: ts + 24309, Fmode: SQLITE_OPEN_SHAREDCACHE},
-	{Fz: ts + 24316, Fmode: SQLITE_OPEN_PRIVATECACHE},
+	{Fz: ts + 24356, Fmode: SQLITE_OPEN_SHAREDCACHE},
+	{Fz: ts + 24363, Fmode: SQLITE_OPEN_PRIVATECACHE},
 	{},
 }
 var aOpenMode = [5]OpenMode{
-	{Fz: ts + 24324, Fmode: SQLITE_OPEN_READONLY},
-	{Fz: ts + 24327, Fmode: SQLITE_OPEN_READWRITE},
-	{Fz: ts + 24330, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
+	{Fz: ts + 24371, Fmode: SQLITE_OPEN_READONLY},
+	{Fz: ts + 24374, Fmode: SQLITE_OPEN_READWRITE},
+	{Fz: ts + 24377, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
 	{Fz: ts + 17346, Fmode: SQLITE_OPEN_MEMORY},
 	{},
 }
@@ -115385,10 +115443,10 @@ __12:
 	createCollation(tls, db, uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{binCollFunc})), uintptr(0))
-	createCollation(tls, db, ts+21847, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+21894, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{nocaseCollatingFunc})), uintptr(0))
-	createCollation(tls, db, ts+24334, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+24381, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{rtrimCollFunc})), uintptr(0))
 	if !((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) {
@@ -115402,7 +115460,7 @@ __15:
 	if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) {
 		goto __16
 	}
-	rc = Xsqlite3MisuseError(tls, 177308)
+	rc = Xsqlite3MisuseError(tls, 177397)
 	goto __17
 __16:
 	rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24)
@@ -115455,7 +115513,7 @@ __22:
 
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 6425
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).Fsafety_level = U8(SQLITE_DEFAULT_SYNCHRONOUS + 1)
-	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23336
+	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 23383
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF)
 
 	(*Sqlite3)(unsafe.Pointer(db)).FeOpenState = U8(SQLITE_STATE_OPEN)
@@ -115560,7 +115618,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 {
 		return rc
 	}
 	if zFilename == uintptr(0) {
-		zFilename = ts + 24340
+		zFilename = ts + 24387
 	}
 	pVal = Xsqlite3ValueNew(tls, uintptr(0))
 	Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0))
@@ -115663,21 +115721,21 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr)
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	Xsqlite3_log(tls, iErr, ts+24343,
+	Xsqlite3_log(tls, iErr, ts+24390,
 		libc.VaList(bp, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls)))
 	return iErr
 }
 
 func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24368)
+	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+24415)
 }
 
 func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24388)
+	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+24435)
 }
 
 func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24395)
+	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+24442)
 }
 
 // This is a convenience routine that makes sure that all thread-specific
@@ -115835,7 +115893,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24)))
-	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24412, libc.VaList(bp, zTableName,
+	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+24459, libc.VaList(bp, zTableName,
 		zColumnName))
 	rc = SQLITE_ERROR
 __20:
@@ -116491,7 +116549,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 {
 
 	azCompileOpt = Xsqlite3CompileOptions(tls, bp)
 
-	if Xsqlite3_strnicmp(tls, zOptName, ts+24440, 7) == 0 {
+	if Xsqlite3_strnicmp(tls, zOptName, ts+24487, 7) == 0 {
 		zOptName += uintptr(7)
 	}
 	n = Xsqlite3Strlen30(tls, zOptName)
@@ -116609,7 +116667,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin
 
 	Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr {
 		if rc != 0 {
-			return ts + 24448
+			return ts + 24495
 		}
 		return uintptr(0)
 	}(), 0)
@@ -116787,7 +116845,7 @@ type JsonParse1 = struct {
 type JsonParse = JsonParse1
 
 var jsonType = [8]uintptr{
-	ts + 6165, ts + 6748, ts + 6753, ts + 6175, ts + 6170, ts + 7989, ts + 24471, ts + 24477,
+	ts + 6165, ts + 7678, ts + 7683, ts + 6175, ts + 6170, ts + 7989, ts + 24518, ts + 24524,
 }
 
 func jsonZero(tls *libc.TLS, p uintptr) {
@@ -116940,7 +116998,7 @@ __10:
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0' + int32(c)>>4)
-	c = uint8(*(*int8)(unsafe.Pointer(ts + 24484 + uintptr(int32(c)&0xf))))
+	c = uint8(*(*int8)(unsafe.Pointer(ts + 24531 + uintptr(int32(c)&0xf))))
 __8:
 	;
 __6:
@@ -116995,7 +117053,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) {
 	default:
 		{
 			if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 {
-				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24501, -1)
+				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+24548, -1)
 				(*JsonString)(unsafe.Pointer(p)).FbErr = U8(2)
 				jsonReset(tls, p)
 			}
@@ -117059,13 +117117,13 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr
 		}
 	case JSON_TRUE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6748, uint32(4))
+			jsonAppendRaw(tls, pOut, ts+7678, uint32(4))
 			break
 
 		}
 	case JSON_FALSE:
 		{
-			jsonAppendRaw(tls, pOut, ts+6753, uint32(5))
+			jsonAppendRaw(tls, pOut, ts+7683, uint32(5))
 			break
 
 		}
@@ -117615,12 +117673,12 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 't' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6748, uint64(4)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7678, uint64(4)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(4)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_TRUE), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 'f' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+6753, uint64(5)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+7683, uint64(5)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(5)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_FALSE), uint32(0), uintptr(0))
 		return int32(i + U32(5))
@@ -117721,7 +117779,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32
 			if (*JsonParse)(unsafe.Pointer(pParse)).Foom != 0 {
 				Xsqlite3_result_error_nomem(tls, pCtx)
 			} else {
-				Xsqlite3_result_error(tls, pCtx, ts+24530, -1)
+				Xsqlite3_result_error(tls, pCtx, ts+24577, -1)
 			}
 		}
 		jsonParseReset(tls, pParse)
@@ -118027,7 +118085,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt
 	}
 	if int32(*(*int8)(unsafe.Pointer(zPath))) == '.' {
 		jsonParseAddNode(tls, pParse, uint32(JSON_OBJECT), uint32(0), uintptr(0))
-	} else if libc.Xstrncmp(tls, zPath, ts+24545, uint64(3)) == 0 {
+	} else if libc.Xstrncmp(tls, zPath, ts+24592, uint64(3)) == 0 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0))
 	} else {
 		return uintptr(0)
@@ -118042,7 +118100,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	return Xsqlite3_mprintf(tls, ts+24549, libc.VaList(bp, zErr))
+	return Xsqlite3_mprintf(tls, ts+24596, libc.VaList(bp, zErr))
 }
 
 func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr {
@@ -118096,7 +118154,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24575,
+	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24622,
 		libc.VaList(bp, zFuncName))
 	Xsqlite3_result_error(tls, pCtx, zMsg, -1)
 	Xsqlite3_free(tls, zMsg)
@@ -118201,11 +118259,11 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 			if int32(*(*int8)(unsafe.Pointer(zPath))) != '$' {
 				jsonInit(tls, bp, ctx)
 				if int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zPath)))])&0x04 != 0 {
-					jsonAppendRaw(tls, bp, ts+24618, uint32(2))
+					jsonAppendRaw(tls, bp, ts+24665, uint32(2))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendRaw(tls, bp, ts+4982, uint32(2))
 				} else {
-					jsonAppendRaw(tls, bp, ts+24621, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
+					jsonAppendRaw(tls, bp, ts+24668, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendChar(tls, bp, int8(0))
 				}
@@ -118362,14 +118420,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 
 	if argc&1 != 0 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+24624, -1)
+			ts+24671, -1)
 		return
 	}
 	jsonInit(tls, bp, ctx)
 	jsonAppendChar(tls, bp, int8('{'))
 	for i = 0; i < argc; i = i + 2 {
 		if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != SQLITE_TEXT {
-			Xsqlite3_result_error(tls, ctx, ts+24675, -1)
+			Xsqlite3_result_error(tls, ctx, ts+24722, -1)
 			jsonReset(tls, bp)
 			return
 		}
@@ -118539,9 +118597,9 @@ __1:
 	}
 	jsonWrongNumArgs(tls, ctx, func() uintptr {
 		if bIsSet != 0 {
-			return ts + 24709
+			return ts + 24756
 		}
-		return ts + 24713
+		return ts + 24760
 	}())
 	return
 __2:
@@ -118674,7 +118732,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24720, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24767, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -118771,7 +118829,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+24723, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+24770, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -118815,7 +118873,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u
 	_ = argc
 	_ = pAux
 	rc = Xsqlite3_declare_vtab(tls, db,
-		ts+24726)
+		ts+24773)
 	if rc == SQLITE_OK {
 		pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{}))))
 		if pNew == uintptr(0) {
@@ -118946,7 +119004,7 @@ func jsonAppendObjectPathElement(tls *libc.TLS, pStr uintptr, pNode uintptr) {
 			nn = nn - 2
 		}
 	}
-	jsonPrintf(tls, nn+2, pStr, ts+24809, libc.VaList(bp, nn, z))
+	jsonPrintf(tls, nn+2, pStr, ts+24856, libc.VaList(bp, nn, z))
 }
 
 func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
@@ -118965,7 +119023,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
 	pNode = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(i)*16
 	pUp = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(iUp)*16
 	if int32((*JsonNode)(unsafe.Pointer(pUp)).FeType) == JSON_ARRAY {
-		jsonPrintf(tls, 30, pStr, ts+24815, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
+		jsonPrintf(tls, 30, pStr, ts+24862, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
 	} else {
 		if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_LABEL == 0 {
 			pNode -= 16
@@ -119061,7 +119119,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 					jsonAppendChar(tls, bp+8, int8('$'))
 				}
 				if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY {
-					jsonPrintf(tls, 30, bp+8, ts+24815, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
+					jsonPrintf(tls, 30, bp+8, ts+24862, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
 				} else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT {
 					jsonAppendObjectPathElement(tls, bp+8, pThis)
 				}
@@ -119085,7 +119143,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 		{
 			var zRoot uintptr = (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot
 			if zRoot == uintptr(0) {
-				zRoot = ts + 24820
+				zRoot = ts + 24867
 			}
 			Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0))
 			break
@@ -119207,7 +119265,7 @@ func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, ar
 		var rc int32 = SQLITE_NOMEM
 		if int32((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.Foom) == 0 {
 			Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg)
-			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24530, 0)
+			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+24577, 0)
 			if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 {
 				rc = SQLITE_ERROR
 			}
@@ -119302,25 +119360,25 @@ func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) {
 }
 
 var aJsonFunc = [19]FuncDef{
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24822},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24827},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24838},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24838},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24856},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 24869},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 24872},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24876},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24888},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24900},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24911},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24922},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24934},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 24947},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24956},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24956},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24966},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24977},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 24994}}
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24869},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24874},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24885},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24885},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24903},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 24916},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 24919},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24923},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24935},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24947},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24958},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24969},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 24981},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 24994},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25003},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25003},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 25013},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25024},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 25041}}
 
 // Register the JSON table-valued functions
 func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 {
@@ -119339,8 +119397,8 @@ var aMod = [2]struct {
 	FzName   uintptr
 	FpModule uintptr
 }{
-	{FzName: ts + 25012, FpModule: 0},
-	{FzName: ts + 25022, FpModule: 0},
+	{FzName: ts + 25059, FpModule: 0},
+	{FzName: ts + 25069, FpModule: 0},
 }
 
 type Rtree1 = struct {
@@ -119600,11 +119658,11 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo
 		}
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) {
-		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25032, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+		var zTab uintptr = Xsqlite3_mprintf(tls, ts+25079, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		if zTab == uintptr(0) {
 			return SQLITE_NOMEM
 		}
-		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25040, iNode, 0,
+		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+25087, iNode, 0,
 			pRtree+112)
 		Xsqlite3_free(tls, zTab)
 	}
@@ -119815,7 +119873,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32
 	var zCreate uintptr = Xsqlite3_mprintf(tls,
-		ts+25045,
+		ts+25092,
 		libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
@@ -120518,7 +120576,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 {
 	var pSrc uintptr
 	var pInfo uintptr
 
-	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25127)
+	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+25174)
 	if pSrc == uintptr(0) {
 		return SQLITE_ERROR
 	}
@@ -121859,7 +121917,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+25141, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+	zSql = Xsqlite3_mprintf(tls, ts+25188, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 	if zSql != 0 {
 		rc = Xsqlite3_prepare_v2(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -1, bp+56, uintptr(0))
 	} else {
@@ -121871,12 +121929,12 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 		if iCol == 0 {
 			var zCol uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 0)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25161, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
+				ts+25208, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
 		} else {
 			var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol)
 			var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol+1)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+25193, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
+				ts+25240, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
 		}
 	}
 
@@ -122102,7 +122160,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32 = SQLITE_NOMEM
 	var zSql uintptr = Xsqlite3_mprintf(tls,
-		ts+25230, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
+		ts+25277, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
 	if zSql != 0 {
 		nodeBlobReset(tls, pRtree)
 		rc = Xsqlite3_exec(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0))
@@ -122125,7 +122183,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 {
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	var zFmt uintptr = ts + 25375
+	var zFmt uintptr = ts + 25422
 	var zSql uintptr
 
 	var rc int32
@@ -122173,7 +122231,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName1 = [3]uintptr{
-	ts + 25431, ts + 5044, ts + 16251,
+	ts + 25478, ts + 5044, ts + 16251,
 }
 
 var rtreeModule = Sqlite3_module{
@@ -122216,19 +122274,19 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		var p uintptr = Xsqlite3_str_new(tls, db)
 		var ii int32
 		Xsqlite3_str_appendf(tls, p,
-			ts+25436,
+			ts+25483,
 			libc.VaList(bp, zDb, zPrefix))
 		for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
-			Xsqlite3_str_appendf(tls, p, ts+25498, libc.VaList(bp+16, ii))
+			Xsqlite3_str_appendf(tls, p, ts+25545, libc.VaList(bp+16, ii))
 		}
 		Xsqlite3_str_appendf(tls, p,
-			ts+25503,
+			ts+25550,
 			libc.VaList(bp+24, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25567,
+			ts+25614,
 			libc.VaList(bp+40, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+25637,
+			ts+25684,
 			libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))
 		zCreate = Xsqlite3_str_finish(tls, p)
 		if !(zCreate != 0) {
@@ -122257,7 +122315,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		if i != 3 || int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) == 0 {
 			zFormat = azSql[i]
 		} else {
-			zFormat = ts + 25686
+			zFormat = ts + 25733
 		}
 		zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix))
 		if zSql != 0 {
@@ -122269,7 +122327,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FnAux != 0 {
 		(*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls,
-			ts+25794,
+			ts+25841,
 			libc.VaList(bp+96, zDb, zPrefix))
 		if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -122277,18 +122335,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 			var p uintptr = Xsqlite3_str_new(tls, db)
 			var ii int32
 			var zSql uintptr
-			Xsqlite3_str_appendf(tls, p, ts+25839, libc.VaList(bp+112, zDb, zPrefix))
+			Xsqlite3_str_appendf(tls, p, ts+25886, libc.VaList(bp+112, zDb, zPrefix))
 			for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
 				if ii != 0 {
 					Xsqlite3_str_append(tls, p, ts+12751, 1)
 				}
 				if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) {
-					Xsqlite3_str_appendf(tls, p, ts+25866, libc.VaList(bp+128, ii, ii+2, ii))
+					Xsqlite3_str_appendf(tls, p, ts+25913, libc.VaList(bp+128, ii, ii+2, ii))
 				} else {
-					Xsqlite3_str_appendf(tls, p, ts+25888, libc.VaList(bp+152, ii, ii+2))
+					Xsqlite3_str_appendf(tls, p, ts+25935, libc.VaList(bp+152, ii, ii+2))
 				}
 			}
-			Xsqlite3_str_appendf(tls, p, ts+25896, 0)
+			Xsqlite3_str_appendf(tls, p, ts+25943, 0)
 			zSql = Xsqlite3_str_finish(tls, p)
 			if zSql == uintptr(0) {
 				rc = SQLITE_NOMEM
@@ -122303,14 +122361,14 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 }
 
 var azSql = [8]uintptr{
-	ts + 25912,
-	ts + 25965,
-	ts + 26010,
-	ts + 26062,
-	ts + 26116,
-	ts + 26161,
-	ts + 26219,
-	ts + 26274,
+	ts + 25959,
+	ts + 26012,
+	ts + 26057,
+	ts + 26109,
+	ts + 26163,
+	ts + 26208,
+	ts + 26266,
+	ts + 26321,
 }
 
 func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 {
@@ -122339,7 +122397,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 	var zSql uintptr
 	if isCreate != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = 0
-		zSql = Xsqlite3_mprintf(tls, ts+26321, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
+		zSql = Xsqlite3_mprintf(tls, ts+26368, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
 		rc = getIntFromStmt(tls, db, zSql, bp+48)
 		if rc == SQLITE_OK {
 			(*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp + 48)) - 64
@@ -122351,7 +122409,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		}
 	} else {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+26341,
+			ts+26388,
 			libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		rc = getIntFromStmt(tls, db, zSql, pRtree+32)
 		if rc != SQLITE_OK {
@@ -122359,7 +122417,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		} else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < 512-64 {
 			rc = SQLITE_CORRUPT | int32(1)<<8
 
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26398,
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26445,
 				libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		}
 	}
@@ -122401,10 +122459,10 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr
 	ii = 4
 	*(*[5]uintptr)(unsafe.Pointer(bp + 96)) = [5]uintptr{
 		uintptr(0),
-		ts + 26433,
-		ts + 26476,
-		ts + 26511,
-		ts + 26547,
+		ts + 26480,
+		ts + 26523,
+		ts + 26558,
+		ts + 26594,
 	}
 
 	if !(argc < 6 || argc > RTREE_MAX_AUX_COLUMN+3) {
@@ -122435,7 +122493,7 @@ __2:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+26584,
+	Xsqlite3_str_appendf(tls, pSql, ts+26631,
 		libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8))))
 	ii = 4
 __3:
@@ -122447,7 +122505,7 @@ __3:
 		goto __6
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+26608, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
+	Xsqlite3_str_appendf(tls, pSql, ts+26655, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
 	goto __7
 __6:
 	if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) {
@@ -122470,7 +122528,7 @@ __4:
 	goto __5
 __5:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26614, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26661, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __10
@@ -122566,7 +122624,7 @@ __25:
 	return rc
 }
 
-var azFormat = [2]uintptr{ts + 26617, ts + 26628}
+var azFormat = [2]uintptr{ts + 26664, ts + 26675}
 
 func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	bp := tls.Alloc(1072)
@@ -122606,11 +122664,11 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 		if ii > 0 {
 			Xsqlite3_str_append(tls, pOut, ts+10904, 1)
 		}
-		Xsqlite3_str_appendf(tls, pOut, ts+26638, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
+		Xsqlite3_str_appendf(tls, pOut, ts+26685, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
 		for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+56)).FnDim2); jj++ {
-			Xsqlite3_str_appendf(tls, pOut, ts+26644, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
+			Xsqlite3_str_appendf(tls, pOut, ts+26691, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
 		}
-		Xsqlite3_str_append(tls, pOut, ts+26648, 1)
+		Xsqlite3_str_append(tls, pOut, ts+26695, 1)
 	}
 	errCode = Xsqlite3_str_errcode(tls, pOut)
 	Xsqlite3_result_text(tls, ctx, Xsqlite3_str_finish(tls, pOut), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
@@ -122621,7 +122679,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	_ = nArg
 	if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB ||
 		Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 {
-		Xsqlite3_result_error(tls, ctx, ts+26650, -1)
+		Xsqlite3_result_error(tls, ctx, ts+26697, -1)
 	} else {
 		var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 		if zBlob != 0 {
@@ -122699,7 +122757,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr
 		if z == uintptr(0) {
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM
 		} else {
-			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26683,
+			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+26730,
 				libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr {
 					if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 {
 						return ts + 4046
@@ -122723,7 +122781,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) {
 		(*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = rtreeCheckPrepare(tls, pCheck,
-			ts+26690,
+			ts+26737,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab))
 	}
 
@@ -122742,7 +122800,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 		}
 		rtreeCheckReset(tls, pCheck, (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode)
 		if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) {
-			rtreeCheckAppendMsg(tls, pCheck, ts+26735, libc.VaList(bp+16, iNode))
+			rtreeCheckAppendMsg(tls, pCheck, ts+26782, libc.VaList(bp+16, iNode))
 		}
 	}
 
@@ -122756,8 +122814,8 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	var rc int32
 	var pStmt uintptr
 	*(*[2]uintptr)(unsafe.Pointer(bp + 80)) = [2]uintptr{
-		ts + 26767,
-		ts + 26821,
+		ts + 26814,
+		ts + 26868,
 	}
 
 	if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) {
@@ -122772,23 +122830,23 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	Xsqlite3_bind_int64(tls, pStmt, 1, iKey)
 	rc = Xsqlite3_step(tls, pStmt)
 	if rc == SQLITE_DONE {
-		rtreeCheckAppendMsg(tls, pCheck, ts+26869,
+		rtreeCheckAppendMsg(tls, pCheck, ts+26916,
 			libc.VaList(bp+16, iKey, iVal, func() uintptr {
 				if bLeaf != 0 {
-					return ts + 26914
+					return ts + 26961
 				}
-				return ts + 26922
+				return ts + 26969
 			}()))
 	} else if rc == SQLITE_ROW {
 		var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0)
 		if ii != iVal {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+26931,
+				ts+26978,
 				libc.VaList(bp+40, iKey, ii, func() uintptr {
 					if bLeaf != 0 {
-						return ts + 26914
+						return ts + 26961
 					}
-					return ts + 26922
+					return ts + 26969
 				}(), iKey, iVal))
 		}
 	}
@@ -122812,7 +122870,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 			return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48)) > *(*RtreeValue)(unsafe.Pointer(bp + 52)))
 		}() != 0 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+26989, libc.VaList(bp, i, iCell, iNode))
+				ts+27036, libc.VaList(bp, i, iCell, iNode))
 		}
 
 		if pParent != 0 {
@@ -122832,7 +122890,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 					return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52)) > *(*RtreeValue)(unsafe.Pointer(bp + 60)))
 				}() != 0 {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27037, libc.VaList(bp+24, i, iCell, iNode))
+					ts+27084, libc.VaList(bp+24, i, iCell, iNode))
 			}
 		}
 	}
@@ -122849,14 +122907,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 	if aNode != 0 {
 		if *(*int32)(unsafe.Pointer(bp + 48)) < 4 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+27104, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
+				ts+27151, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
 		} else {
 			var nCell int32
 			var i int32
 			if aParent == uintptr(0) {
 				iDepth = readInt16(tls, aNode)
 				if iDepth > RTREE_MAX_DEPTH {
-					rtreeCheckAppendMsg(tls, pCheck, ts+27138, libc.VaList(bp+16, iDepth))
+					rtreeCheckAppendMsg(tls, pCheck, ts+27185, libc.VaList(bp+16, iDepth))
 					Xsqlite3_free(tls, aNode)
 					return
 				}
@@ -122864,7 +122922,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 			nCell = readInt16(tls, aNode+2)
 			if 4+nCell*(8+(*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim*2*4) > *(*int32)(unsafe.Pointer(bp + 48)) {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+27168,
+					ts+27215,
 					libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48))))
 			} else {
 				for i = 0; i < nCell; i++ {
@@ -122893,14 +122951,14 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) {
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK {
 		var pCount uintptr
-		pCount = rtreeCheckPrepare(tls, pCheck, ts+27223,
+		pCount = rtreeCheckPrepare(tls, pCheck, ts+27270,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl))
 		if pCount != 0 {
 			if Xsqlite3_step(tls, pCount) == SQLITE_ROW {
 				var nActual I64 = Xsqlite3_column_int64(tls, pCount, 0)
 				if nActual != nExpect {
 					rtreeCheckAppendMsg(tls, pCheck,
-						ts+27254, libc.VaList(bp+24, zTbl, nExpect, nActual))
+						ts+27301, libc.VaList(bp+24, zTbl, nExpect, nActual))
 				}
 			}
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount)
@@ -122927,7 +122985,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	}
 
 	if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
-		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27321, libc.VaList(bp, zDb, zTab))
+		pStmt = rtreeCheckPrepare(tls, bp+32, ts+27368, libc.VaList(bp, zDb, zTab))
 		if pStmt != 0 {
 			nAux = Xsqlite3_column_count(tls, pStmt) - 2
 			Xsqlite3_finalize(tls, pStmt)
@@ -122936,12 +122994,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		}
 	}
 
-	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25141, libc.VaList(bp+16, zDb, zTab))
+	pStmt = rtreeCheckPrepare(tls, bp+32, ts+25188, libc.VaList(bp+16, zDb, zTab))
 	if pStmt != 0 {
 		var rc int32
 		(*RtreeCheck)(unsafe.Pointer(bp + 32)).FnDim = (Xsqlite3_column_count(tls, pStmt) - 1 - nAux) / 2
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).FnDim < 1 {
-			rtreeCheckAppendMsg(tls, bp+32, ts+27349, 0)
+			rtreeCheckAppendMsg(tls, bp+32, ts+27396, 0)
 		} else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).FbInt = libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)
 		}
@@ -122955,8 +123013,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			rtreeCheckNode(tls, bp+32, 0, uintptr(0), int64(1))
 		}
-		rtreeCheckCount(tls, bp+32, ts+27380, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
-		rtreeCheckCount(tls, bp+32, ts+27387, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27427, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
+		rtreeCheckCount(tls, bp+32, ts+27434, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
 	}
 
 	Xsqlite3_finalize(tls, (*RtreeCheck)(unsafe.Pointer(bp+32)).FpGetNode)
@@ -122964,7 +123022,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 + 40 + 1*8)))
 
 	if bEnd != 0 {
-		var rc int32 = Xsqlite3_exec(tls, db, ts+27395, uintptr(0), uintptr(0), uintptr(0))
+		var rc int32 = Xsqlite3_exec(tls, db, ts+27442, uintptr(0), uintptr(0), uintptr(0))
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).Frc = rc
 		}
@@ -122979,7 +123037,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 
 	if nArg != 1 && nArg != 2 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+27399, -1)
+			ts+27446, -1)
 	} else {
 		var rc int32
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
@@ -122997,7 +123055,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 				if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
 					return *(*uintptr)(unsafe.Pointer(bp))
 				}
-				return ts + 17996
+				return ts + 18043
 			}(), -1, libc.UintptrFromInt32(-1))
 		} else {
 			Xsqlite3_result_error_code(tls, ctx, rc)
@@ -123368,11 +123426,11 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var db uintptr = Xsqlite3_context_db_handle(tls, context)
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
-		Xsqlite3_str_append(tls, x, ts+27450, 1)
+		Xsqlite3_str_append(tls, x, ts+27497, 1)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27452, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27499, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27463, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27510, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -123392,19 +123450,19 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
 		var cSep int8 = int8('\'')
-		Xsqlite3_str_appendf(tls, x, ts+27474, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27521, 0)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+27492, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+27539, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 			cSep = int8(' ')
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27500, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+27547, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		for i = 1; i < argc; i++ {
 			var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 			if z != 0 && *(*int8)(unsafe.Pointer(z)) != 0 {
-				Xsqlite3_str_appendf(tls, x, ts+27508, libc.VaList(bp+40, z))
+				Xsqlite3_str_appendf(tls, x, ts+27555, libc.VaList(bp+40, z))
 			}
 		}
-		Xsqlite3_str_appendf(tls, x, ts+27512, 0)
+		Xsqlite3_str_appendf(tls, x, ts+27559, 0)
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -124324,7 +124382,7 @@ __1:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+27525, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+27572, 0)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1)
 	ii = 3
@@ -124333,7 +124391,7 @@ __2:
 		goto __4
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+27547, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
+	Xsqlite3_str_appendf(tls, pSql, ts+27594, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
 	goto __3
 __3:
 	ii++
@@ -124341,7 +124399,7 @@ __3:
 	goto __4
 __4:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+26614, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+26661, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __5
@@ -124578,7 +124636,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 	}
 	if iFuncTerm >= 0 {
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum
-		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27551
+		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27598
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).FargvIndex = 1
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).Fomit = uint8(0)
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 300.0
@@ -124586,7 +124644,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 		return SQLITE_OK
 	}
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4
-	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27557
+	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 27604
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000)
 	return SQLITE_OK
@@ -124698,7 +124756,7 @@ __1:
 	if !(*(*int32)(unsafe.Pointer(bp + 48)) == SQLITE_ERROR) {
 		goto __4
 	}
-	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27566, 0)
+	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+27613, 0)
 __4:
 	;
 	goto geopoly_update_end
@@ -124830,14 +124888,14 @@ geopoly_update_end:
 func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 {
 	_ = pVtab
 	_ = nArg
-	if Xsqlite3_stricmp(tls, zName, ts+27606) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27653) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyOverlapFunc}))
 		*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
 		return SQLITE_INDEX_CONSTRAINT_FUNCTION
 	}
-	if Xsqlite3_stricmp(tls, zName, ts+27622) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+27669) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyWithinFunc}))
@@ -124902,7 +124960,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 {
 			uintptr(0), aAgg[i].FxStep, aAgg[i].FxFinal)
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27637, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27684, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
 	}
 	return rc
 }
@@ -124914,25 +124972,25 @@ var aFunc = [12]struct {
 	F__ccgo_pad1 [6]byte
 	FzName       uintptr
 }{
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27645},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27658},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27671},
-	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27684},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27622},
-	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27696},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27606},
-	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27719},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27733},
-	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27746},
-	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27760},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27776},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27692},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27705},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27718},
+	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 27731},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27669},
+	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 27743},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 27653},
+	{FxFunc: 0, FnArg: int8(1), FzName: ts + 27766},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27780},
+	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 27793},
+	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 27807},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 27823},
 }
 var aAgg = [1]struct {
 	FxStep  uintptr
 	FxFinal uintptr
 	FzName  uintptr
 }{
-	{FxStep: 0, FxFinal: 0, FzName: ts + 27788},
+	{FxStep: 0, FxFinal: 0, FzName: ts + 27835},
 }
 
 // Register the r-tree module with database handle db. This creates the
@@ -124942,26 +125000,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 {
 	var utf8 int32 = SQLITE_UTF8
 	var rc int32
 
-	rc = Xsqlite3_create_function(tls, db, ts+27807, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	rc = Xsqlite3_create_function(tls, db, ts+27854, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr)
 	}{rtreenode})), uintptr(0), uintptr(0))
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27817, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27864, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreedepth})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+27828, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+27875, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreecheck})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_REAL32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27551, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27598, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_INT32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+27839, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+27886, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		rc = sqlite3_geopoly_init(tls, db)
@@ -125015,7 +125073,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
 			Xsqlite3_result_error_nomem(tls, ctx)
 			rtreeMatchArgFree(tls, pBlob)
 		} else {
-			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25127, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
+			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+25174, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
 		}
 	}
 }
@@ -125342,7 +125400,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 
 	nOut = rbuDeltaOutputSize(tls, aDelta, nDelta)
 	if nOut < 0 {
-		Xsqlite3_result_error(tls, context, ts+27849, -1)
+		Xsqlite3_result_error(tls, context, ts+27896, -1)
 		return
 	}
 
@@ -125353,7 +125411,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 		nOut2 = rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut)
 		if nOut2 != nOut {
 			Xsqlite3_free(tls, aOut)
-			Xsqlite3_result_error(tls, context, ts+27849, -1)
+			Xsqlite3_result_error(tls, context, ts+27896, -1)
 		} else {
 			Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		}
@@ -125454,7 +125512,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuObjIterClearStatements(tls, pIter)
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) {
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+27870, uintptr(0), uintptr(0), p+64)
+				ts+27917, uintptr(0), uintptr(0), p+64)
 		}
 
 		if rc == SQLITE_OK {
@@ -125518,7 +125576,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) {
 				Xsqlite3_result_text(tls, pCtx, zIn, -1, uintptr(0))
 			}
 		} else {
-			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25040, zIn, uint64(4)) == 0 {
+			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+25087, zIn, uint64(4)) == 0 {
 				var i int32
 				for i = 4; int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) >= '0' && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) <= '9'; i++ {
 				}
@@ -125539,16 +125597,16 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 
 	rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28041, libc.VaList(bp, func() uintptr {
+			ts+28088, libc.VaList(bp, func() uintptr {
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					return ts + 28191
+					return ts + 28238
 				}
 				return ts + 1538
 			}())))
 
 	if rc == SQLITE_OK {
 		rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64,
-			ts+28232)
+			ts+28279)
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1
@@ -125664,7 +125722,7 @@ func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28357, libc.VaList(bp, zTab)))
+			ts+28404, libc.VaList(bp, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) != SQLITE_ROW) {
 		goto __1
 	}
@@ -125682,7 +125740,7 @@ __2:
 	*(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), 1)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+1*8, p+64,
-		Xsqlite3_mprintf(tls, ts+28476, libc.VaList(bp+8, zTab)))
+		Xsqlite3_mprintf(tls, ts+28523, libc.VaList(bp+8, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) {
 		goto __3
 	}
@@ -125700,7 +125758,7 @@ __4:
 	}
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+2*8, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+28497, libc.VaList(bp+16, zIdx)))
+			ts+28544, libc.VaList(bp+16, zIdx)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __7
 	}
@@ -125723,7 +125781,7 @@ __6:
 __5:
 	;
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+3*8, p+64,
-		Xsqlite3_mprintf(tls, ts+28548, libc.VaList(bp+24, zTab)))
+		Xsqlite3_mprintf(tls, ts+28595, libc.VaList(bp+24, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __10
 	}
@@ -125769,7 +125827,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		libc.Xmemcpy(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+16, p+64,
-			Xsqlite3_mprintf(tls, ts+28569, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28616, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0
@@ -125784,7 +125842,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 			libc.Xmemset(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0x01, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		}
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+28597, libc.VaList(bp+8, zIdx)))
+			Xsqlite3_mprintf(tls, ts+28644, libc.VaList(bp+8, zIdx)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
 			var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 1)
 			if iCid >= 0 {
@@ -125824,7 +125882,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+56, pIter+108)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19473, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19520, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
 			return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc
@@ -125834,18 +125892,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		}
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+64, p+64,
-			Xsqlite3_mprintf(tls, ts+28626, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
+			Xsqlite3_mprintf(tls, ts+28673, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 			rbuAllocateIterArrays(tls, p, pIter, nCol)
 		}
 		for i = 0; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && i < nCol; i++ {
 			var zName uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), i)
-			if Xsqlite3_strnicmp(tls, ts+28645, zName, 4) != 0 {
+			if Xsqlite3_strnicmp(tls, ts+28692, zName, 4) != 0 {
 				var zCopy uintptr = rbuStrndup(tls, zName, p+56)
 				*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol
 				*(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(libc.PostIncInt32(&(*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol, 1))*8)) = zCopy
-			} else if 0 == Xsqlite3_stricmp(tls, ts+28650, zName) {
+			} else if 0 == Xsqlite3_stricmp(tls, ts+28697, zName) {
 				bRbuRowid = 1
 			}
 		}
@@ -125857,18 +125915,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			bRbuRowid != libc.Bool32((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls,
-				ts+28660, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
+				ts+28707, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 					func() uintptr {
 						if bRbuRowid != 0 {
-							return ts + 28689
+							return ts + 28736
 						}
-						return ts + 28702
+						return ts + 28749
 					}()))
 		}
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-				Xsqlite3_mprintf(tls, ts+28711, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				Xsqlite3_mprintf(tls, ts+28758, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		}
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64))) {
 			var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 1)
@@ -125882,7 +125940,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			}
 			if i == (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28733,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28780,
 					libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName))
 			} else {
 				var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 5)
@@ -125929,7 +125987,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var i int32
 	for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 		var z uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-		zList = rbuMPrintf(tls, p, ts+28760, libc.VaList(bp, zList, zSep, z))
+		zList = rbuMPrintf(tls, p, ts+28807, libc.VaList(bp, zList, zSep, z))
 		zSep = ts + 14598
 	}
 	return zList
@@ -125947,7 +126005,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr,
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if int32(*(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zRet = rbuMPrintf(tls, p, ts+28769, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
+				zRet = rbuMPrintf(tls, p, ts+28816, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
 				zSep = zSeparator
 				break
 			}
@@ -125969,25 +126027,25 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32,
 	if bRowid != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+28782, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				ts+28829, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 			var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-			zRet = rbuMPrintf(tls, p, ts+28814, libc.VaList(bp+16, iMax))
+			zRet = rbuMPrintf(tls, p, ts+28861, libc.VaList(bp+16, iMax))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 	} else {
-		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1538, ts+14598, ts+28837)
-		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28843, ts+28850, ts+4941)
+		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1538, ts+14598, ts+28884)
+		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28890, ts+28897, ts+4941)
 		var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1538, ts+14598, ts+1538)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 				Xsqlite3_mprintf(tls,
-					ts+28858,
+					ts+28905,
 					libc.VaList(bp+24, zSelect, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 				var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-				zRet = rbuMPrintf(tls, p, ts+28900, libc.VaList(bp+56, zList, zVal))
+				zRet = rbuMPrintf(tls, p, ts+28947, libc.VaList(bp+56, zList, zVal))
 			}
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 		}
@@ -126029,7 +126087,7 @@ func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	*(*uintptr)(unsafe.Pointer(bp + 176)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-		Xsqlite3_mprintf(tls, ts+28597, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+		Xsqlite3_mprintf(tls, ts+28644, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 __1:
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176)))) {
 		goto __2
@@ -126064,7 +126122,7 @@ __10:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 	goto __7
 __6:
-	zCol = ts + 28920
+	zCol = ts + 28967
 __7:
 	;
 	goto __5
@@ -126072,11 +126130,11 @@ __4:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 __5:
 	;
-	zLhs = rbuMPrintf(tls, p, ts+28928,
+	zLhs = rbuMPrintf(tls, p, ts+28975,
 		libc.VaList(bp+8, zLhs, zSep, zCol, zCollate))
-	zOrder = rbuMPrintf(tls, p, ts+28949,
+	zOrder = rbuMPrintf(tls, p, ts+28996,
 		libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate))
-	zSelect = rbuMPrintf(tls, p, ts+28985,
+	zSelect = rbuMPrintf(tls, p, ts+29032,
 		libc.VaList(bp+80, zSelect, zSep, iCol, zCol))
 	zSep = ts + 14598
 	iCol++
@@ -126096,7 +126154,7 @@ __11:
 	*(*uintptr)(unsafe.Pointer(bp + 184)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+184, p+64,
-		Xsqlite3_mprintf(tls, ts+29012,
+		Xsqlite3_mprintf(tls, ts+29059,
 			libc.VaList(bp+112, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 184)))) {
 		goto __13
@@ -126123,7 +126181,7 @@ __19:
 	;
 __18:
 	;
-	zVector = rbuMPrintf(tls, p, ts+29060, libc.VaList(bp+136, zVector, zSep, zQuoted))
+	zVector = rbuMPrintf(tls, p, ts+29107, libc.VaList(bp+136, zVector, zSep, zQuoted))
 	zSep = ts + 14598
 	goto __15
 __15:
@@ -126135,7 +126193,7 @@ __16:
 	if !!(bFailed != 0) {
 		goto __20
 	}
-	zRet = rbuMPrintf(tls, p, ts+29067, libc.VaList(bp+160, zLhs, zVector))
+	zRet = rbuMPrintf(tls, p, ts+29114, libc.VaList(bp+160, zLhs, zVector))
 __20:
 	;
 __13:
@@ -126168,7 +126226,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 	if rc == SQLITE_OK {
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200, p+64,
-			Xsqlite3_mprintf(tls, ts+28597, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+			Xsqlite3_mprintf(tls, ts+28644, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 	}
 
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200))) {
@@ -126180,7 +126238,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 		if iCid == -2 {
 			var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 0)
-			zRet = Xsqlite3_mprintf(tls, ts+29079, libc.VaList(bp+8, zRet, zCom,
+			zRet = Xsqlite3_mprintf(tls, ts+29126, libc.VaList(bp+8, zRet, zCom,
 				(*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FnSpan, (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FzSpan, zCollate))
 			zType = ts + 1538
 		} else {
@@ -126192,37 +126250,37 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 					zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 				} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					zCol = ts + 28920
+					zCol = ts + 28967
 				} else {
-					zCol = ts + 28650
+					zCol = ts + 28697
 				}
 				zType = ts + 1103
 			} else {
 				zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 				zType = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8))
 			}
-			zRet = Xsqlite3_mprintf(tls, ts+29101, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
+			zRet = Xsqlite3_mprintf(tls, ts+29148, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 5) != 0 {
 			var zOrder uintptr = func() uintptr {
 				if bDesc != 0 {
-					return ts + 28837
+					return ts + 28884
 				}
 				return ts + 1538
 			}()
-			zImpPK = Xsqlite3_mprintf(tls, ts+29121,
+			zImpPK = Xsqlite3_mprintf(tls, ts+29168,
 				libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder))
 		}
-		zImpCols = Xsqlite3_mprintf(tls, ts+29142,
+		zImpCols = Xsqlite3_mprintf(tls, ts+29189,
 			libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate))
 		zWhere = Xsqlite3_mprintf(tls,
-			ts+29175, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
+			ts+29222, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
 		if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) {
 			rc = SQLITE_NOMEM
 		}
 		zCom = ts + 14598
-		zAnd = ts + 21509
+		zAnd = ts + 21556
 		nBind++
 	}
 
@@ -126261,9 +126319,9 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = Xsqlite3_mprintf(tls, ts+29199, libc.VaList(bp, zList, zS, zObj, zCol))
+				zList = Xsqlite3_mprintf(tls, ts+29246, libc.VaList(bp, zList, zS, zObj, zCol))
 			} else {
-				zList = Xsqlite3_mprintf(tls, ts+29211, libc.VaList(bp+32, zList, zS))
+				zList = Xsqlite3_mprintf(tls, ts+29258, libc.VaList(bp+32, zList, zS))
 			}
 			zS = ts + 14598
 			if zList == uintptr(0) {
@@ -126273,7 +126331,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-			zList = rbuMPrintf(tls, p, ts+29220, libc.VaList(bp+48, zList, zObj))
+			zList = rbuMPrintf(tls, p, ts+29267, libc.VaList(bp+48, zList, zObj))
 		}
 	}
 	return zList
@@ -126285,18 +126343,18 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	var zList uintptr = uintptr(0)
 	if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-		zList = rbuMPrintf(tls, p, ts+29235, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
+		zList = rbuMPrintf(tls, p, ts+29282, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
 	} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
 		var zSep uintptr = ts + 1538
 		var i int32
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
-				zList = rbuMPrintf(tls, p, ts+29249, libc.VaList(bp+8, zList, zSep, i, i+1))
-				zSep = ts + 21509
+				zList = rbuMPrintf(tls, p, ts+29296, libc.VaList(bp+8, zList, zSep, i, i+1))
+				zSep = ts + 21556
 			}
 		}
 		zList = rbuMPrintf(tls, p,
-			ts+29261, libc.VaList(bp+40, zList))
+			ts+29308, libc.VaList(bp+40, zList))
 
 	} else {
 		var zSep uintptr = ts + 1538
@@ -126304,8 +126362,8 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = rbuMPrintf(tls, p, ts+29311, libc.VaList(bp+48, zList, zSep, zCol, i+1))
-				zSep = ts + 21509
+				zList = rbuMPrintf(tls, p, ts+29358, libc.VaList(bp+48, zList, zSep, zCol, i+1))
+				zSep = ts + 21556
 			}
 		}
 	}
@@ -126314,7 +126372,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 func rbuBadControlError(tls *libc.TLS, p uintptr) {
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29324, 0)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29371, 0)
 }
 
 func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr {
@@ -126332,15 +126390,15 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr
 			for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 				var c int8 = *(*int8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4)))))
 				if int32(c) == 'x' {
-					zList = rbuMPrintf(tls, p, ts+29311,
+					zList = rbuMPrintf(tls, p, ts+29358,
 						libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14598
 				} else if int32(c) == 'd' {
-					zList = rbuMPrintf(tls, p, ts+29350,
+					zList = rbuMPrintf(tls, p, ts+29397,
 						libc.VaList(bp+32, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14598
 				} else if int32(c) == 'f' {
-					zList = rbuMPrintf(tls, p, ts+29380,
+					zList = rbuMPrintf(tls, p, ts+29427,
 						libc.VaList(bp+72, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 14598
 				}
@@ -126377,19 +126435,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var z uintptr = uintptr(0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		var zSep uintptr = ts + 29417
+		var zSep uintptr = ts + 29464
 		*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 		*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56, p+64,
-			Xsqlite3_mprintf(tls, ts+28569, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+28616, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) {
 			var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 3)
 			if zOrig != 0 && libc.Xstrcmp(tls, zOrig, ts+16139) == 0 {
 				var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 1)
 				if zIdx != 0 {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-						Xsqlite3_mprintf(tls, ts+28597, libc.VaList(bp+8, zIdx)))
+						Xsqlite3_mprintf(tls, ts+28644, libc.VaList(bp+8, zIdx)))
 				}
 				break
 			}
@@ -126401,15 +126459,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 				var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 2)
 				var zDesc uintptr
 				if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 3) != 0 {
-					zDesc = ts + 28837
+					zDesc = ts + 28884
 				} else {
 					zDesc = ts + 1538
 				}
-				z = rbuMPrintf(tls, p, ts+29430, libc.VaList(bp+16, z, zSep, zCol, zDesc))
+				z = rbuMPrintf(tls, p, ts+29477, libc.VaList(bp+16, z, zSep, zCol, zDesc))
 				zSep = ts + 14598
 			}
 		}
-		z = rbuMPrintf(tls, p, ts+29441, libc.VaList(bp+48, z))
+		z = rbuMPrintf(tls, p, ts+29488, libc.VaList(bp+48, z))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
 	return z
@@ -126429,7 +126487,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		var zPk uintptr = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168, p+64,
-			ts+29445)
+			ts+29492)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168)), 1, tnum)
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168))) {
@@ -126438,7 +126496,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		}
 		if zIdx != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-				Xsqlite3_mprintf(tls, ts+28597, libc.VaList(bp, zIdx)))
+				Xsqlite3_mprintf(tls, ts+28644, libc.VaList(bp, zIdx)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168)))
 
@@ -126448,23 +126506,23 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 				var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 1)
 				var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 3)
 				var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 4)
-				zCols = rbuMPrintf(tls, p, ts+29495, libc.VaList(bp+8, zCols, zComma,
+				zCols = rbuMPrintf(tls, p, ts+29542, libc.VaList(bp+8, zCols, zComma,
 					iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate))
-				zPk = rbuMPrintf(tls, p, ts+29517, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
+				zPk = rbuMPrintf(tls, p, ts+29564, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
 					if bDesc != 0 {
-						return ts + 28837
+						return ts + 28884
 					}
 					return ts + 1538
 				}()))
 				zComma = ts + 14598
 			}
 		}
-		zCols = rbuMPrintf(tls, p, ts+29527, libc.VaList(bp+80, zCols))
+		zCols = rbuMPrintf(tls, p, ts+29574, libc.VaList(bp+80, zCols))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176)))
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6425, 1, tnum))
 		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+29542,
+			ts+29589,
 			libc.VaList(bp+120, zCols, zPk))
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6425, 0, 0))
 	}
@@ -126490,13 +126548,13 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6425, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192, uintptr(0), uintptr(0), uintptr(0))
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 {
-				zPk = ts + 29604
+				zPk = ts + 29651
 			}
-			zSql = rbuMPrintf(tls, p, ts+29617,
+			zSql = rbuMPrintf(tls, p, ts+29664,
 				libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192)),
 					func() uintptr {
 						if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 {
-							return ts + 29644
+							return ts + 29691
 						}
 						return ts + 1538
 					}()))
@@ -126506,16 +126564,16 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
 			var zPk uintptr = rbuWithoutRowidPK(tls, p, pIter)
 			if zPk != 0 {
-				zSql = rbuMPrintf(tls, p, ts+29654, libc.VaList(bp+88, zSql, zPk))
+				zSql = rbuMPrintf(tls, p, ts+29701, libc.VaList(bp+88, zSql, zPk))
 			}
 		}
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6425, 1, tnum))
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29661,
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29708,
 			libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql,
 				func() uintptr {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
-						return ts + 29693
+						return ts + 29740
 					}
 					return ts + 1538
 				}()))
@@ -126532,7 +126590,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis
 	if zBind != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls,
-				ts+29708,
+				ts+29755,
 				libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind)))
 	}
 }
@@ -126569,7 +126627,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(bp + 8)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64,
-			ts+29765)
+			ts+29812)
 	}
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		var rc2 int32
@@ -126674,7 +126732,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 		var zLimit uintptr = uintptr(0)
 
 		if nOffset != 0 {
-			zLimit = Xsqlite3_mprintf(tls, ts+29831, libc.VaList(bp, nOffset))
+			zLimit = Xsqlite3_mprintf(tls, ts+29878, libc.VaList(bp, nOffset))
 			if !(zLimit != 0) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
 			}
@@ -126697,7 +126755,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6425, 0, 1))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6425, 1, tnum))
 			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+29851,
+				ts+29898,
 				libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600)), *(*uintptr)(unsafe.Pointer(bp + 608))))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6425, 0, 0))
 
@@ -126705,13 +126763,13 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64,
-					Xsqlite3_mprintf(tls, ts+29916, libc.VaList(bp+128, zTbl, zBind)))
+					Xsqlite3_mprintf(tls, ts+29963, libc.VaList(bp+128, zTbl, zBind)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64,
-					Xsqlite3_mprintf(tls, ts+29952, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
+					Xsqlite3_mprintf(tls, ts+29999, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
 			}
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -126727,7 +126785,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					}
 
 					zSql = Xsqlite3_mprintf(tls,
-						ts+29986,
+						ts+30033,
 						libc.VaList(bp+160, zCollist,
 							(*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
@@ -126735,9 +126793,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								if zStart != 0 {
 									return func() uintptr {
 										if zPart != 0 {
-											return ts + 30047
+											return ts + 30094
 										}
-										return ts + 30051
+										return ts + 30098
 									}()
 								}
 								return ts + 1538
@@ -126746,20 +126804,20 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					Xsqlite3_free(tls, zStart)
 				} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30057,
+						ts+30104,
 						libc.VaList(bp+216, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart, zCollist, zLimit))
 				} else {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+30118,
+						ts+30165,
 						libc.VaList(bp+264, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart,
 							zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
 							func() uintptr {
 								if zPart != 0 {
-									return ts + 30047
+									return ts + 30094
 								}
-								return ts + 30051
+								return ts + 30098
 							}(),
 							zCollist, zLimit))
 				}
@@ -126796,16 +126854,16 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB {
 					return ts + 1538
 				}
-				return ts + 30277
+				return ts + 30324
 			}()
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30286,
+						ts+30333,
 						libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr {
 							if bRbuRowid != 0 {
-								return ts + 30322
+								return ts + 30369
 							}
 							return ts + 1538
 						}(), zBindings)))
@@ -126814,32 +126872,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz,
 					Xsqlite3_mprintf(tls,
-						ts+30332, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
+						ts+30379, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 				var zRbuRowid uintptr = ts + 1538
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-					zRbuRowid = ts + 30360
+					zRbuRowid = ts + 30407
 				}
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-					ts+30372, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
+					ts+30419, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
 						if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
-							return ts + 30448
+							return ts + 30495
 						}
 						return ts + 1538
 					}(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-					ts+30465,
+					ts+30512,
 					libc.VaList(bp+440, zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zNewlist))
 
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-						ts+30764,
+						ts+30811,
 						libc.VaList(bp+512, zWrite, zTbl, zNewlist))
 				}
 
@@ -126852,9 +126910,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				var zOrder uintptr = uintptr(0)
 				if bRbuRowid != 0 {
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-						zRbuRowid = ts + 30863
+						zRbuRowid = ts + 30910
 					} else {
-						zRbuRowid = ts + 30873
+						zRbuRowid = ts + 30920
 					}
 				}
 
@@ -126867,7 +126925,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 						}
 					}
 					if bRbuRowid != 0 {
-						zOrder = rbuMPrintf(tls, p, ts+28920, 0)
+						zOrder = rbuMPrintf(tls, p, ts+28967, 0)
 					} else {
 						zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+1538, ts+14598, ts+1538)
 					}
@@ -126876,11 +126934,11 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz,
 						Xsqlite3_mprintf(tls,
-							ts+30884,
+							ts+30931,
 							libc.VaList(bp+536, zCollist,
 								func() uintptr {
 									if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-										return ts + 30932
+										return ts + 30979
 									}
 									return ts + 1538
 								}(),
@@ -126893,7 +126951,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								}(),
 								func() uintptr {
 									if zOrder != 0 {
-										return ts + 22843
+										return ts + 22890
 									}
 									return ts + 1538
 								}(), zOrder,
@@ -126961,9 +127019,9 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp
 			var zPrefix uintptr = ts + 1538
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB {
-				zPrefix = ts + 30277
+				zPrefix = ts + 30324
 			}
-			zUpdate = Xsqlite3_mprintf(tls, ts+30938,
+			zUpdate = Xsqlite3_mprintf(tls, ts+30985,
 				libc.VaList(bp, zPrefix, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere))
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate)
@@ -127022,7 +127080,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr {
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 16)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8, p+64,
-		Xsqlite3_mprintf(tls, ts+30968, libc.VaList(bp, p+48)))
+		Xsqlite3_mprintf(tls, ts+31015, libc.VaList(bp, p+48)))
 	for *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 		switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0) {
 		case RBU_STATE_STAGE:
@@ -127095,18 +127153,18 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6425, SQLITE_FCNTL_RBUCNT, p)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) {
 			var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6425)
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+30998, libc.VaList(bp, zFile, zFile))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+31045, libc.VaList(bp, zFile, zFile))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 {
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31026, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31073, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
 		libc.Xmemcpy(tls, p+48, ts+3270, uint64(4))
 	} else {
 		libc.Xmemcpy(tls, p+48, ts+6425, uint64(4))
 	}
 
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31044, libc.VaList(bp+24, p+48))
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+31091, libc.VaList(bp+24, p+48))
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		var bOpen int32 = 0
@@ -127146,11 +127204,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				return
 			}
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31110, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31157, 0)
 		} else {
 			var zTarget uintptr
 			var zExtra uintptr = uintptr(0)
-			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24190, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
+			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+24237, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
 				zExtra = (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5
 				for *(*int8)(unsafe.Pointer(zExtra)) != 0 {
 					if int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zExtra, 1)))) == '?' {
@@ -127162,13 +127220,13 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				}
 			}
 
-			zTarget = Xsqlite3_mprintf(tls, ts+31142,
+			zTarget = Xsqlite3_mprintf(tls, ts+31189,
 				libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6425),
 					func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1538
 						}
-						return ts + 31174
+						return ts + 31221
 					}(), func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1538
@@ -127187,21 +127245,21 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31176, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31223, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTmpInsertFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+31191, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31238, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuFossilDeltaFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+31208, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+31255, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTargetNameFunc})), uintptr(0), uintptr(0))
 	}
@@ -127209,7 +127267,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6425, SQLITE_FCNTL_RBU, p)
 	}
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31224, 0)
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31271, 0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6425, SQLITE_FCNTL_RBU, p)
@@ -127217,7 +127275,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31252, 0)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31299, 0)
 	}
 }
 
@@ -127246,14 +127304,14 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
 	if pState == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = 0
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31224, uintptr(0), uintptr(0), uintptr(0))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31271, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var rc2 int32
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CAPTURE
-		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31270, uintptr(0), uintptr(0), uintptr(0))
+		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31317, uintptr(0), uintptr(0), uintptr(0))
 		if rc2 != SQLITE_NOTICE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 		}
@@ -127379,7 +127437,7 @@ func rbuLockDatabase(tls *libc.TLS, db uintptr) int32 {
 
 func rbuExclusiveCheckpoint(tls *libc.TLS, db uintptr) int32 {
 	var zUri uintptr = Xsqlite3_db_filename(tls, db, uintptr(0))
-	return Xsqlite3_uri_boolean(tls, zUri, ts+31305, 0)
+	return Xsqlite3_uri_boolean(tls, zUri, ts+31352, 0)
 }
 
 func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
@@ -127394,8 +127452,8 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6425)
 	}
-	zOal = Xsqlite3_mprintf(tls, ts+31330, libc.VaList(bp, zMove))
-	zWal = Xsqlite3_mprintf(tls, ts+31337, libc.VaList(bp+8, zMove))
+	zOal = Xsqlite3_mprintf(tls, ts+31377, libc.VaList(bp, zMove))
+	zWal = Xsqlite3_mprintf(tls, ts+31384, libc.VaList(bp+8, zMove))
 
 	if zWal == uintptr(0) || zOal == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
@@ -127512,7 +127570,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) {
 			(*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 &&
 			Xsqlite3_column_type(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect, i) == SQLITE_NULL {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_MISMATCH
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23828, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+23875, 0)
 			return
 		}
 
@@ -127605,7 +127663,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 		var iCookie int32 = 1000000
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8, p+64,
-			ts+31344)
+			ts+31391)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 				iCookie = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0)
@@ -127613,7 +127671,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8)))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31366, libc.VaList(bp, iCookie+1))
+			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31413, libc.VaList(bp, iCookie+1))
 		}
 	}
 }
@@ -127634,7 +127692,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) {
 
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+31393,
+				ts+31440,
 				libc.VaList(bp, p+48,
 					RBU_STATE_STAGE, eStage,
 					RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl,
@@ -127664,9 +127722,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+31551, libc.VaList(bp, zPragma)))
+			Xsqlite3_mprintf(tls, ts+31598, libc.VaList(bp, zPragma)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31566,
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31613,
 				libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 0)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -127680,10 +127738,10 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 
-	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31586, uintptr(0), uintptr(0), p+64)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31633, uintptr(0), uintptr(0), p+64)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+31611)
+			ts+31658)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -127697,12 +127755,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+31719)
+			ts+31766)
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64,
-			ts+31784)
+			ts+31831)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -127714,7 +127772,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
 	}
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31828, uintptr(0), uintptr(0), p+64)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31875, uintptr(0), uintptr(0), p+64)
 	}
 
 	rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp)))
@@ -127742,7 +127800,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 {
 						if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 							rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-								ts+31853, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
+								ts+31900, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 						}
 					} else {
 						rbuObjIterPrepareAll(tls, p, pIter, 0)
@@ -127864,7 +127922,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) {
 
 		if rc == SQLITE_OK && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) {
 			rc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31881, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31928, 0)
 		}
 
 		if rc == SQLITE_OK {
@@ -127880,7 +127938,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	var zOal uintptr = rbuMPrintf(tls, p, ts+31330, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
+	var zOal uintptr = rbuMPrintf(tls, p, ts+31377, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
 	if zOal != 0 {
 		*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6425, SQLITE_FCNTL_VFS_POINTER, bp+8)
@@ -127897,7 +127955,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) {
 	defer tls.Free(76)
 
 	Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8)
-	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+31906, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
+	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+31953, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12, uintptr(0))
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12)
@@ -127931,7 +127989,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) {
 
 	rc = prepareFreeAndCollectError(tls, db, bp+8, bp+16,
 		Xsqlite3_mprintf(tls,
-			ts+31917, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
+			ts+31964, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
 	if rc != SQLITE_OK {
 		Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 16)), -1)
 	} else {
@@ -127961,13 +128019,13 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+31989, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+32036, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuIndexCntFunc})), uintptr(0), uintptr(0))
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32003)
+				ts+32050)
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
@@ -127978,7 +128036,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && bExists != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+32060)
+				ts+32107)
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
@@ -128052,7 +128110,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd != 0 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32134, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32181, 0)
 			} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_MOVE {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CKPT
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FnStep = 0
@@ -128070,12 +128128,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 			}()
 			if (*Rbu_file)(unsafe.Pointer(pFd)).FiCookie != (*RbuState)(unsafe.Pointer(pState)).FiCookie {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32166,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32213,
 					libc.VaList(bp+8, func() uintptr {
 						if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-							return ts + 32198
+							return ts + 32245
 						}
-						return ts + 32205
+						return ts + 32252
 					}()))
 			}
 		}
@@ -128099,14 +128157,14 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32212, uintptr(0), uintptr(0), p+64)
+						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+32259, uintptr(0), uintptr(0), p+64)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 						var frc int32 = Xsqlite3_file_control(tls, db, ts+6425, SQLITE_FCNTL_ZIPVFS, uintptr(0))
 						if frc == SQLITE_OK {
 							(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls,
-								db, ts+32228, uintptr(0), uintptr(0), p+64)
+								db, ts+32275, uintptr(0), uintptr(0), p+64)
 						}
 					}
 
@@ -128160,7 +128218,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr
 	}
 	if zState != 0 {
 		var n int32 = int32(libc.Xstrlen(tls, zState))
-		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32252, zState+uintptr(n-7), uint64(7)) {
+		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+32299, zState+uintptr(n-7), uint64(7)) {
 			return rbuMisuseError(tls)
 		}
 	}
@@ -128187,7 +128245,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) {
 		var i uint32
 		var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg)
 		for i = uint32(0); Size_t(i) < nErrmsg-uint64(8); i++ {
-			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30277, uint64(8)) == 0 {
+			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+30324, uint64(8)) == 0 {
 				var nDel int32 = 8
 				for int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= '0' && int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= '9' {
 					nDel++
@@ -128223,7 +128281,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 {
 		rbuObjIterFinalize(tls, p+80)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 {
-			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32260, uintptr(0), uintptr(0), uintptr(0))
+			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32307, uintptr(0), uintptr(0), uintptr(0))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE && rc2 != SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 			}
@@ -128342,12 +128400,12 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 				zBegin = ts + 14487
 			} else {
-				zBegin = ts + 32212
+				zBegin = ts + 32259
 			}
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32212, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32259, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -128693,7 +128751,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 			})(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16)
 			if rc == SQLITE_OK {
 				rc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32287, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32334, 0)
 			} else if rc == SQLITE_NOTFOUND {
 				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p
 				(*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu
@@ -128718,7 +128776,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 	if rc == SQLITE_OK && op == SQLITE_FCNTL_VFSNAME {
 		var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs
 		var zIn uintptr = *(*uintptr)(unsafe.Pointer(pArg))
-		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32310, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
+		var zOut uintptr = Xsqlite3_mprintf(tls, ts+32357, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
 		*(*uintptr)(unsafe.Pointer(pArg)) = zOut
 		if zOut == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -128878,7 +128936,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags
 	}
 
 	if oflags&SQLITE_OPEN_MAIN_DB != 0 &&
-		Xsqlite3_uri_boolean(tls, zName, ts+32321, 0) != 0 {
+		Xsqlite3_uri_boolean(tls, zName, ts+32368, 0) != 0 {
 		oflags = SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE
 		zOpen = uintptr(0)
 	}
@@ -129707,7 +129765,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 		rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0))
 		if rc == SQLITE_OK {
 			zPragma = Xsqlite3_mprintf(tls,
-				ts+32332, 0)
+				ts+32379, 0)
 		} else if rc == SQLITE_ERROR {
 			zPragma = Xsqlite3_mprintf(tls, ts+1538, 0)
 		} else {
@@ -129720,7 +129778,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 			return rc
 		}
 	} else {
-		zPragma = Xsqlite3_mprintf(tls, ts+32453, libc.VaList(bp, zDb, zThis))
+		zPragma = Xsqlite3_mprintf(tls, ts+32500, libc.VaList(bp, zDb, zThis))
 	}
 	if !(zPragma != 0) {
 		*(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0)
@@ -130400,9 +130458,9 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr,
 
 	for i = 0; i < nCol; i++ {
 		if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
-			zRet = Xsqlite3_mprintf(tls, ts+32482,
+			zRet = Xsqlite3_mprintf(tls, ts+32529,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 21509
+			zSep = ts + 21556
 			if zRet == uintptr(0) {
 				break
 			}
@@ -130425,9 +130483,9 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 		if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 {
 			bHave = 1
 			zRet = Xsqlite3_mprintf(tls,
-				ts+32516,
+				ts+32563,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 32557
+			zSep = ts + 32604
 			if zRet == uintptr(0) {
 				break
 			}
@@ -130435,7 +130493,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 	}
 
 	if bHave == 0 {
-		zRet = Xsqlite3_mprintf(tls, ts+7514, 0)
+		zRet = Xsqlite3_mprintf(tls, ts+7503, 0)
 	}
 
 	return zRet
@@ -130446,7 +130504,7 @@ func sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, zTbl uintpt
 	defer tls.Free(40)
 
 	var zRet uintptr = Xsqlite3_mprintf(tls,
-		ts+32562,
+		ts+32609,
 		libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr))
 	return zRet
 }
@@ -130489,7 +130547,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro
 		rc = SQLITE_NOMEM
 	} else {
 		var zStmt uintptr = Xsqlite3_mprintf(tls,
-			ts+32640,
+			ts+32687,
 			libc.VaList(bp, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2))
 		if zStmt == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -130616,7 +130674,7 @@ __6:
 	if !(pzErrMsg != 0) {
 		goto __16
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32693, 0)
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+32740, 0)
 __16:
 	;
 	rc = SQLITE_SCHEMA
@@ -131092,7 +131150,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 
 	if 0 == Xsqlite3_stricmp(tls, ts+11332, zTab) {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+32720, libc.VaList(bp, zDb))
+			ts+32767, libc.VaList(bp, zDb))
 		if zSql == uintptr(0) {
 			*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_NOMEM
 		}
@@ -131101,18 +131159,18 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 		var zSep uintptr = ts + 1538
 		*(*SessionBuffer)(unsafe.Pointer(bp + 8)) = SessionBuffer{}
 
-		sessionAppendStr(tls, bp+8, ts+32830, bp+24)
+		sessionAppendStr(tls, bp+8, ts+32877, bp+24)
 		sessionAppendIdent(tls, bp+8, zDb, bp+24)
 		sessionAppendStr(tls, bp+8, ts+1551, bp+24)
 		sessionAppendIdent(tls, bp+8, zTab, bp+24)
-		sessionAppendStr(tls, bp+8, ts+32845, bp+24)
+		sessionAppendStr(tls, bp+8, ts+32892, bp+24)
 		for i = 0; i < nCol; i++ {
 			if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
 				sessionAppendStr(tls, bp+8, zSep, bp+24)
 				sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+24)
-				sessionAppendStr(tls, bp+8, ts+32853, bp+24)
+				sessionAppendStr(tls, bp+8, ts+32900, bp+24)
 				sessionAppendInteger(tls, bp+8, i+1, bp+24)
-				zSep = ts + 21509
+				zSep = ts + 21556
 			}
 		}
 		zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8)).FaBuf
@@ -131221,7 +131279,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 {
 		return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc
 	}
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32859, uintptr(0), uintptr(0), uintptr(0))
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+32906, uintptr(0), uintptr(0), uintptr(0))
 	if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
@@ -131313,7 +131371,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	}
 
 	Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24)).FaBuf)
-	Xsqlite3_exec(tls, db, ts+32879, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+32926, uintptr(0), uintptr(0), uintptr(0))
 	Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db))
 	return *(*int32)(unsafe.Pointer(bp + 40))
 }
@@ -131576,7 +131634,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 		rc = sessionInputBuffer(tls, pIn, 9)
 		if rc == SQLITE_OK {
 			if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData {
-				rc = Xsqlite3CorruptError(tls, 219078)
+				rc = Xsqlite3CorruptError(tls, 219169)
 			} else {
 				eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1)))))
 
@@ -131599,7 +131657,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 				rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
 				if rc == SQLITE_OK {
 					if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext {
-						rc = Xsqlite3CorruptError(tls, 219098)
+						rc = Xsqlite3CorruptError(tls, 219189)
 					} else {
 						var enc U8 = func() uint8 {
 							if eType == SQLITE_TEXT {
@@ -131641,7 +131699,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in
 		nRead = nRead + sessionVarintGet(tls, (*SessionInput)(unsafe.Pointer(pIn)).FaData+uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext+nRead), bp)
 
 		if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > 65536 {
-			rc = Xsqlite3CorruptError(tls, 219152)
+			rc = Xsqlite3CorruptError(tls, 219243)
 		} else {
 			rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100)
 			nRead = nRead + *(*int32)(unsafe.Pointer(bp))
@@ -131702,7 +131760,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 {
 			(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
 			sessionBufferGrow(tls, p+72, int64(nByte), bp+4)
 		} else {
-			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219240)
+			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219331)
 		}
 	}
 
@@ -131776,13 +131834,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 	}
 
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219326))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219417))
 	}
 
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op)
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))))
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219332))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219423))
 	}
 
 	if paRec != 0 {
@@ -131844,7 +131902,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 				if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8))
 					if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) {
-						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219376))
+						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219467))
 					}
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0)
 				}
@@ -132217,7 +132275,7 @@ __27:
 	goto __6
 
 __11:
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219741)
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219832)
 	goto finished_invert
 __6:
 	;
@@ -132396,34 +132454,34 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32,
 				(*SessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24
 				libc.Xmemcpy(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(unsafe.Sizeof(U32(0))))
 
-				sessionAppendStr(tls, bp, ts+32897, bp+16)
+				sessionAppendStr(tls, bp, ts+32944, bp+16)
 				sessionAppendIdent(tls, bp, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+16)
-				sessionAppendStr(tls, bp, ts+32910, bp+16)
+				sessionAppendStr(tls, bp, ts+32957, bp+16)
 
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-						sessionAppendStr(tls, bp, ts+32916, bp+16)
+						sessionAppendStr(tls, bp, ts+32963, bp+16)
 						sessionAppendInteger(tls, bp, ii*2+1, bp+16)
 						zSep = ts + 14598
 					}
 				}
 
 				zSep = ts + 1538
-				sessionAppendStr(tls, bp, ts+32845, bp+16)
+				sessionAppendStr(tls, bp, ts+32892, bp+16)
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						if bStat1 != 0 && ii == 1 {
 							sessionAppendStr(tls, bp,
-								ts+32921, bp+16)
+								ts+32968, bp+16)
 						} else {
 							sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-							sessionAppendStr(tls, bp, ts+32853, bp+16)
+							sessionAppendStr(tls, bp, ts+32900, bp+16)
 							sessionAppendInteger(tls, bp, ii*2+2, bp+16)
 						}
-						zSep = ts + 21509
+						zSep = ts + 21556
 					}
 				}
 
@@ -132475,34 +132533,34 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 	var nPk int32 = 0
 
-	sessionAppendStr(tls, bp, ts+32996, bp+16)
+	sessionAppendStr(tls, bp, ts+33043, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+32845, bp+16)
+	sessionAppendStr(tls, bp, ts+32892, bp+16)
 
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 			nPk++
 			sessionAppendStr(tls, bp, zSep, bp+16)
 			sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-			sessionAppendStr(tls, bp, ts+32916, bp+16)
+			sessionAppendStr(tls, bp, ts+32963, bp+16)
 			sessionAppendInteger(tls, bp, i+1, bp+16)
-			zSep = ts + 21509
+			zSep = ts + 21556
 		}
 	}
 
 	if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol {
-		sessionAppendStr(tls, bp, ts+33014, bp+16)
+		sessionAppendStr(tls, bp, ts+33061, bp+16)
 		sessionAppendInteger(tls, bp, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol+1, bp+16)
-		sessionAppendStr(tls, bp, ts+32557, bp+16)
+		sessionAppendStr(tls, bp, ts+32604, bp+16)
 
 		zSep = ts + 1538
 		for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 			if !(int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i)))) != 0) {
 				sessionAppendStr(tls, bp, zSep, bp+16)
 				sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-				sessionAppendStr(tls, bp, ts+32853, bp+16)
+				sessionAppendStr(tls, bp, ts+32900, bp+16)
 				sessionAppendInteger(tls, bp, i+1, bp+16)
-				zSep = ts + 33022
+				zSep = ts + 33069
 			}
 		}
 		sessionAppendStr(tls, bp, ts+4941, bp+16)
@@ -132529,9 +132587,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	var i int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 
-	sessionAppendStr(tls, bp, ts+33027, bp+16)
+	sessionAppendStr(tls, bp, ts+33074, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+21515, bp+16)
+	sessionAppendStr(tls, bp, ts+21562, bp+16)
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if i != 0 {
 			sessionAppendStr(tls, bp, ts+14598, bp+16)
@@ -132539,9 +132597,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 		sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
 	}
 
-	sessionAppendStr(tls, bp, ts+33045, bp+16)
+	sessionAppendStr(tls, bp, ts+33092, bp+16)
 	for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
-		sessionAppendStr(tls, bp, ts+33056, bp+16)
+		sessionAppendStr(tls, bp, ts+33103, bp+16)
 	}
 	sessionAppendStr(tls, bp, ts+4941, bp+16)
 
@@ -132560,11 +132618,11 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 {
 	var rc int32 = sessionSelectRow(tls, db, ts+11332, p)
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+16,
-			ts+33060)
+			ts+33107)
 	}
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+8,
-			ts+33173)
+			ts+33220)
 	}
 	return rc
 }
@@ -132592,7 +132650,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab
 				f func(*libc.TLS, uintptr, int32, uintptr) int32
 			})(unsafe.Pointer(&struct{ uintptr }{xValue})).f(tls, pIter, i, bp)
 			if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
-				rc = Xsqlite3CorruptError(tls, 220219)
+				rc = Xsqlite3CorruptError(tls, 220310)
 			} else {
 				rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp)))
 			}
@@ -132845,7 +132903,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 		if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
 			rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 		} else if *(*int32)(unsafe.Pointer(bp)) != 0 {
-			rc = Xsqlite3_exec(tls, db, ts+33317, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33364, uintptr(0), uintptr(0), uintptr(0))
 			if rc == SQLITE_OK {
 				rc = sessionBindRow(tls, pIter,
 					*(*uintptr)(unsafe.Pointer(&struct {
@@ -132861,7 +132919,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 				rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 			}
 			if rc == SQLITE_OK {
-				rc = Xsqlite3_exec(tls, db, ts+33338, uintptr(0), uintptr(0), uintptr(0))
+				rc = Xsqlite3_exec(tls, db, ts+33385, uintptr(0), uintptr(0), uintptr(0))
 			}
 		}
 	}
@@ -132934,10 +132992,10 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 	(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FbInvertConstraints = libc.BoolInt32(!!(flags&SQLITE_CHANGESETAPPLY_INVERT != 0))
 	Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db))
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
-		rc = Xsqlite3_exec(tls, db, ts+33357, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33404, uintptr(0), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_exec(tls, db, ts+33383, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+33430, uintptr(0), uintptr(0), uintptr(0))
 	}
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3changeset_next(tls, pIter) {
 		Xsqlite3changeset_op(tls, pIter, bp+176, bp+184, bp+188, uintptr(0))
@@ -132996,16 +133054,16 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 				if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol == 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33413, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+33460, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol < *(*int32)(unsafe.Pointer(bp + 184)) {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33457,
+						ts+33504,
 						libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 200)), (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol, *(*int32)(unsafe.Pointer(bp + 184))))
 				} else if *(*int32)(unsafe.Pointer(bp + 184)) < nMinCol || libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 192)), uint64(*(*int32)(unsafe.Pointer(bp + 184)))) != 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+33528, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+33575, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else {
 					(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FnCol = *(*int32)(unsafe.Pointer(bp + 184))
 					if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), ts+11332) {
@@ -133059,14 +133117,14 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 			}
 		}
 	}
-	Xsqlite3_exec(tls, db, ts+33588, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+33635, uintptr(0), uintptr(0), uintptr(0))
 
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, db, ts+33618, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+33665, uintptr(0), uintptr(0), uintptr(0))
 		} else {
-			Xsqlite3_exec(tls, db, ts+33642, uintptr(0), uintptr(0), uintptr(0))
-			Xsqlite3_exec(tls, db, ts+33618, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33689, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+33665, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -134314,7 +134372,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) {
 		fts5yy_pop_parser_stack(tls, fts5yypParser)
 	}
 
-	sqlite3Fts5ParseError(tls, pParse, ts+33670, 0)
+	sqlite3Fts5ParseError(tls, pParse, ts+33717, 0)
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -134602,7 +134660,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32
 
 	_ = fts5yymajor
 	sqlite3Fts5ParseError(tls,
-		pParse, ts+33698, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
+		pParse, ts+33745, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -134789,7 +134847,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int
 		if n < 0 {
 			n = int32(libc.Xstrlen(tls, z))
 		}
-		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33729, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
+		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+33776, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
 		if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) {
 			*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 		}
@@ -134857,7 +134915,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp
 	var iCol int32
 
 	if nVal != 3 {
-		var zErr uintptr = ts + 33736
+		var zErr uintptr = ts + 33783
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -135039,7 +135097,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
 	var nCol int32
 
 	if nVal != 5 {
-		var zErr uintptr = ts + 33786
+		var zErr uintptr = ts + 33833
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -135363,13 +135421,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(96)
 
 	*(*[3]Builtin)(unsafe.Pointer(bp)) = [3]Builtin{
-		{FzFunc: ts + 33834, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33881, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5SnippetFunction}))},
-		{FzFunc: ts + 33842, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33889, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5HighlightFunction}))},
-		{FzFunc: ts + 33852, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 33899, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5Bm25Function}))},
 	}
@@ -135920,7 +135978,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 	var nCmd int32 = int32(libc.Xstrlen(tls, zCmd))
-	if Xsqlite3_strnicmp(tls, ts+33857, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+33904, zCmd, nCmd) == 0 {
 		var nByte int32 = int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))
 		var p uintptr
 		var bFirst int32 = 1
@@ -135947,14 +136005,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 				break
 			}
 			if int32(*(*int8)(unsafe.Pointer(p))) < '0' || int32(*(*int8)(unsafe.Pointer(p))) > '9' {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33864, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33911, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
 
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES {
 				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-					ts+33895, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
+					ts+33942, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -135965,7 +136023,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 			}
 
 			if nPre <= 0 || nPre >= 1000 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33928, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33975, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -135978,7 +136036,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+33965, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34012, zCmd, nCmd) == 0 {
 		var p uintptr = zArg
 		var nArg Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zArg) + uint64(1))
 		var azArg uintptr = sqlite3Fts5MallocZero(tls, bp+40, int64(uint64(unsafe.Sizeof(uintptr(0)))*uint64(nArg)))
@@ -135987,7 +136045,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 		if azArg != 0 && pSpace != 0 {
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33974, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34021, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				for nArg = int64(0); p != 0 && *(*int8)(unsafe.Pointer(p)) != 0; nArg++ {
@@ -136006,7 +136064,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 					}
 				}
 				if p == uintptr(0) {
-					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34007, 0)
+					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34054, 0)
 					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				} else {
 					*(*int32)(unsafe.Pointer(bp + 40)) = sqlite3Fts5GetTokenizer(tls, pGlobal,
@@ -136021,14 +136079,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34041, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34088, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34049, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34096, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			if *(*int8)(unsafe.Pointer(zArg)) != 0 {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_EXTERNAL
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34081, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+34128, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
 			} else {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE
 			}
@@ -136036,9 +136094,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34087, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34134, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34101, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34148, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40, zArg, -1)
@@ -136046,9 +136104,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+34139, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+34186, zCmd, nCmd) == 0 {
 		if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34150, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34197, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')
@@ -136060,17 +136118,17 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		*(*[4]Fts5Enum)(unsafe.Pointer(bp + 48)) = [4]Fts5Enum{
 			{FzName: ts + 8010, FeVal: FTS5_DETAIL_NONE},
 			{FzName: ts + 17329},
-			{FzName: ts + 34185, FeVal: FTS5_DETAIL_COLUMNS},
+			{FzName: ts + 34232, FeVal: FTS5_DETAIL_COLUMNS},
 			{},
 		}
 
 		if libc.AssignPtrInt32(bp+40, fts5ConfigSetEnum(tls, bp+48, zArg, pConfig+92)) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34193, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34240, 0)
 		}
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34224, libc.VaList(bp+24, nCmd, zCmd))
+	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34271, libc.VaList(bp+24, nCmd, zCmd))
 	return SQLITE_ERROR
 }
 
@@ -136117,15 +136175,15 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr,
 	defer tls.Free(16)
 
 	var rc int32 = SQLITE_OK
-	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22175) ||
+	if 0 == Xsqlite3_stricmp(tls, zCol, ts+22222) ||
 		0 == Xsqlite3_stricmp(tls, zCol, ts+16251) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34252, libc.VaList(bp, zCol))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34299, libc.VaList(bp, zCol))
 		rc = SQLITE_ERROR
 	} else if zArg != 0 {
-		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34282) {
+		if 0 == Xsqlite3_stricmp(tls, zArg, ts+34329) {
 			*(*U8)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*Fts5Config)(unsafe.Pointer(p)).FnCol))) = U8(1)
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34292, libc.VaList(bp+8, zArg))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34339, libc.VaList(bp+8, zArg))
 			rc = SQLITE_ERROR
 		}
 	}
@@ -136142,13 +136200,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_OK
 	*(*Fts5Buffer)(unsafe.Pointer(bp + 32)) = Fts5Buffer{}
 
-	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34323, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
+	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34370, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
 	if (*Fts5Config)(unsafe.Pointer(p)).FeContent != FTS5_CONTENT_NONE {
 		for i = 0; i < (*Fts5Config)(unsafe.Pointer(p)).FnCol; i++ {
 			if (*Fts5Config)(unsafe.Pointer(p)).FeContent == FTS5_CONTENT_EXTERNAL {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34328, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34375, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
 			} else {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34335, libc.VaList(bp+16, i))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+34382, libc.VaList(bp+16, i))
 			}
 		}
 	}
@@ -136186,8 +136244,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 	(*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -1)
 	(*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize = 1
 	(*Fts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL
-	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22175) == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34343, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
+	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+22222) == 0 {
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34390, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
 		*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 	}
 
@@ -136219,7 +136277,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 
 		if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK {
 			if z == uintptr(0) {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34372, libc.VaList(bp+8, zOrig))
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+34419, libc.VaList(bp+8, zOrig))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				if bOption != 0 {
@@ -136256,14 +136314,14 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 		var zTail uintptr = uintptr(0)
 
 		if (*Fts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL {
-			zTail = ts + 34041
+			zTail = ts + 34088
 		} else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 {
-			zTail = ts + 34392
+			zTail = ts + 34439
 		}
 
 		if zTail != 0 {
 			(*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls,
-				bp+40, ts+34400, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
+				bp+40, ts+34447, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
 		}
 	}
 
@@ -136312,7 +136370,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_OK
 	var zSql uintptr
 
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34411, 0)
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34458, 0)
 	for i = 0; zSql != 0 && i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
 		var zSep uintptr = func() uintptr {
 			if i == 0 {
@@ -136320,10 +136378,10 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 			}
 			return ts + 14598
 		}()
-		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34427, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
+		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34474, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
 	}
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34434,
-		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22175))
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+34481,
+		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+22222))
 
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql)
@@ -136433,7 +136491,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 
 	var rc int32 = SQLITE_OK
 
-	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34460) {
+	if 0 == Xsqlite3_stricmp(tls, zKey, ts+34507) {
 		var pgsz int32 = 0
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			pgsz = Xsqlite3_value_int(tls, pVal)
@@ -136443,7 +136501,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34465) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34512) {
 		var nHashSize int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nHashSize = Xsqlite3_value_int(tls, pVal)
@@ -136453,7 +136511,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34474) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34521) {
 		var nAutomerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nAutomerge = Xsqlite3_value_int(tls, pVal)
@@ -136466,7 +136524,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34484) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34531) {
 		var nUsermerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nUsermerge = Xsqlite3_value_int(tls, pVal)
@@ -136476,7 +136534,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34494) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+34541) {
 		var nCrisisMerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nCrisisMerge = Xsqlite3_value_int(tls, pVal)
@@ -136492,7 +136550,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22175) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+22222) {
 		var zIn uintptr = Xsqlite3_value_text(tls, pVal)
 
 		rc = sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8)
@@ -136515,7 +136573,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 	bp := tls.Alloc(52)
 	defer tls.Free(52)
 
-	var zSelect uintptr = ts + 34506
+	var zSelect uintptr = ts + 34553
 	var zSql uintptr
 	*(*uintptr)(unsafe.Pointer(bp + 40)) = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
@@ -136537,7 +136595,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) {
 			var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 0)
 			var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 1)
-			if 0 == Xsqlite3_stricmp(tls, zK, ts+34538) {
+			if 0 == Xsqlite3_stricmp(tls, zK, ts+34585) {
 				iVersion = Xsqlite3_value_int(tls, pVal)
 			} else {
 				*(*int32)(unsafe.Pointer(bp + 48)) = 0
@@ -136551,7 +136609,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 {
 			*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-				ts+34546,
+				ts+34593,
 				libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION))
 		}
 	}
@@ -136649,7 +136707,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 					}
 				}
 				if int32(*(*int8)(unsafe.Pointer(z2))) == 0 {
-					sqlite3Fts5ParseError(tls, pParse, ts+34611, 0)
+					sqlite3Fts5ParseError(tls, pParse, ts+34658, 0)
 					return FTS5_EOF
 				}
 			}
@@ -136662,20 +136720,20 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 		{
 			var z2 uintptr
 			if sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z))) == 0 {
-				sqlite3Fts5ParseError(tls, pParse, ts+34631, libc.VaList(bp, z))
+				sqlite3Fts5ParseError(tls, pParse, ts+34678, libc.VaList(bp, z))
 				return FTS5_EOF
 			}
 			tok = FTS5_STRING
 			for z2 = z + 1; sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z2))) != 0; z2++ {
 			}
 			(*Fts5Token)(unsafe.Pointer(pToken)).Fn = int32((int64(z2) - int64(z)) / 1)
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34662, uint64(2)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34709, uint64(2)) == 0 {
 				tok = FTS5_OR
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34665, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+34712, uint64(3)) == 0 {
 				tok = FTS5_NOT
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30047, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+30094, uint64(3)) == 0 {
 				tok = FTS5_AND
 			}
 			break
@@ -138453,9 +138511,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34669, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
+	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+34716, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
 		sqlite3Fts5ParseError(tls,
-			pParse, ts+33698, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
+			pParse, ts+33745, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
 	}
 }
 
@@ -138471,7 +138529,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p
 				var c int8 = *(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))
 				if int32(c) < '0' || int32(c) > '9' {
 					sqlite3Fts5ParseError(tls,
-						pParse, ts+34674, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
+						pParse, ts+34721, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
 					return
 				}
 				nNear = nNear*10 + (int32(*(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - '0')
@@ -138558,7 +138616,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui
 			}
 		}
 		if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol {
-			sqlite3Fts5ParseError(tls, pParse, ts+20512, libc.VaList(bp, z))
+			sqlite3Fts5ParseError(tls, pParse, ts+20559, libc.VaList(bp, z))
 		} else {
 			pRet = fts5ParseColset(tls, pParse, pColset, iCol)
 		}
@@ -138639,7 +138697,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo
 	*(*uintptr)(unsafe.Pointer(bp)) = pColset
 	if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE {
 		sqlite3Fts5ParseError(tls, pParse,
-			ts+34703, 0)
+			ts+34750, 0)
 	} else {
 		fts5ParseSetColset(tls, pParse, pExpr, pColset, bp)
 	}
@@ -138809,12 +138867,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 1 ||
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*Fts5ExprTerm)(unsafe.Pointer(pPhrase+32)).FbFirst != 0 {
 							sqlite3Fts5ParseError(tls, pParse,
-								ts+34756,
+								ts+34803,
 								libc.VaList(bp, func() uintptr {
 									if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 {
-										return ts + 34806
+										return ts + 34853
 									}
-									return ts + 34669
+									return ts + 34716
 								}()))
 							Xsqlite3_free(tls, pRet)
 							pRet = uintptr(0)
@@ -139757,7 +139815,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK {
 			var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 			rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb,
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34813, iRowid, 0, p+56)
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+34860, iRowid, 0, p+56)
 		}
 
 		if rc == SQLITE_ERROR {
@@ -139836,7 +139894,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in
 	if (*Fts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+64, Xsqlite3_mprintf(tls,
-			ts+34819,
+			ts+34866,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 		if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 			return
@@ -139861,7 +139919,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = Xsqlite3_mprintf(tls,
-			ts+34870,
+			ts+34917,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if fts5IndexPrepareStmt(tls, p, p+72, zSql) != 0 {
 			return
@@ -139884,7 +139942,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+88, Xsqlite3_mprintf(tls,
-			ts+34919,
+			ts+34966,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -140123,7 +140181,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 {
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) {
 			(*Fts5Index)(unsafe.Pointer(p)).Frc = fts5IndexPrepareStmt(tls, p, p+112,
-				Xsqlite3_mprintf(tls, ts+34959, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
+				Xsqlite3_mprintf(tls, ts+35006, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
 			if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 				return int64(0)
 			}
@@ -141322,7 +141380,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls,
-			ts+34982,
+			ts+35029,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect
@@ -142788,7 +142846,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls,
-			ts+35066,
+			ts+35113,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 
@@ -143870,13 +143928,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		(*Fts5Index)(unsafe.Pointer(p)).FpConfig = pConfig
 		(*Fts5Index)(unsafe.Pointer(p)).FnWorkUnit = FTS5_WORK_UNIT
-		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35123, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+35170, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 {
 			*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+25040, ts+35131, 0, pzErr)
+				pConfig, ts+25087, ts+35178, 0, pzErr)
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 				*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls, pConfig, ts+11472,
-					ts+35166,
+					ts+35213,
 					1, pzErr)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
@@ -144129,7 +144187,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 {
 	sqlite3Fts5Put32(tls, bp, iNew)
 
 	rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl,
-		ts+34813, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
+		ts+34860, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
 	if rc == SQLITE_OK {
 		Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, 4, 0)
 		rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
@@ -144243,7 +144301,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) {
 	}
 
 	fts5IndexPrepareStmt(tls, p, bp+24, Xsqlite3_mprintf(tls,
-		ts+35210,
+		ts+35257,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid)))
 
 	for (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
@@ -144413,7 +144471,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks
 		} else {
 			(*Fts5Buffer)(unsafe.Pointer(bp + 16)).Fn = 0
 			fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp))+96+uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaFirst+1*4)).FiFirst)*120, uintptr(0), bp+16)
-			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35296)
+			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+35343)
 			for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fn, bp+32, bp+40) {
 				var iCol int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) >> 32)
 				var iTokOff int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) & int64(0x7FFFFFFF))
@@ -144684,7 +144742,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 {
 
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 {
 		(*Fts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+35301, 0)
+			ts+35348, 0)
 		return SQLITE_ERROR
 	}
 
@@ -145108,7 +145166,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 	(*Fts5Sorter)(unsafe.Pointer(pSorter)).FnIdx = nPhrase
 
 	rc = fts5PrepareStatement(tls, pSorter, pConfig,
-		ts+35340,
+		ts+35387,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			func() uintptr {
 				if zRankArgs != 0 {
@@ -145124,9 +145182,9 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 			}(),
 			func() uintptr {
 				if bDesc != 0 {
-					return ts + 35395
+					return ts + 35442
 				}
-				return ts + 35400
+				return ts + 35447
 			}()))
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter
@@ -145172,12 +145230,12 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr)
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan = FTS5_PLAN_SPECIAL
 
-	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35404, z, n) {
+	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+35451, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = I64(sqlite3Fts5IndexReads(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex))
 	} else if n == 2 && 0 == Xsqlite3_strnicmp(tls, ts+5041, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId
 	} else {
-		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35410, libc.VaList(bp, n, z))
+		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35457, libc.VaList(bp, n, z))
 		rc = SQLITE_ERROR
 	}
 
@@ -145208,7 +145266,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs
 
 	if zRankArgs != 0 {
-		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35438, libc.VaList(bp, zRankArgs))
+		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+35485, libc.VaList(bp, zRankArgs))
 		if zSql != 0 {
 			*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 			*(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1,
@@ -145239,7 +145297,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 		pAux = fts5FindAuxiliary(tls, pTab, zRank)
 		if pAux == uintptr(0) {
-			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35448, libc.VaList(bp+8, zRank))
+			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35495, libc.VaList(bp+8, zRank))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		}
 	}
@@ -145271,14 +145329,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin
 			*(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_FREE_ZRANK
 		} else if rc == SQLITE_ERROR {
 			(*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35469, libc.VaList(bp, z))
+				ts+35516, libc.VaList(bp, z))
 		}
 	} else {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank != 0 {
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRankArgs
 		} else {
-			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33852
+			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 33899
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0)
 		}
 	}
@@ -145334,7 +145392,7 @@ func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintp
 		goto __1
 	}
 	(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+35301, 0)
+		ts+35348, 0)
 	return SQLITE_ERROR
 __1:
 	;
@@ -145551,7 +145609,7 @@ __35:
 		goto __40
 	}
 	*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-		ts+35502, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		ts+35549, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	rc = SQLITE_ERROR
 	goto __41
 __40:
@@ -145696,28 +145754,28 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr)
 	var rc int32 = SQLITE_OK
 	*(*int32)(unsafe.Pointer(bp)) = 0
 
-	if 0 == Xsqlite3_stricmp(tls, ts+35538, zCmd) {
+	if 0 == Xsqlite3_stricmp(tls, ts+35585, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			fts5SetVtabError(tls, pTab,
-				ts+35549, 0)
+				ts+35596, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35629, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35676, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE {
 			fts5SetVtabError(tls, pTab,
-				ts+35637, 0)
+				ts+35684, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
 	} else if 0 == Xsqlite3_stricmp(tls, ts+16918, zCmd) {
 		rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35693, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35740, zCmd) {
 		var nMerge int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageMerge(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, nMerge)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+35699, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+35746, zCmd) {
 		var iArg int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg)
 	} else {
@@ -145788,12 +145846,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p
 
 		if eType0 == SQLITE_INTEGER && fts5IsContentless(tls, pTab) != 0 {
 			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+35715,
+				ts+35762,
 				libc.VaList(bp, func() uintptr {
 					if nArg > 1 {
-						return ts + 20413
+						return ts + 20460
 					}
-					return ts + 35752
+					return ts + 35799
 				}(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		} else if nArg == 1 {
@@ -146423,7 +146481,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 
 	pCsr = fts5CursorFromCsrid(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId)
 	if pCsr == uintptr(0) || (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 {
-		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35764, libc.VaList(bp, iCsrId))
+		var zErr uintptr = Xsqlite3_mprintf(tls, ts+35811, libc.VaList(bp, iCsrId))
 		Xsqlite3_result_error(tls, context, zErr, -1)
 		Xsqlite3_free(tls, zErr)
 	} else {
@@ -146667,7 +146725,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 	}())
 	if pMod == uintptr(0) {
 		rc = SQLITE_ERROR
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35785, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35832, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
 	} else {
 		rc = (*struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
@@ -146686,7 +146744,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 		(*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16
 		if rc != SQLITE_OK {
 			if pzErr != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35807, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35854, 0)
 			}
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls,
@@ -146733,7 +146791,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 	var ppApi uintptr
 	_ = nArg
 
-	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35838)
+	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+35885)
 	if ppApi != 0 {
 		*(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal
 	}
@@ -146742,7 +146800,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) {
 	_ = nArg
 	_ = apUnused
-	Xsqlite3_result_text(tls, pCtx, ts+35851, -1, libc.UintptrFromInt32(-1))
+	Xsqlite3_result_text(tls, pCtx, ts+35898, -1, libc.UintptrFromInt32(-1))
 }
 
 func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
@@ -146756,7 +146814,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName2 = [5]uintptr{
-	ts + 35942, ts + 34041, ts + 25040, ts + 34392, ts + 11472,
+	ts + 35989, ts + 34088, ts + 25087, ts + 34439, ts + 11472,
 }
 
 func fts5Init(tls *libc.TLS, db uintptr) int32 {
@@ -146780,7 +146838,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		(*Fts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32
 		}{fts5FindTokenizer}))
-		rc = Xsqlite3_create_module_v2(tls, db, ts+35949, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+35996, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5IndexInit(tls, db)
 		}
@@ -146798,13 +146856,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35949, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+				db, ts+35996, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
 				}{fts5Fts5Func})), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+35954, 0,
+				db, ts+36001, 0,
 				SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
 				p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
@@ -146861,17 +146919,17 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p
 
 	if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) {
 		*(*[11]uintptr)(unsafe.Pointer(bp + 128)) = [11]uintptr{
-			ts + 35969,
-			ts + 36037,
-			ts + 36106,
-			ts + 36139,
-			ts + 36178,
-			ts + 36218,
-			ts + 36257,
-			ts + 36298,
-			ts + 36337,
-			ts + 36379,
-			ts + 36419,
+			ts + 36016,
+			ts + 36084,
+			ts + 36153,
+			ts + 36186,
+			ts + 36225,
+			ts + 36265,
+			ts + 36304,
+			ts + 36345,
+			ts + 36384,
+			ts + 36426,
+			ts + 36466,
 		}
 		var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = uintptr(0)
@@ -146973,18 +147031,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 {
 	defer tls.Free(80)
 
 	var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36442,
+		ts+36489,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36546,
+			ts+36593,
 			libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36584,
+			ts+36631,
 			libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	return rc
@@ -146996,7 +147054,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin
 
 	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(pRc)) = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36622,
+			ts+36669,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail))
 	}
 }
@@ -147008,14 +147066,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in
 	var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig
 	*(*int32)(unsafe.Pointer(bp)) = sqlite3Fts5StorageSync(tls, pStorage)
 
-	fts5StorageRenameOne(tls, pConfig, bp, ts+25040, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+25087, zName)
 	fts5StorageRenameOne(tls, pConfig, bp, ts+11472, zName)
-	fts5StorageRenameOne(tls, pConfig, bp, ts+35942, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+35989, zName)
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34392, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34439, zName)
 	}
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+34041, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+34088, zName)
 	}
 	return *(*int32)(unsafe.Pointer(bp))
 }
@@ -147027,17 +147085,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn
 	var rc int32
 	*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
-	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36664,
+	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+36711,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn,
 			func() uintptr {
 				if bWithout != 0 {
-					return ts + 29693
+					return ts + 29740
 				}
 				return ts + 1538
 			}()))
 	if *(*uintptr)(unsafe.Pointer(bp + 64)) != 0 {
 		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-			ts+36694,
+			ts+36741,
 			libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64))))
 		Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
@@ -147074,27 +147132,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre
 			} else {
 				var i int32
 				var iOff int32
-				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36738, 0)
+				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+36785, 0)
 				iOff = int32(libc.Xstrlen(tls, zDefn))
 				for i = 0; i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
-					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36761, libc.VaList(bp, i))
+					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+36808, libc.VaList(bp, i))
 					iOff = iOff + int32(libc.Xstrlen(tls, zDefn+uintptr(iOff)))
 				}
-				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34041, zDefn, 0, pzErr)
+				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+34088, zDefn, 0, pzErr)
 			}
 			Xsqlite3_free(tls, zDefn)
 		}
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+34392, ts+36767, 0, pzErr)
+				pConfig, ts+34439, ts+36814, 0, pzErr)
 		}
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+35942, ts+36799, 1, pzErr)
+				pConfig, ts+35989, ts+36846, 1, pzErr)
 		}
 		if rc == SQLITE_OK {
-			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34538, uintptr(0), FTS5_CURRENT_VERSION)
+			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34585, uintptr(0), FTS5_CURRENT_VERSION)
 		}
 	}
 
@@ -147300,12 +147358,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 	(*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0
 
 	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+36816,
+		ts+36863,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+36866,
+			ts+36913,
 			libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 
@@ -147313,7 +147371,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 		rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex)
 	}
 	if rc == SQLITE_OK {
-		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34538, uintptr(0), FTS5_CURRENT_VERSION)
+		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+34585, uintptr(0), FTS5_CURRENT_VERSION)
 	}
 	return rc
 }
@@ -147489,7 +147547,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr)
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+36895,
+	zSql = Xsqlite3_mprintf(tls, ts+36942,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix))
 	if zSql == uintptr(0) {
 		rc = SQLITE_NOMEM
@@ -147671,14 +147729,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 {
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			*(*I64)(unsafe.Pointer(bp + 48)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34041, bp+48)
+			rc = fts5StorageCount(tls, p, ts+34088, bp+48)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 48)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
 		}
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			*(*I64)(unsafe.Pointer(bp + 56)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+34392, bp+56)
+			rc = fts5StorageCount(tls, p, ts+34439, bp+56)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 56)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
@@ -147873,9 +147931,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32,
 			libc.Xmemcpy(tls, p, uintptr(unsafe.Pointer(&aAsciiTokenChar)), uint64(unsafe.Sizeof(aAsciiTokenChar)))
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36927) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36974) {
 					fts5AsciiAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36938) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36985) {
 					fts5AsciiAddExceptions(tls, p, zArg, 0)
 				} else {
 					rc = SQLITE_ERROR
@@ -148090,7 +148148,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 	} else {
 		p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Unicode61Tokenizer{})))
 		if p != 0 {
-			var zCat uintptr = ts + 36949
+			var zCat uintptr = ts + 36996
 			var i int32
 			libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{})))
 
@@ -148102,7 +148160,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 			}
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36958) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37005) {
 					zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
 				}
 			}
@@ -148113,18 +148171,18 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36969) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37016) {
 					if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' && int32(*(*int8)(unsafe.Pointer(zArg))) != '2' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 						rc = SQLITE_ERROR
 					} else {
 						(*Unicode61Tokenizer)(unsafe.Pointer(p)).FeRemoveDiacritic = int32(*(*int8)(unsafe.Pointer(zArg))) - '0'
 
 					}
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36927) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36974) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36938) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36985) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 0)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+36958) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37005) {
 				} else {
 					rc = SQLITE_ERROR
 				}
@@ -148400,7 +148458,7 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp
 	var rc int32 = SQLITE_OK
 	var pRet uintptr
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
-	var zBase uintptr = ts + 36987
+	var zBase uintptr = ts + 37034
 
 	if nArg > 0 {
 		zBase = *(*uintptr)(unsafe.Pointer(azArg))
@@ -148542,7 +148600,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+36997, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37044, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -148550,11 +148608,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37000, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37047, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37005, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37052, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -148562,7 +148620,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'e':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37010, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37057, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -148570,7 +148628,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37013, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37060, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -148578,11 +148636,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37016, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37063, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37021, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37068, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -148590,19 +148648,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37026, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37073, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37030, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37077, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37036, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37083, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37041, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37088, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -148610,11 +148668,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'o':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37045, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37092, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37049, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37096, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -148622,7 +148680,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 's':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37052, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37099, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -148630,11 +148688,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37056, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37103, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37060, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37107, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -148642,7 +148700,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37064, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37111, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -148650,7 +148708,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37068, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37115, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -148658,7 +148716,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37072, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37119, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -148674,24 +148732,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37076, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37056, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37123, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37103, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'b':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37079, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37082, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37126, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37129, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37086, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37072, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37133, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+37119, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
@@ -148706,44 +148764,44 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37089, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37136, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37056, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37103, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37097, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37144, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37104, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37151, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 4
 			}
 		}
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37109, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37156, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37005, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37052, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37114, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37161, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37000, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37047, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
 		}
 		break
 
 	case 'e':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37119, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37166, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37072, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37119, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 'g':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37124, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37171, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+15464, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
@@ -148752,91 +148810,91 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37129, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37176, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37082, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37129, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37133, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37180, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+36997, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37044, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37138, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37185, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37041, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37088, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37144, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37191, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37148, uint64(1))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37195, uint64(1))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 1
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37150, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37197, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37064, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37111, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
 		}
 		break
 
 	case 'o':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37156, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37203, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37072, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37119, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37164, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37211, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37056, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37103, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37170, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37217, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37056, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37103, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37175, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37222, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+36997, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37044, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37181, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37228, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37068, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37115, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37189, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37236, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37197, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37244, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37201, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+37248, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37064, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+37111, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
 		}
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37209, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37256, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+36997, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37044, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37215, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37262, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37068, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37115, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37221, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+37268, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37082, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+37129, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 3
 			}
 		}
@@ -148851,16 +148909,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37228, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37275, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37233, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+37280, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -148868,21 +148926,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37238, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37285, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37244, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37291, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37013, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37060, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37197, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37244, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -148890,7 +148948,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37250, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37297, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
@@ -148898,9 +148956,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37256, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+37303, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+36997, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+37044, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
@@ -148915,12 +148973,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'e':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37262, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37309, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37266, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+37313, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 2
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37269, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+37316, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 				ret = 1
@@ -148929,7 +148987,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37272, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+37319, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 				ret = 1
@@ -149085,7 +149143,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp
 		(*TrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = 1
 		for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 			var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37276) {
+			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+37323) {
 				if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 					rc = SQLITE_ERROR
 				} else {
@@ -149265,22 +149323,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(128)
 
 	*(*[4]BuiltinTokenizer)(unsafe.Pointer(bp)) = [4]BuiltinTokenizer{
-		{FzName: ts + 36987, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37034, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5UnicodeCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5UnicodeDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5UnicodeTokenize}))}},
-		{FzName: ts + 37291, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37338, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5AsciiCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5AsciiDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5AsciiTokenize}))}},
-		{FzName: ts + 37297, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37344, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5PorterCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5PorterDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5PorterTokenize}))}},
-		{FzName: ts + 37304, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 37351, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5TriCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5TriDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
@@ -150423,14 +150481,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint
 	var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8, zType, -1)
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		sqlite3Fts5Dequote(tls, zCopy)
-		if Xsqlite3_stricmp(tls, zCopy, ts+37312) == 0 {
+		if Xsqlite3_stricmp(tls, zCopy, ts+37359) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37316) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37363) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+37320) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+37367) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37329, libc.VaList(bp, zCopy))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37376, libc.VaList(bp, zCopy))
 			*(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_ERROR
 		}
 		Xsqlite3_free(tls, zCopy)
@@ -150456,19 +150514,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	defer tls.Free(36)
 
 	*(*[3]uintptr)(unsafe.Pointer(bp + 8)) = [3]uintptr{
-		ts + 37363,
-		ts + 37403,
-		ts + 37438,
+		ts + 37410,
+		ts + 37450,
+		ts + 37485,
 	}
 
 	var pRet uintptr = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
 	var bDb int32
 
-	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23336, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
+	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+23383, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
 
 	if argc != 5 && bDb == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37481, 0)
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37528, 0)
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 	} else {
 		var nByte int32
@@ -150601,11 +150659,11 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 
 	if (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 {
 		(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+37514, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+			ts+37561, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 		return SQLITE_ERROR
 	}
 	zSql = sqlite3Fts5Mprintf(tls, bp+64,
-		ts+37545,
+		ts+37592,
 		libc.VaList(bp+16, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 64)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+72, uintptr(0))
@@ -150629,7 +150687,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 			*(*uintptr)(unsafe.Pointer(bp + 72)) = uintptr(0)
 			if *(*int32)(unsafe.Pointer(bp + 64)) == SQLITE_OK {
 				(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-					ts+37596, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+					ts+37643, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 				*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 			}
 		} else {
@@ -151024,7 +151082,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32
 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 {
 	var p uintptr = pGlobal
 
-	return Xsqlite3_create_module_v2(tls, db, ts+37622, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
+	return Xsqlite3_create_module_v2(tls, db, ts+37669, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
 }
 
 var fts5Vocab = Sqlite3_module{
@@ -151046,7 +151104,7 @@ var fts5Vocab = Sqlite3_module{
 // ************* End of stmt.c ***********************************************
 // Return the source-id for this library
 func Xsqlite3_sourceid(tls *libc.TLS) uintptr {
-	return ts + 37632
+	return ts + 37679
 }
 
 func init() {
@@ -152020,5 +152078,5 @@ func init() {
 	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfs_template)) + 128)) = rbuVfsGetLastError
 }
 
-var ts1 = "3.41.0\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-13.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00"
+var ts1 = "3.41.2\x00ATOMIC_INTRINSICS=0\x00COMPILER=clang-13.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00so\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00"
 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_windows_amd64.go b/vendor/modernc.org/sqlite/lib/sqlite_windows_amd64.go
index 57c8fcdb..ae250622 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_windows_amd64.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_windows_amd64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_windows_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_windows_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT.
 
 package sqlite3
 
@@ -10492,11 +10492,11 @@ const (
 	NC_OrderAgg                                                                    = 0x8000000
 	NC_PartIdx                                                                     = 0x000002
 	NC_SelfRef                                                                     = 0x00002e
+	NC_Subquery                                                                    = 0x000040
 	NC_UAggInfo                                                                    = 0x000100
 	NC_UBaseReg                                                                    = 0x000400
 	NC_UEList                                                                      = 0x000080
 	NC_UUpsert                                                                     = 0x000200
-	NC_VarSelect                                                                   = 0x000040
 	NDEBUG                                                                         = 1
 	NDR_ASCII_CHAR                                                                 = 0
 	NDR_BIG_ENDIAN                                                                 = 0
@@ -15089,7 +15089,7 @@ const (
 	SQLITE_SHM_UNLOCK                                                              = 1
 	SQLITE_SORTER_PMASZ                                                            = 250
 	SQLITE_SOUNDEX                                                                 = 1
-	SQLITE_SOURCE_ID                                                               = "2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d"
+	SQLITE_SOURCE_ID                                                               = "2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da"
 	SQLITE_SO_ASC                                                                  = 0
 	SQLITE_SO_DESC                                                                 = 1
 	SQLITE_SO_UNDEFINED                                                            = -1
@@ -15200,8 +15200,8 @@ const (
 	SQLITE_UTF8                                                                    = 1
 	SQLITE_VDBEINT_H                                                               = 0
 	SQLITE_VDBE_H                                                                  = 0
-	SQLITE_VERSION                                                                 = "3.41.0"
-	SQLITE_VERSION_NUMBER                                                          = 3041000
+	SQLITE_VERSION                                                                 = "3.41.2"
+	SQLITE_VERSION_NUMBER                                                          = 3041002
 	SQLITE_VTABRISK_High                                                           = 2
 	SQLITE_VTABRISK_Low                                                            = 0
 	SQLITE_VTABRISK_Normal                                                         = 1
@@ -24337,7 +24337,8 @@ type IndexedExpr1 = struct {
 	FiIdxCur       int32
 	FiIdxCol       int32
 	FbMaybeNullRow U8
-	F__ccgo_pad1   [3]byte
+	Faff           U8
+	F__ccgo_pad1   [2]byte
 	FpIENext       uintptr
 }
 
@@ -24982,17 +24983,18 @@ type Pager = Pager1
 
 // Handle type for pages.
 type PgHdr2 = struct {
-	FpPage      uintptr
-	FpData      uintptr
-	FpExtra     uintptr
-	FpCache     uintptr
-	FpDirty     uintptr
-	FpPager     uintptr
-	Fpgno       Pgno
-	Fflags      U16
-	FnRef       I16
-	FpDirtyNext uintptr
-	FpDirtyPrev uintptr
+	FpPage       uintptr
+	FpData       uintptr
+	FpExtra      uintptr
+	FpCache      uintptr
+	FpDirty      uintptr
+	FpPager      uintptr
+	Fpgno        Pgno
+	Fflags       U16
+	F__ccgo_pad1 [2]byte
+	FnRef        I64
+	FpDirtyNext  uintptr
+	FpDirtyPrev  uintptr
 }
 
 // Handle type for pages.
@@ -25213,14 +25215,14 @@ type PCache2 = struct {
 	FpDirty      uintptr
 	FpDirtyTail  uintptr
 	FpSynced     uintptr
-	FnRefSum     int32
+	FnRefSum     I64
 	FszCache     int32
 	FszSpill     int32
 	FszPage      int32
 	FszExtra     int32
 	FbPurgeable  U8
 	FeCreate     U8
-	F__ccgo_pad1 [2]byte
+	F__ccgo_pad1 [6]byte
 	FxStress     uintptr
 	FpStress     uintptr
 	FpCache      uintptr
@@ -26027,7 +26029,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
 	_ = pMutex
 
 	if op < 0 || op >= int32(uint64(unsafe.Sizeof([10]Sqlite3StatValueType{}))/uint64(unsafe.Sizeof(Sqlite3StatValueType(0)))) {
-		return Xsqlite3MisuseError(tls, 23229)
+		return Xsqlite3MisuseError(tls, 23233)
 	}
 	if statMutex[op] != 0 {
 		pMutex = Xsqlite3Pcache1Mutex(tls)
@@ -60911,7 +60913,7 @@ func winSeekFile(tls *libc.TLS, pFile uintptr, iOffset Sqlite3_int64) int32 {
 	if dwRet == libc.Uint32(libc.Uint32FromInt32(-1)) &&
 		libc.AssignUint32(&lastErrno, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)) != DWORD(0) {
 		(*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno
-		winLogErrorAtLine(tls, SQLITE_IOERR|int32(22)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4597, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 47684)
+		winLogErrorAtLine(tls, SQLITE_IOERR|int32(22)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4597, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 47688)
 
 		return 1
 	}
@@ -60937,7 +60939,7 @@ func winClose(tls *libc.TLS, id uintptr) int32 {
 	if rc != 0 {
 		return SQLITE_OK
 	}
-	return winLogErrorAtLine(tls, SQLITE_IOERR|int32(16)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4609, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 47780)
+	return winLogErrorAtLine(tls, SQLITE_IOERR|int32(16)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4609, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 47784)
 }
 
 func winRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3_int64) int32 {
@@ -60971,9 +60973,9 @@ func winRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3_
 		}
 		(*WinFile)(unsafe.Pointer(pFile)).FlastErrno = *(*DWORD)(unsafe.Pointer(bp + 40))
 
-		return winLogErrorAtLine(tls, SQLITE_IOERR|int32(1)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4618, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 47848)
+		return winLogErrorAtLine(tls, SQLITE_IOERR|int32(1)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4618, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 47852)
 	}
-	winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 36)), 47851)
+	winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 36)), 47855)
 	if *(*DWORD)(unsafe.Pointer(bp + 32)) < DWORD(amt) {
 		libc.Xmemset(tls, pBuf+uintptr(*(*DWORD)(unsafe.Pointer(bp + 32))), 0, uint64(DWORD(amt)-*(*DWORD)(unsafe.Pointer(bp + 32))))
 
@@ -61029,12 +61031,12 @@ func winWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3
 	if rc != 0 {
 		if (*WinFile)(unsafe.Pointer(pFile)).FlastErrno == DWORD(39) ||
 			(*WinFile)(unsafe.Pointer(pFile)).FlastErrno == DWORD(112) {
-			return winLogErrorAtLine(tls, SQLITE_FULL, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4626, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 47960)
+			return winLogErrorAtLine(tls, SQLITE_FULL, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4626, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 47964)
 		}
 
-		return winLogErrorAtLine(tls, SQLITE_IOERR|int32(3)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4636, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 47965)
+		return winLogErrorAtLine(tls, SQLITE_IOERR|int32(3)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4636, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 47969)
 	} else {
-		winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 36)), 47968)
+		winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 36)), 47972)
 	}
 
 	return SQLITE_OK
@@ -61061,10 +61063,10 @@ func winTruncate(tls *libc.TLS, id uintptr, nByte Sqlite3_int64) int32 {
 	winUnmapfile(tls, pFile)
 
 	if winSeekFile(tls, pFile, nByte) != 0 {
-		rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4646, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48031)
+		rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4646, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48035)
 	} else if 0 == (*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 53*24 + 8)))(tls, (*WinFile)(unsafe.Pointer(pFile)).Fh) && libc.AssignUint32(&lastErrno, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)) != DWORD(1224) {
 		(*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno
-		rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4659, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48036)
+		rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4659, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48040)
 	}
 
 	if rc == SQLITE_OK && oldMmapSize > int64(0) {
@@ -61090,7 +61092,7 @@ func winSync(tls *libc.TLS, id uintptr, flags int32) int32 {
 		} else {
 			(*WinFile)(unsafe.Pointer(pFile)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)
 
-			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4672, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48128)
+			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4672, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48132)
 		}
 	}
 	rc = (*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 13*24 + 8)))(tls, (*WinFile)(unsafe.Pointer(pFile)).Fh)
@@ -61100,7 +61102,7 @@ func winSync(tls *libc.TLS, id uintptr, flags int32) int32 {
 	} else {
 		(*WinFile)(unsafe.Pointer(pFile)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)
 
-		return winLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4681, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48143)
+		return winLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4681, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48147)
 	}
 	return int32(0)
 }
@@ -61121,7 +61123,7 @@ func winFileSize(tls *libc.TLS, id uintptr, pSize uintptr) int32 {
 		if lowerBits == 0xffffffff &&
 			libc.AssignUint32(&lastErrno, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)) != DWORD(0) {
 			(*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno
-			rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(7)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4690, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48184)
+			rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(7)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4690, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48188)
 		}
 
 	}
@@ -61163,7 +61165,7 @@ func winUnlockReadLock(tls *libc.TLS, pFile uintptr) int32 {
 	}
 	if res == 0 && libc.AssignUint32(&lastErrno, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)) != DWORD(158) {
 		(*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno
-		winLogErrorAtLine(tls, SQLITE_IOERR|int32(8)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4702, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48279)
+		winLogErrorAtLine(tls, SQLITE_IOERR|int32(8)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4702, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48283)
 	}
 
 	return res
@@ -61289,7 +61291,7 @@ func winUnlock(tls *libc.TLS, id uintptr, locktype int32) int32 {
 	if type1 >= EXCLUSIVE_LOCK {
 		winUnlockFile(tls, pFile+16, uint32(Xsqlite3PendingByte+2), uint32(0), uint32(SHARED_SIZE), uint32(0))
 		if locktype == SHARED_LOCK && !(winGetReadLock(tls, pFile) != 0) {
-			rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(8)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4720, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48505)
+			rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(8)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4720, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48509)
 		}
 	}
 	if type1 >= RESERVED_LOCK {
@@ -61592,7 +61594,7 @@ func winLockSharedMemory(tls *libc.TLS, pShmNode uintptr) int32 {
 			return SQLITE_READONLY | int32(5)<<8
 		} else if winTruncate(tls, pShmNode+16, int64(0)) != 0 {
 			winShmSystemLock(tls, pShmNode, WINSHM_UNLCK, (22+SQLITE_SHM_NLOCK)*4+SQLITE_SHM_NLOCK, 1)
-			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4730, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 48971)
+			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4730, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 48975)
 		}
 	}
 
@@ -61699,7 +61701,7 @@ __12:
 	if !(rc != SQLITE_OK) {
 		goto __13
 	}
-	rc = winLogErrorAtLine(tls, rc, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4770, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 49053)
+	rc = winLogErrorAtLine(tls, rc, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4770, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 49057)
 	goto shm_open_err
 __13:
 	;
@@ -61927,7 +61929,7 @@ __3:
 	if !(rc != SQLITE_OK) {
 		goto __6
 	}
-	rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4781, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 49324)
+	rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4781, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 49328)
 	goto shmpage_out
 __6:
 	;
@@ -61945,7 +61947,7 @@ __8:
 	if !(rc != SQLITE_OK) {
 		goto __9
 	}
-	rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4792, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 49339)
+	rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4792, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 49343)
 	goto shmpage_out
 __9:
 	;
@@ -61993,7 +61995,7 @@ __14:
 		goto __15
 	}
 	(*WinShmNode)(unsafe.Pointer(pShmNode)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)
-	rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, (*WinShmNode)(unsafe.Pointer(pShmNode)).FlastErrno, ts+4803, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 49398)
+	rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, (*WinShmNode)(unsafe.Pointer(pShmNode)).FlastErrno, ts+4803, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 49402)
 	if !(hMap != 0) {
 		goto __16
 	}
@@ -62039,7 +62041,7 @@ func winUnmapfile(tls *libc.TLS, pFile uintptr) int32 {
 		if !((*(*func(*libc.TLS, LPCVOID) WINBOOL)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 59*24 + 8)))(tls, (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion) != 0) {
 			(*WinFile)(unsafe.Pointer(pFile)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)
 
-			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4814, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 49447)
+			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4814, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 49451)
 		}
 		(*WinFile)(unsafe.Pointer(pFile)).FpMapRegion = uintptr(0)
 		(*WinFile)(unsafe.Pointer(pFile)).FmmapSize = int64(0)
@@ -62048,7 +62050,7 @@ func winUnmapfile(tls *libc.TLS, pFile uintptr) int32 {
 		if !((*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, (*WinFile)(unsafe.Pointer(pFile)).FhMap) != 0) {
 			(*WinFile)(unsafe.Pointer(pFile)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)
 
-			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4828, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 49458)
+			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4828, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 49462)
 		}
 		(*WinFile)(unsafe.Pointer(pFile)).FhMap = uintptr(0)
 	}
@@ -62092,7 +62094,7 @@ func winMapfile(tls *libc.TLS, pFd uintptr, nByte Sqlite3_int64) int32 {
 			DWORD(*(*Sqlite3_int64)(unsafe.Pointer(bp))&int64(0xffffffff)), uintptr(0))
 		if (*WinFile)(unsafe.Pointer(pFd)).FhMap == uintptr(0) {
 			(*WinFile)(unsafe.Pointer(pFd)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)
-			rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFd)).FlastErrno, ts+4842, (*WinFile)(unsafe.Pointer(pFd)).FzPath, 49535)
+			rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFd)).FlastErrno, ts+4842, (*WinFile)(unsafe.Pointer(pFd)).FzPath, 49539)
 
 			return SQLITE_OK
 		}
@@ -62102,7 +62104,7 @@ func winMapfile(tls *libc.TLS, pFd uintptr, nByte Sqlite3_int64) int32 {
 			(*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, (*WinFile)(unsafe.Pointer(pFd)).FhMap)
 			(*WinFile)(unsafe.Pointer(pFd)).FhMap = uintptr(0)
 			(*WinFile)(unsafe.Pointer(pFd)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)
-			rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFd)).FlastErrno, ts+4854, (*WinFile)(unsafe.Pointer(pFd)).FzPath, 49553)
+			rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFd)).FlastErrno, ts+4854, (*WinFile)(unsafe.Pointer(pFd)).FzPath, 49557)
 
 			return SQLITE_OK
 		}
@@ -62266,7 +62268,7 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 {
 				Xsqlite3_mutex_leave(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_VFS1))
 				Xsqlite3_free(tls, zBuf)
 
-				return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4874, uintptr(0), 49855)
+				return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4874, uintptr(0), 49859)
 			}
 			Xsqlite3_snprintf(tls, nMax, zBuf, ts+4493, libc.VaList(bp, Xsqlite3_temp_directory))
 		}
@@ -62283,7 +62285,7 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 {
 			Xsqlite3_free(tls, zWidePath)
 			Xsqlite3_free(tls, zBuf)
 
-			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(25)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4890, uintptr(0), 49955)
+			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(25)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4890, uintptr(0), 49959)
 		}
 		zMulti = winUnicodeToUtf8(tls, zWidePath)
 		if zMulti != 0 {
@@ -62307,7 +62309,7 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 {
 		if (*(*func(*libc.TLS, DWORD, LPSTR) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 31*24 + 8)))(tls, uint32(nMax), zMbcsPath) == DWORD(0) {
 			Xsqlite3_free(tls, zBuf)
 
-			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(25)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4906, uintptr(0), 49982)
+			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(25)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4906, uintptr(0), 49986)
 		}
 		zUtf8 = winMbcsToUtf8(tls, zMbcsPath, (*(*func(*libc.TLS) WINBOOL)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8)))(tls))
 		if zUtf8 != 0 {
@@ -62323,14 +62325,14 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 {
 	if !(winMakeEndInDirSep(tls, nDir+1, zBuf) != 0) {
 		Xsqlite3_free(tls, zBuf)
 
-		return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4922, uintptr(0), 50006)
+		return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4922, uintptr(0), 50010)
 	}
 
 	nLen = Xsqlite3Strlen30(tls, zBuf)
 	if nLen+nPre+17 > nBuf {
 		Xsqlite3_free(tls, zBuf)
 
-		return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4938, uintptr(0), 50024)
+		return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4938, uintptr(0), 50028)
 	}
 
 	Xsqlite3_snprintf(tls, nBuf-16-nLen, zBuf+uintptr(nLen), ts+4866, 0)
@@ -62512,7 +62514,7 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32
 			}
 		}
 	}
-	winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 8)), 50313)
+	winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 8)), 50317)
 
 	if h == libc.UintptrFromInt64(int64(-1)) {
 		Xsqlite3_free(tls, zConverted)
@@ -62523,8 +62525,8 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32
 				pOutFlags)
 		} else {
 			(*WinFile)(unsafe.Pointer(pFile)).FlastErrno = *(*DWORD)(unsafe.Pointer(bp + 12))
-			winLogErrorAtLine(tls, SQLITE_CANTOPEN, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+5027, zUtf8Name, 50328)
-			return Xsqlite3CantopenError(tls, 50329)
+			winLogErrorAtLine(tls, SQLITE_CANTOPEN, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+5027, zUtf8Name, 50332)
+			return Xsqlite3CantopenError(tls, 50333)
 		}
 	}
 
@@ -62639,9 +62641,9 @@ func winDelete(tls *libc.TLS, pVfs uintptr, zFilename uintptr, syncDir int32) in
 		}
 	}
 	if rc != 0 && rc != SQLITE_IOERR|int32(23)<<8 {
-		rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, *(*DWORD)(unsafe.Pointer(bp + 4)), ts+5040, zFilename, 50501)
+		rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, *(*DWORD)(unsafe.Pointer(bp + 4)), ts+5040, zFilename, 50505)
 	} else {
-		winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp)), 50503)
+		winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp)), 50507)
 	}
 	Xsqlite3_free(tls, zConverted)
 
@@ -62679,10 +62681,10 @@ func winAccess(tls *libc.TLS, pVfs uintptr, zFilename uintptr, flags int32, pRes
 				attr = (*WIN32_FILE_ATTRIBUTE_DATA)(unsafe.Pointer(bp)).FdwFileAttributes
 			}
 		} else {
-			winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 36)), 50553)
+			winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 36)), 50557)
 			if *(*DWORD)(unsafe.Pointer(bp + 40)) != DWORD(2) && *(*DWORD)(unsafe.Pointer(bp + 40)) != DWORD(3) {
 				Xsqlite3_free(tls, zConverted)
-				return winLogErrorAtLine(tls, SQLITE_IOERR|int32(13)<<8, *(*DWORD)(unsafe.Pointer(bp + 40)), ts+5050, zFilename, 50556)
+				return winLogErrorAtLine(tls, SQLITE_IOERR|int32(13)<<8, *(*DWORD)(unsafe.Pointer(bp + 40)), ts+5050, zFilename, 50560)
 			} else {
 				attr = libc.Uint32(libc.Uint32FromInt32(-1))
 			}
@@ -62760,7 +62762,7 @@ func winFullPathnameNoMutex(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFul
 		nByte = (*(*func(*libc.TLS, LPCWSTR, DWORD, LPWSTR, uintptr) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 25*24 + 8)))(tls, zConverted, uint32(0), uintptr(0), uintptr(0))
 		if nByte == DWORD(0) {
 			Xsqlite3_free(tls, zConverted)
-			return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5067, zRelative, 50773)
+			return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5067, zRelative, 50777)
 		}
 		nByte = nByte + DWORD(3)
 		zTemp = Xsqlite3MallocZero(tls, uint64(nByte)*uint64(unsafe.Sizeof(WCHAR(0))))
@@ -62772,7 +62774,7 @@ func winFullPathnameNoMutex(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFul
 		if nByte == DWORD(0) {
 			Xsqlite3_free(tls, zConverted)
 			Xsqlite3_free(tls, zTemp)
-			return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5084, zRelative, 50786)
+			return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5084, zRelative, 50790)
 		}
 		Xsqlite3_free(tls, zConverted)
 		zOut = winUnicodeToUtf8(tls, zTemp)
@@ -62782,7 +62784,7 @@ func winFullPathnameNoMutex(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFul
 		nByte = (*(*func(*libc.TLS, LPCSTR, DWORD, LPSTR, uintptr) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 24*24 + 8)))(tls, zConverted, uint32(0), uintptr(0), uintptr(0))
 		if nByte == DWORD(0) {
 			Xsqlite3_free(tls, zConverted)
-			return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5101, zRelative, 50799)
+			return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5101, zRelative, 50803)
 		}
 		nByte = nByte + DWORD(3)
 		zTemp = Xsqlite3MallocZero(tls, uint64(nByte)*uint64(unsafe.Sizeof(int8(0))))
@@ -62794,7 +62796,7 @@ func winFullPathnameNoMutex(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFul
 		if nByte == DWORD(0) {
 			Xsqlite3_free(tls, zConverted)
 			Xsqlite3_free(tls, zTemp)
-			return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5118, zRelative, 50812)
+			return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5118, zRelative, 50816)
 		}
 		Xsqlite3_free(tls, zConverted)
 		zOut = winMbcsToUtf8(tls, zTemp, (*(*func(*libc.TLS) WINBOOL)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8)))(tls))
@@ -64424,7 +64426,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 	libc.Xmemset(tls, pPgHdr+32, 0, uint64(unsafe.Sizeof(PgHdr{}))-uint64(uintptr(0)+32))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpPage = pPage
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpData = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpBuf
-	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*72
+	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*80
 	libc.Xmemset(tls, (*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra, 0, uint64(8))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpCache = pCache
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).Fpgno = pgno
@@ -64454,7 +64456,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 // reference count drops to 0, then it is made eligible for recycling.
 func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) {
 	(*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum--
-	if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 {
+	if libc.PreDecInt64(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1) == int64(0) {
 		if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_CLEAN != 0 {
 			pcacheUnpin(tls, p)
 		} else {
@@ -64505,7 +64507,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) {
 	*(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE))
 	*(*U16)(unsafe.Pointer(p + 52)) |= U16(PGHDR_CLEAN)
 
-	if int32((*PgHdr)(unsafe.Pointer(p)).FnRef) == 0 {
+	if (*PgHdr)(unsafe.Pointer(p)).FnRef == int64(0) {
 		pcacheUnpin(tls, p)
 	}
 }
@@ -64609,8 +64611,8 @@ func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) {
 }
 
 func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr {
-	bp := tls.Alloc(72)
-	defer tls.Free(72)
+	bp := tls.Alloc(80)
+	defer tls.Free(80)
 
 	var pTail uintptr
 	pTail = bp
@@ -64688,13 +64690,13 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr {
 //
 // This is not the total number of pages referenced, but the sum of the
 // reference count for all pages.
-func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 {
+func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) I64 {
 	return (*PCache)(unsafe.Pointer(pCache)).FnRefSum
 }
 
 // Return the number of references to the page supplied as an argument.
-func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 {
-	return int32((*PgHdr)(unsafe.Pointer(p)).FnRef)
+func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) I64 {
+	return (*PgHdr)(unsafe.Pointer(p)).FnRef
 }
 
 // Return the total number of pages in the cache.
@@ -66988,7 +66990,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 {
 
 	pPg = Xsqlite3PagerLookup(tls, pPager, iPg)
 	if pPg != 0 {
-		if Xsqlite3PcachePageRefcount(tls, pPg) == 1 {
+		if Xsqlite3PcachePageRefcount(tls, pPg) == int64(1) {
 			Xsqlite3PcacheDrop(tls, pPg)
 		} else {
 			rc = readDbPage(tls, pPg)
@@ -67421,7 +67423,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr,
 	var pageSize U32 = *(*U32)(unsafe.Pointer(pPageSize))
 
 	if (int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) == 0 || (*Pager)(unsafe.Pointer(pPager)).FdbSize == Pgno(0)) &&
-		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 &&
+		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) &&
 		pageSize != 0 && pageSize != U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) {
 		var pNew uintptr = uintptr(0)
 		*(*I64)(unsafe.Pointer(bp)) = int64(0)
@@ -67573,9 +67575,9 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr
 			Xsqlite3OsUnfetch(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, I64(pgno-Pgno(1))*(*Pager)(unsafe.Pointer(pPager)).FpageSize, pData)
 			return SQLITE_NOMEM
 		}
-		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*72
+		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*80
 		(*PgHdr)(unsafe.Pointer(p)).Fflags = U16(PGHDR_MMAP)
-		(*PgHdr)(unsafe.Pointer(p)).FnRef = int16(1)
+		(*PgHdr)(unsafe.Pointer(p)).FnRef = int64(1)
 		(*PgHdr)(unsafe.Pointer(p)).FpPager = pPager
 	}
 
@@ -67907,7 +67909,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 {
 
 		for rc == SQLITE_OK && pList != 0 {
 			var pNext uintptr = (*PgHdr)(unsafe.Pointer(pList)).FpDirty
-			if int32((*PgHdr)(unsafe.Pointer(pList)).FnRef) == 0 {
+			if (*PgHdr)(unsafe.Pointer(pList)).FnRef == int64(0) {
 				rc = pagerStress(tls, pPager, pList)
 			}
 			pList = pNext
@@ -68057,7 +68059,7 @@ __11:
 		goto __12
 	}
 
-	rc = Xsqlite3CantopenError(tls, 60235)
+	rc = Xsqlite3CantopenError(tls, 60239)
 __12:
 	;
 	if !(rc != SQLITE_OK) {
@@ -68438,7 +68440,7 @@ __7:
 	if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) {
 		goto __10
 	}
-	rc = Xsqlite3CantopenError(tls, 60754)
+	rc = Xsqlite3CantopenError(tls, 60758)
 	Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd)
 __10:
 	;
@@ -68544,7 +68546,7 @@ __24:
 }
 
 func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) {
-	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 {
+	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) {
 		pagerUnlockAndRollback(tls, pPager)
 	}
 }
@@ -68562,7 +68564,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla
 	if !(pgno == Pgno(0)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 60967)
+	return Xsqlite3CorruptError(tls, 60971)
 __1:
 	;
 	*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3)
@@ -68601,7 +68603,7 @@ __5:
 	if !(pgno == (*Pager)(unsafe.Pointer(pPager)).FlckPgno) {
 		goto __7
 	}
-	rc = Xsqlite3CorruptError(tls, 60999)
+	rc = Xsqlite3CorruptError(tls, 61003)
 	goto pager_acquire_err
 __7:
 	;
@@ -68678,7 +68680,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags
 		(int32((*Pager)(unsafe.Pointer(pPager)).FeState) == PAGER_READER || flags&PAGER_GET_READONLY != 0))
 
 	if pgno <= Pgno(1) && pgno == Pgno(0) {
-		return Xsqlite3CorruptError(tls, 61078)
+		return Xsqlite3CorruptError(tls, 61082)
 	}
 
 	if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
@@ -69436,7 +69438,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 {
 
 // Return the number of references to the specified page.
 func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 {
-	return Xsqlite3PcachePageRefcount(tls, pPage)
+	return int32(Xsqlite3PcachePageRefcount(tls, pPage))
 }
 
 // Parameter eStat must be one of SQLITE_DBSTATUS_CACHE_HIT, _MISS, _WRITE,
@@ -69679,9 +69681,9 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno
 	pPgOld = Xsqlite3PagerLookup(tls, pPager, pgno)
 
 	if pPgOld != 0 {
-		if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 {
+		if (*PgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
 			Xsqlite3PagerUnrefNotNull(tls, pPgOld)
-			return Xsqlite3CorruptError(tls, 62623)
+			return Xsqlite3CorruptError(tls, 62627)
 		}
 		*(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC)
 		if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 {
@@ -70438,7 +70440,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 {
 		nCollide = idx
 		for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) {
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 64387)
+				return Xsqlite3CorruptError(tls, 64391)
 			}
 		}
 		*(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaPgno + uintptr(idx-1)*4)) = iPage
@@ -70537,7 +70539,7 @@ __6:
 	if !(version != U32(WAL_MAX_VERSION)) {
 		goto __7
 	}
-	rc = Xsqlite3CantopenError(tls, 64519)
+	rc = Xsqlite3CantopenError(tls, 64523)
 	goto finished
 __7:
 	;
@@ -71123,7 +71125,7 @@ __10:
 		goto __14
 	}
 
-	rc = Xsqlite3CorruptError(tls, 65333)
+	rc = Xsqlite3CorruptError(tls, 65337)
 	goto __15
 __14:
 	Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16)
@@ -71398,7 +71400,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 {
 	}
 
 	if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) {
-		rc = Xsqlite3CantopenError(tls, 65682)
+		rc = Xsqlite3CantopenError(tls, 65686)
 	}
 	if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
 		if rc != SQLITE_OK {
@@ -71871,7 +71873,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr
 				iRead = iFrame
 			}
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 66419)
+				return Xsqlite3CorruptError(tls, 66423)
 			}
 			iKey = walNextHash(tls, iKey)
 		}
@@ -72376,7 +72378,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
 
 	if rc == SQLITE_OK {
 		if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf {
-			rc = Xsqlite3CorruptError(tls, 67138)
+			rc = Xsqlite3CorruptError(tls, 67142)
 		} else {
 			rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
 		}
@@ -73034,7 +73036,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32
 		}
 		Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
 		if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
-			rc = Xsqlite3CorruptError(tls, 69249)
+			rc = Xsqlite3CorruptError(tls, 69253)
 		} else {
 			rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
 		}
@@ -73171,7 +73173,7 @@ __1:
 	if !(key == Pgno(0)) {
 		goto __2
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69430)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69434)
 	return
 __2:
 	;
@@ -73188,7 +73190,7 @@ __3:
 		goto __4
 	}
 
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69443)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69447)
 	goto ptrmap_exit
 __4:
 	;
@@ -73196,7 +73198,7 @@ __4:
 	if !(offset < 0) {
 		goto __5
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69448)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69452)
 	goto ptrmap_exit
 __5:
 	;
@@ -73239,7 +73241,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 	offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1)))
 	if offset < 0 {
 		Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
-		return Xsqlite3CorruptError(tls, 69493)
+		return Xsqlite3CorruptError(tls, 69497)
 	}
 
 	*(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
@@ -73249,7 +73251,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 
 	Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
 	if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 {
-		return Xsqlite3CorruptError(tls, 69501)
+		return Xsqlite3CorruptError(tls, 69505)
 	}
 	return SQLITE_OK
 }
@@ -73499,7 +73501,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr,
 	if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 		var ovfl Pgno
 		if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) {
-			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69893)
+			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69897)
 			return
 		}
 		ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4))
@@ -73546,7 +73548,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 {
 	if !(iFree > usableSize-4) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 69951)
+	return Xsqlite3CorruptError(tls, 69955)
 __2:
 	;
 	if !(iFree != 0) {
@@ -73556,7 +73558,7 @@ __2:
 	if !(iFree2 > usableSize-4) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 69954)
+	return Xsqlite3CorruptError(tls, 69958)
 __4:
 	;
 	if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) {
@@ -73569,7 +73571,7 @@ __4:
 	if !(top >= iFree) {
 		goto __6
 	}
-	return Xsqlite3CorruptError(tls, 69962)
+	return Xsqlite3CorruptError(tls, 69966)
 __6:
 	;
 	if !(iFree2 != 0) {
@@ -73578,14 +73580,14 @@ __6:
 	if !(iFree+sz > iFree2) {
 		goto __9
 	}
-	return Xsqlite3CorruptError(tls, 69965)
+	return Xsqlite3CorruptError(tls, 69969)
 __9:
 	;
 	sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1)))
 	if !(iFree2+sz2 > usableSize) {
 		goto __10
 	}
-	return Xsqlite3CorruptError(tls, 69967)
+	return Xsqlite3CorruptError(tls, 69971)
 __10:
 	;
 	libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz)))
@@ -73595,7 +73597,7 @@ __7:
 	if !(iFree+sz > usableSize) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 69971)
+	return Xsqlite3CorruptError(tls, 69975)
 __11:
 	;
 __8:
@@ -73659,7 +73661,7 @@ __19:
 	if !(pc < iCellStart || pc > iCellLast) {
 		goto __22
 	}
-	return Xsqlite3CorruptError(tls, 70004)
+	return Xsqlite3CorruptError(tls, 70008)
 __22:
 	;
 	size = int32((*struct {
@@ -73669,7 +73671,7 @@ __22:
 	if !(cbrk < iCellStart || pc+size > usableSize) {
 		goto __23
 	}
-	return Xsqlite3CorruptError(tls, 70010)
+	return Xsqlite3CorruptError(tls, 70014)
 __23:
 	;
 	*(*U8)(unsafe.Pointer(pAddr1)) = U8(cbrk >> 8)
@@ -73691,7 +73693,7 @@ defragment_out:
 	if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) {
 		goto __24
 	}
-	return Xsqlite3CorruptError(tls, 70024)
+	return Xsqlite3CorruptError(tls, 70028)
 __24:
 	;
 	*(*uint8)(unsafe.Pointer(data + uintptr(hdr+5))) = U8(cbrk >> 8)
@@ -73726,7 +73728,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 				*(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x)))
 				return aData + uintptr(pc)
 			} else if x+pc > maxPC {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70081)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70085)
 				return uintptr(0)
 			} else {
 				*(*U8)(unsafe.Pointer(aData + uintptr(pc+2))) = U8(x >> 8)
@@ -73739,13 +73741,13 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 		pc = int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1)))
 		if pc <= iAddr {
 			if pc != 0 {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70096)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70100)
 			}
 			return uintptr(0)
 		}
 	}
 	if pc > maxPC+nByte-4 {
-		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70103)
+		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70107)
 	}
 	return uintptr(0)
 }
@@ -73770,7 +73772,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 		if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) {
 			top = 65536
 		} else {
-			return Xsqlite3CorruptError(tls, 70152)
+			return Xsqlite3CorruptError(tls, 70156)
 		}
 	}
 
@@ -73781,7 +73783,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 
 			*(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1))
 			if g2 <= gap {
-				return Xsqlite3CorruptError(tls, 70170)
+				return Xsqlite3CorruptError(tls, 70174)
 			} else {
 				return SQLITE_OK
 			}
@@ -73833,22 +73835,22 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 				if int32(iFreeBlk) == 0 {
 					break
 				}
-				return Xsqlite3CorruptError(tls, 70249)
+				return Xsqlite3CorruptError(tls, 70253)
 			}
 			iPtr = iFreeBlk
 		}
 		if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) {
-			return Xsqlite3CorruptError(tls, 70254)
+			return Xsqlite3CorruptError(tls, 70258)
 		}
 
 		if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) {
 			nFrag = U8(U32(iFreeBlk) - iEnd)
 			if iEnd > U32(iFreeBlk) {
-				return Xsqlite3CorruptError(tls, 70266)
+				return Xsqlite3CorruptError(tls, 70270)
 			}
 			iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1)))))
 			if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-				return Xsqlite3CorruptError(tls, 70269)
+				return Xsqlite3CorruptError(tls, 70273)
 			}
 			iSize = U16(iEnd - U32(iStart))
 			iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1))))
@@ -73858,7 +73860,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1))))
 			if iPtrEnd+3 >= int32(iStart) {
 				if iPtrEnd > int32(iStart) {
-					return Xsqlite3CorruptError(tls, 70282)
+					return Xsqlite3CorruptError(tls, 70286)
 				}
 				nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd))
 				iSize = U16(iEnd - U32(iPtr))
@@ -73866,7 +73868,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			}
 		}
 		if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) {
-			return Xsqlite3CorruptError(tls, 70288)
+			return Xsqlite3CorruptError(tls, 70292)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag))
 	}
@@ -73874,10 +73876,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 	x = U16(int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1))))
 	if int32(iStart) <= int32(x) {
 		if int32(iStart) < int32(x) {
-			return Xsqlite3CorruptError(tls, 70297)
+			return Xsqlite3CorruptError(tls, 70301)
 		}
 		if int32(iPtr) != int32(hdr)+1 {
-			return Xsqlite3CorruptError(tls, 70298)
+			return Xsqlite3CorruptError(tls, 70302)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8)
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk)
@@ -73937,7 +73939,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70357)
+			return Xsqlite3CorruptError(tls, 70361)
 		}
 	} else {
 		(*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize = U8(4)
@@ -73973,7 +73975,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70381)
+			return Xsqlite3CorruptError(tls, 70385)
 		}
 	}
 	return SQLITE_OK
@@ -74003,11 +74005,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 		var next U32
 		var size U32
 		if pc < top {
-			return Xsqlite3CorruptError(tls, 70432)
+			return Xsqlite3CorruptError(tls, 70436)
 		}
 		for 1 != 0 {
 			if pc > iCellLast {
-				return Xsqlite3CorruptError(tls, 70437)
+				return Xsqlite3CorruptError(tls, 70441)
 			}
 			next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1))))
 			size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1))))
@@ -74018,15 +74020,15 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 			pc = int32(next)
 		}
 		if next > U32(0) {
-			return Xsqlite3CorruptError(tls, 70447)
+			return Xsqlite3CorruptError(tls, 70451)
 		}
 		if U32(pc)+size > uint32(usableSize) {
-			return Xsqlite3CorruptError(tls, 70451)
+			return Xsqlite3CorruptError(tls, 70455)
 		}
 	}
 
 	if nFree > usableSize || nFree < iCellFirst {
-		return Xsqlite3CorruptError(tls, 70463)
+		return Xsqlite3CorruptError(tls, 70467)
 	}
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst))
 	return SQLITE_OK
@@ -74054,14 +74056,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 {
 		pc = int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(data + uintptr(cellOffset+i*2)))))
 
 		if pc < iCellFirst || pc > iCellLast {
-			return Xsqlite3CorruptError(tls, 70494)
+			return Xsqlite3CorruptError(tls, 70498)
 		}
 		sz = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
 		})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc)))
 
 		if pc+sz > usableSize {
-			return Xsqlite3CorruptError(tls, 70499)
+			return Xsqlite3CorruptError(tls, 70503)
 		}
 	}
 	return SQLITE_OK
@@ -74075,7 +74077,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 	data = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 {
-		return Xsqlite3CorruptError(tls, 70531)
+		return Xsqlite3CorruptError(tls, 70535)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1))
@@ -74087,7 +74089,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1))))
 	if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) {
-		return Xsqlite3CorruptError(tls, 70545)
+		return Xsqlite3CorruptError(tls, 70549)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = -1
@@ -74190,7 +74192,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	rc = Xsqlite3CorruptError(tls, 70700)
+	rc = Xsqlite3CorruptError(tls, 70704)
 	goto getAndInitPage_error1
 __1:
 	;
@@ -74218,7 +74220,7 @@ __3:
 	if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) {
 		goto __5
 	}
-	rc = Xsqlite3CorruptError(tls, 70721)
+	rc = Xsqlite3CorruptError(tls, 70725)
 	goto getAndInitPage_error2
 __5:
 	;
@@ -74257,7 +74259,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 {
 			releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
 			*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
-			return Xsqlite3CorruptError(tls, 70787)
+			return Xsqlite3CorruptError(tls, 70791)
 		}
 		(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0)
 	} else {
@@ -75140,7 +75142,7 @@ __16:
 	if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) {
 		goto __18
 	}
-	rc = Xsqlite3CorruptError(tls, 71722)
+	rc = Xsqlite3CorruptError(tls, 71726)
 	goto page1_init_failed
 	goto __19
 __18:
@@ -75555,7 +75557,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 	if int32(eType) == PTRMAP_OVERFLOW2 {
 		if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
-			return Xsqlite3CorruptError(tls, 72143)
+			return Xsqlite3CorruptError(tls, 72147)
 		}
 		Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo)
 	} else {
@@ -75581,7 +75583,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp)
 				if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 					if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-						return Xsqlite3CorruptError(tls, 72162)
+						return Xsqlite3CorruptError(tls, 72166)
 					}
 					if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) {
 						Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo)
@@ -75590,7 +75592,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				}
 			} else {
 				if pCell+uintptr(4) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-					return Xsqlite3CorruptError(tls, 72171)
+					return Xsqlite3CorruptError(tls, 72175)
 				}
 				if Xsqlite3Get4byte(tls, pCell) == iFrom {
 					Xsqlite3Put4byte(tls, pCell, iTo)
@@ -75601,7 +75603,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 		if i == nCell {
 			if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom {
-				return Xsqlite3CorruptError(tls, 72183)
+				return Xsqlite3CorruptError(tls, 72187)
 			}
 			Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo)
 		}
@@ -75617,7 +75619,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag
 	var pPager uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPager
 
 	if iDbPage < Pgno(3) {
-		return Xsqlite3CorruptError(tls, 72218)
+		return Xsqlite3CorruptError(tls, 72222)
 	}
 
 	*(*int32)(unsafe.Pointer(bp)) = Xsqlite3PagerMovepage(tls, pPager, (*MemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -75678,7 +75680,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 			return rc
 		}
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE {
-			return Xsqlite3CorruptError(tls, 72316)
+			return Xsqlite3CorruptError(tls, 72320)
 		}
 
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE {
@@ -75713,7 +75715,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 				if *(*Pgno)(unsafe.Pointer(bp + 40)) > dbSize {
 					releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
-					return Xsqlite3CorruptError(tls, 72368)
+					return Xsqlite3CorruptError(tls, 72372)
 				}
 			}
 
@@ -75773,7 +75775,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 {
 		var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree)
 
 		if nOrig < nFin || nFree >= nOrig {
-			rc = Xsqlite3CorruptError(tls, 72436)
+			rc = Xsqlite3CorruptError(tls, 72440)
 		} else if nFree > Pgno(0) {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
 			if rc == SQLITE_OK {
@@ -75812,7 +75814,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 
 		nOrig = btreePagecount(tls, pBt)
 		if ptrmapPageno(tls, pBt, nOrig) == nOrig || nOrig == U32(Xsqlite3PendingByte)/(*BtShared)(unsafe.Pointer(pBt)).FpageSize+U32(1) {
-			return Xsqlite3CorruptError(tls, 72487)
+			return Xsqlite3CorruptError(tls, 72491)
 		}
 
 		nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
@@ -75843,7 +75845,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 		}
 		nFin = finalDbSize(tls, pBt, nOrig, nVac)
 		if nFin > nOrig {
-			return Xsqlite3CorruptError(tls, 72514)
+			return Xsqlite3CorruptError(tls, 72518)
 		}
 		if nFin < nOrig {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -76184,7 +76186,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u
 
 	if iTable <= Pgno(1) {
 		if iTable < Pgno(1) {
-			return Xsqlite3CorruptError(tls, 72978)
+			return Xsqlite3CorruptError(tls, 72982)
 		} else if btreePagecount(tls, pBt) == Pgno(0) {
 			iTable = Pgno(0)
 		}
@@ -76428,14 +76430,14 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt
 
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
-		return Xsqlite3CorruptError(tls, 73385)
+		return Xsqlite3CorruptError(tls, 73389)
 	}
 
 	getCellInfo(tls, pCur)
 	aPayload = (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
 
 	if Uptr((int64(aPayload)-int64((*MemPage)(unsafe.Pointer(pPage)).FaData))/1) > Uptr((*BtShared)(unsafe.Pointer(pBt)).FusableSize-U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal)) {
-		return Xsqlite3CorruptError(tls, 73400)
+		return Xsqlite3CorruptError(tls, 73404)
 	}
 
 	if offset < U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -76480,7 +76482,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 
 		for *(*Pgno)(unsafe.Pointer(bp)) != 0 {
 			if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage {
-				return Xsqlite3CorruptError(tls, 73462)
+				return Xsqlite3CorruptError(tls, 73466)
 			}
 
 			*(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp))
@@ -76529,7 +76531,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	}
 
 	if rc == SQLITE_OK && amt > U32(0) {
-		return Xsqlite3CorruptError(tls, 73547)
+		return Xsqlite3CorruptError(tls, 73551)
 	}
 	return rc
 }
@@ -76609,7 +76611,7 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt
 
 func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 {
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 {
-		return Xsqlite3CorruptError(tls, 73684)
+		return Xsqlite3CorruptError(tls, 73688)
 	}
 	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	*(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl))
@@ -76700,7 +76702,7 @@ __2:
 	if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 73823)
+	return Xsqlite3CorruptError(tls, 73827)
 __11:
 	;
 skip_init:
@@ -76720,7 +76722,7 @@ __12:
 	if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) {
 		goto __16
 	}
-	return Xsqlite3CorruptError(tls, 73835)
+	return Xsqlite3CorruptError(tls, 73839)
 __16:
 	;
 	subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8))
@@ -76930,7 +76932,7 @@ __19:
 	if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __21
 	}
-	return Xsqlite3CorruptError(tls, 74077)
+	return Xsqlite3CorruptError(tls, 74081)
 __21:
 	;
 	goto __19
@@ -77134,7 +77136,7 @@ __2:
 	if !!(int32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit) != 0) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 74273)
+	return Xsqlite3CorruptError(tls, 74277)
 __4:
 	;
 	goto bypass_moveto_root
@@ -77199,7 +77201,7 @@ __15:
 	if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) {
 		goto __17
 	}
-	rc = Xsqlite3CorruptError(tls, 74360)
+	rc = Xsqlite3CorruptError(tls, 74364)
 	goto moveto_index_finish
 __17:
 	;
@@ -77247,7 +77249,7 @@ __22:
 	if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) {
 		goto __24
 	}
-	rc = Xsqlite3CorruptError(tls, 74392)
+	rc = Xsqlite3CorruptError(tls, 74396)
 __24:
 	;
 	goto moveto_index_finish
@@ -77366,7 +77368,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 {
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1))
 	if !(int32((*MemPage)(unsafe.Pointer(pPage)).FisInit) != 0) || Xsqlite3FaultSim(tls, 412) != 0 {
-		return Xsqlite3CorruptError(tls, 74508)
+		return Xsqlite3CorruptError(tls, 74512)
 	}
 
 	if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
@@ -77526,7 +77528,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr
 	if !(n >= mxPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74688)
+	return Xsqlite3CorruptError(tls, 74692)
 __1:
 	;
 	if !(n > U32(0)) {
@@ -77591,7 +77593,7 @@ __15:
 	if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) {
 		goto __16
 	}
-	rc = Xsqlite3CorruptError(tls, 74744)
+	rc = Xsqlite3CorruptError(tls, 74748)
 	goto __17
 __16:
 	rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0)
@@ -77627,7 +77629,7 @@ __19:
 		goto __22
 	}
 
-	rc = Xsqlite3CorruptError(tls, 74773)
+	rc = Xsqlite3CorruptError(tls, 74777)
 	goto end_allocate_page
 	goto __23
 __22:
@@ -77671,7 +77673,7 @@ __27:
 	if !(iNewTrunk > mxPage) {
 		goto __32
 	}
-	rc = Xsqlite3CorruptError(tls, 74807)
+	rc = Xsqlite3CorruptError(tls, 74811)
 	goto end_allocate_page
 __32:
 	;
@@ -77783,7 +77785,7 @@ __40:
 	if !(iPage > mxPage || iPage < Pgno(2)) {
 		goto __51
 	}
-	rc = Xsqlite3CorruptError(tls, 74872)
+	rc = Xsqlite3CorruptError(tls, 74876)
 	goto end_allocate_page
 __51:
 	;
@@ -77941,7 +77943,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 {
 	if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74999)
+	return Xsqlite3CorruptError(tls, 75003)
 __1:
 	;
 	if !(pMemPage != 0) {
@@ -77998,7 +78000,7 @@ __7:
 	if !(iTrunk > btreePagecount(tls, pBt)) {
 		goto __10
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75046)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75050)
 	goto freepage_out
 __10:
 	;
@@ -78014,7 +78016,7 @@ __11:
 	if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) {
 		goto __12
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75057)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75061)
 	goto freepage_out
 __12:
 	;
@@ -78088,7 +78090,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 	var ovflPageSize U32
 
 	if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 75146)
+		return Xsqlite3CorruptError(tls, 75150)
 	}
 	ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
 	pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt
@@ -78100,7 +78102,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 		*(*Pgno)(unsafe.Pointer(bp + 8)) = Pgno(0)
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 		if ovflPgno < Pgno(2) || ovflPgno > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 75163)
+			return Xsqlite3CorruptError(tls, 75167)
 		}
 		if nOvfl != 0 {
 			rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8)
@@ -78111,7 +78113,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 
 		if (*(*uintptr)(unsafe.Pointer(bp)) != 0 || libc.AssignPtrUintptr(bp, btreePageLookup(tls, pBt, ovflPgno)) != uintptr(0)) &&
 			Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 {
-			rc = Xsqlite3CorruptError(tls, 75183)
+			rc = Xsqlite3CorruptError(tls, 75187)
 		} else {
 			rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp)), ovflPgno)
 		}
@@ -78276,7 +78278,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
 	hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75436)
+		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75440)
 		return
 	}
 	rc = freeSpace(tls, pPage, uint16(pc), uint16(sz))
@@ -78555,12 +78557,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 
 		if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) {
 			if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) {
-				return Xsqlite3CorruptError(tls, 75737)
+				return Xsqlite3CorruptError(tls, 75741)
 			}
 			pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1)
 		} else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) &&
 			Uptr(pCell) < Uptr(pSrcEnd) {
-			return Xsqlite3CorruptError(tls, 75742)
+			return Xsqlite3CorruptError(tls, 75746)
 		}
 
 		pData -= uintptr(sz)
@@ -78568,7 +78570,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 		*(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1)
 		pCellptr += uintptr(2)
 		if pData < pCellptr {
-			return Xsqlite3CorruptError(tls, 75748)
+			return Xsqlite3CorruptError(tls, 75752)
 		}
 		libc.Xmemmove(tls, pData, pCell, uint64(sz))
 
@@ -78628,7 +78630,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr,
 
 		if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) &&
 			Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) {
-			Xsqlite3CorruptError(tls, 75833)
+			Xsqlite3CorruptError(tls, 75837)
 			return 1
 		}
 		libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz))
@@ -78717,7 +78719,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC
 	if !(nShift > nCell) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 75947)
+	return Xsqlite3CorruptError(tls, 75951)
 __2:
 	;
 	libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2))
@@ -78833,7 +78835,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr
 	var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt
 
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
-		return Xsqlite3CorruptError(tls, 76060)
+		return Xsqlite3CorruptError(tls, 76064)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 136)) = allocateBtreePage(tls, pBt, bp, bp+8, uint32(0), uint8(0))
@@ -79153,7 +79155,7 @@ __22:
 	if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) {
 		goto __25
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76481)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76485)
 	goto balance_cleanup
 __25:
 	;
@@ -79164,7 +79166,7 @@ __25:
 	if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) {
 		goto __27
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76505)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76509)
 	goto balance_cleanup
 __27:
 	;
@@ -79322,7 +79324,7 @@ __52:
 	if !(k > NB+2) {
 		goto __55
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76606)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76610)
 	goto balance_cleanup
 __55:
 	;
@@ -79396,7 +79398,7 @@ __65:
 	}()) {
 		goto __67
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76639)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76643)
 	goto balance_cleanup
 __67:
 	;
@@ -79459,7 +79461,7 @@ __73:
 	}()) {
 		goto __75
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76683)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76687)
 	goto balance_cleanup
 __75:
 	;
@@ -79487,7 +79489,7 @@ __76:
 		*(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) {
 		goto __81
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76716)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76720)
 __81:
 	;
 	if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) {
@@ -79748,7 +79750,7 @@ __120:
 	if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) {
 		goto __121
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76916)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76920)
 	goto balance_cleanup
 __121:
 	;
@@ -79940,7 +79942,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 {
 		if pOther != pCur &&
 			int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID &&
 			(*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage {
-			return Xsqlite3CorruptError(tls, 77146)
+			return Xsqlite3CorruptError(tls, 77150)
 		}
 	}
 	return SQLITE_OK
@@ -79978,7 +79980,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 {
 				break
 			}
 		} else if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) > 1 {
-			rc = Xsqlite3CorruptError(tls, 77206)
+			rc = Xsqlite3CorruptError(tls, 77210)
 		} else {
 			var pParent uintptr = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-1)*8))
 			var iIdx int32 = int32(*(*U16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-1)*2)))
@@ -80084,7 +80086,7 @@ func btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 			return rc
 		}
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
-			rc = Xsqlite3CorruptError(tls, 77370)
+			rc = Xsqlite3CorruptError(tls, 77374)
 		} else {
 			if U32(iOffset)+ovflPageSize < U32(nTotal) {
 				ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -80109,7 +80111,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 
 	if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd ||
 		(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FcellOffset) {
-		return Xsqlite3CorruptError(tls, 77398)
+		return Xsqlite3CorruptError(tls, 77402)
 	}
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
 		return btreeOverwriteContent(tls, pPage, (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX,
@@ -80179,7 +80181,7 @@ __2:
 		goto __3
 	}
 
-	return Xsqlite3CorruptError(tls, 77479)
+	return Xsqlite3CorruptError(tls, 77483)
 __3:
 	;
 __1:
@@ -80292,7 +80294,7 @@ __7:
 		goto __21
 	}
 
-	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77602)
+	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77606)
 	goto __22
 __21:
 	*(*int32)(unsafe.Pointer(bp + 120)) = btreeComputeFreeSpace(tls, pPage)
@@ -80352,6 +80354,7 @@ __30:
 __25:
 	;
 	idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
+	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !(*(*int32)(unsafe.Pointer(bp)) == 0) {
 		goto __31
 	}
@@ -80359,7 +80362,7 @@ __25:
 	if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) {
 		goto __33
 	}
-	return Xsqlite3CorruptError(tls, 77640)
+	return Xsqlite3CorruptError(tls, 77645)
 __33:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage)
@@ -80397,13 +80400,13 @@ __37:
 	if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) {
 		goto __39
 	}
-	return Xsqlite3CorruptError(tls, 77667)
+	return Xsqlite3CorruptError(tls, 77672)
 __39:
 	;
 	if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 124))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __40
 	}
-	return Xsqlite3CorruptError(tls, 77670)
+	return Xsqlite3CorruptError(tls, 77675)
 __40:
 	;
 	libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 124))))
@@ -80434,7 +80437,6 @@ __32:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 124)), uintptr(0), uint32(0))
 
-	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) {
 		goto __44
 	}
@@ -80509,7 +80511,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 	nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
 	aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
 	if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 77773)
+		return Xsqlite3CorruptError(tls, 77777)
 	}
 	nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
 	if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -80534,7 +80536,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 
 		if nRem > nIn {
 			if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-				return Xsqlite3CorruptError(tls, 77798)
+				return Xsqlite3CorruptError(tls, 77802)
 			}
 			ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
 		}
@@ -80635,7 +80637,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 				return *(*int32)(unsafe.Pointer(bp + 24))
 			}
 		} else {
-			return Xsqlite3CorruptError(tls, 77894)
+			return Xsqlite3CorruptError(tls, 77898)
 		}
 	}
 
@@ -80643,11 +80645,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 	iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
-		return Xsqlite3CorruptError(tls, 77903)
+		return Xsqlite3CorruptError(tls, 77907)
 	}
 	pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))))
 	if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 {
-		return Xsqlite3CorruptError(tls, 77907)
+		return Xsqlite3CorruptError(tls, 77911)
 	}
 
 	bPreserve = U8(libc.Bool32(int32(flags)&BTREE_SAVEPOSITION != 0))
@@ -80722,7 +80724,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 		}
 		pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))))
 		if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 {
-			return Xsqlite3CorruptError(tls, 77998)
+			return Xsqlite3CorruptError(tls, 78002)
 		}
 		nCell = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
@@ -80791,7 +80793,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 
 		Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp)
 		if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 78114)
+			return Xsqlite3CorruptError(tls, 78118)
 		}
 		*(*Pgno)(unsafe.Pointer(bp))++
 
@@ -80820,7 +80822,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 			}
 			*(*int32)(unsafe.Pointer(bp + 40)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp)), bp+32, bp+36)
 			if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE {
-				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78162)
+				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78166)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -80896,7 +80898,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 78252)
+	return Xsqlite3CorruptError(tls, 78256)
 __1:
 	;
 	*(*int32)(unsafe.Pointer(bp + 32)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0)
@@ -80910,7 +80912,7 @@ __2:
 		Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) {
 		goto __3
 	}
-	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78259)
+	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78263)
 	goto cleardatabasepage_out
 __3:
 	;
@@ -81044,7 +81046,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3
 	var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt
 
 	if iTable > btreePagecount(tls, pBt) {
-		return Xsqlite3CorruptError(tls, 78363)
+		return Xsqlite3CorruptError(tls, 78367)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 12)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0))
@@ -83514,7 +83516,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32,
 	var rc int32
 	(*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null)
 	if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) {
-		return Xsqlite3CorruptError(tls, 81630)
+		return Xsqlite3CorruptError(tls, 81634)
 	}
 	if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) {
 		rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz)
@@ -84163,7 +84165,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		return Xsqlite3GetVarint32(tls, a, bp)
 	}())
 	if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) {
-		return Xsqlite3CorruptError(tls, 82270)
+		return Xsqlite3CorruptError(tls, 82274)
 	}
 	iField = *(*int32)(unsafe.Pointer(bp))
 	for i = 0; i <= iCol; i++ {
@@ -84178,14 +84180,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		}())
 
 		if iHdr > *(*int32)(unsafe.Pointer(bp)) {
-			return Xsqlite3CorruptError(tls, 82276)
+			return Xsqlite3CorruptError(tls, 82280)
 		}
 		szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4))))
 		iField = iField + szField
 	}
 
 	if iField > nRec {
-		return Xsqlite3CorruptError(tls, 82282)
+		return Xsqlite3CorruptError(tls, 82286)
 	}
 	if pMem == uintptr(0) {
 		pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db))
@@ -86489,7 +86491,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 {
 		return rc
 	}
 	if *(*int32)(unsafe.Pointer(bp)) != 0 {
-		return Xsqlite3CorruptError(tls, 86058)
+		return Xsqlite3CorruptError(tls, 86062)
 	}
 	(*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0)
 	(*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE)
@@ -87040,7 +87042,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		i = 0
 	}
 	if d1 > uint32(nKey1) {
-		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86985))
+		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86989))
 		return 0
 	}
 
@@ -87105,7 +87107,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 
 				if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) ||
 					int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87062))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87066))
 					return 0
 				} else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 {
 					(*Mem)(unsafe.Pointer(bp + 8)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc
@@ -87139,7 +87141,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 				var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2))
 
 				if d1+U32(nStr) > uint32(nKey1) {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87092))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87096))
 					return 0
 				} else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 {
 					if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) {
@@ -87189,7 +87191,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		}
 		idx1 = idx1 + U32(Xsqlite3VarintLen(tls, uint64(*(*U32)(unsafe.Pointer(bp + 64)))))
 		if idx1 >= *(*U32)(unsafe.Pointer(bp + 4)) {
-			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87136))
+			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87140))
 			return 0
 		}
 	}
@@ -87335,7 +87337,7 @@ __5:
 	if !(szHdr+nStr > nKey1) {
 		goto __7
 	}
-	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87299))
+	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87303))
 	return 0
 __7:
 	;
@@ -87506,7 +87508,7 @@ __6:
 idx_rowid_corruption:
 	;
 	Xsqlite3VdbeMemReleaseMalloc(tls, bp)
-	return Xsqlite3CorruptError(tls, 87457)
+	return Xsqlite3CorruptError(tls, 87461)
 }
 
 // Compare the key of the index entry that cursor pC is pointing to against
@@ -87532,7 +87534,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
 
 	if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) {
 		*(*int32)(unsafe.Pointer(res)) = 0
-		return Xsqlite3CorruptError(tls, 87490)
+		return Xsqlite3CorruptError(tls, 87494)
 	}
 	Xsqlite3VdbeMemInit(tls, bp, db, uint16(0))
 	rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp)
@@ -87806,7 +87808,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 {
 		var v uintptr = pStmt
 		var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb
 		if vdbeSafety(tls, v) != 0 {
-			return Xsqlite3MisuseError(tls, 87854)
+			return Xsqlite3MisuseError(tls, 87858)
 		}
 		Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) {
@@ -88421,7 +88423,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 {
 	var db uintptr
 
 	if vdbeSafetyNotNull(tls, v) != 0 {
-		return Xsqlite3MisuseError(tls, 88544)
+		return Xsqlite3MisuseError(tls, 88548)
 	}
 	db = (*Vdbe)(unsafe.Pointer(v)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -88941,7 +88943,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 
 	var pVar uintptr
 	if vdbeSafetyNotNull(tls, p) != 0 {
-		return Xsqlite3MisuseError(tls, 89208)
+		return Xsqlite3MisuseError(tls, 89212)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 	if int32((*Vdbe)(unsafe.Pointer(p)).FeVdbeState) != VDBE_READY_STATE {
@@ -88949,7 +88951,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 		Xsqlite3_log(tls, SQLITE_MISUSE,
 			ts+6709, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql))
-		return Xsqlite3MisuseError(tls, 89216)
+		return Xsqlite3MisuseError(tls, 89220)
 	}
 	if i >= uint32((*Vdbe)(unsafe.Pointer(p)).FnVar) {
 		Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE)
@@ -89354,7 +89356,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89707)
+	rc = Xsqlite3MisuseError(tls, 89711)
 	goto preupdate_old_out
 __1:
 	;
@@ -89498,7 +89500,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89809)
+	rc = Xsqlite3MisuseError(tls, 89813)
 	goto preupdate_new_out
 __1:
 	;
@@ -89942,10 +89944,6 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 {
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Real != 0 {
 			h = h + U64(Xsqlite3VdbeIntValue(tls, p))
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 {
-			h = h + U64((*Mem)(unsafe.Pointer(p)).Fn)
-			if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Zero != 0 {
-				h = h + U64(*(*int32)(unsafe.Pointer(p)))
-			}
 		}
 	}
 	return h
@@ -92593,7 +92591,7 @@ op_column_corrupt:
 	goto __9
 	goto __425
 __424:
-	rc = Xsqlite3CorruptError(tls, 93317)
+	rc = Xsqlite3CorruptError(tls, 93320)
 	goto abort_due_to_error
 __425:
 	;
@@ -94353,7 +94351,7 @@ notExistsWithKey:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) {
 		goto __682
 	}
-	rc = Xsqlite3CorruptError(tls, 95560)
+	rc = Xsqlite3CorruptError(tls, 95563)
 	goto __683
 __682:
 	goto jump_to_p2
@@ -95131,7 +95129,7 @@ __767:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) {
 		goto __770
 	}
-	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96635, ts+7218)
+	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96638, ts+7218)
 	goto abort_due_to_error
 __770:
 	;
@@ -95241,7 +95239,7 @@ __780:
 	if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) {
 		goto __781
 	}
-	rc = Xsqlite3CorruptError(tls, 96840)
+	rc = Xsqlite3CorruptError(tls, 96843)
 	goto abort_due_to_error
 __781:
 	;
@@ -95435,7 +95433,7 @@ __802:
 		goto __803
 	}
 
-	rc = Xsqlite3CorruptError(tls, 97092)
+	rc = Xsqlite3CorruptError(tls, 97095)
 __803:
 	;
 	Xsqlite3DbFreeNN(tls, db, zSql)
@@ -96802,7 +96800,7 @@ __955:
 	if !(rc == SQLITE_IOERR|int32(33)<<8) {
 		goto __957
 	}
-	rc = Xsqlite3CorruptError(tls, 99031)
+	rc = Xsqlite3CorruptError(tls, 99034)
 __957:
 	;
 __956:
@@ -97322,7 +97320,7 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99516)
+		return Xsqlite3MisuseError(tls, 99519)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -97405,7 +97403,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99616)
+		return Xsqlite3MisuseError(tls, 99619)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -100845,14 +100843,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			;
 			Xsqlite3WalkExpr(tls, pWalker, (*Expr)(unsafe.Pointer(pExpr)).FpLeft)
 			if 0 == Xsqlite3ExprCanBeNull(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
-				if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 8116
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsTrue)
-				} else {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 8121
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
-				}
-				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
+				*(*int32)(unsafe.Pointer(pExpr + 8)) = libc.Bool32(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL)
+				*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IntValue)
+				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_INTEGER)
+
 				i = 0
 				p = pNC
 			__4:
@@ -100896,7 +100890,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_GenCol) != 0 {
-					notValidImpl(tls, pParse, pNC, ts+8127, uintptr(0), pExpr)
+					notValidImpl(tls, pParse, pNC, ts+8116, uintptr(0), pExpr)
 				}
 
 				pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight
@@ -100960,7 +100954,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 						(*Expr)(unsafe.Pointer(pExpr)).FiTable = exprProbability(tls, (*ExprList_item)(unsafe.Pointer(pList+8+1*32)).FpExpr)
 						if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 {
 							Xsqlite3ErrorMsg(tls, pParse,
-								ts+8144, libc.VaList(bp, pExpr))
+								ts+8133, libc.VaList(bp, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
 					} else {
@@ -100976,7 +100970,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 					var auth int32 = Xsqlite3AuthCheck(tls, pParse, SQLITE_FUNCTION, uintptr(0), (*FuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0))
 					if auth != SQLITE_OK {
 						if auth == SQLITE_DENY {
-							Xsqlite3ErrorMsg(tls, pParse, ts+8208,
+							Xsqlite3ErrorMsg(tls, pParse, ts+8197,
 								libc.VaList(bp+8, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
@@ -100990,7 +100984,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				}
 				if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_CONSTANT) == U32(0) {
 					if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_PartIdx|NC_GenCol) != 0 {
-						notValidImpl(tls, pParse, pNC, ts+8244, uintptr(0), pExpr)
+						notValidImpl(tls, pParse, pNC, ts+8233, uintptr(0), pExpr)
 					}
 
 				} else {
@@ -101013,30 +101007,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			if 0 == libc.Bool32(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 				if pDef != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+8272, libc.VaList(bp+16, pExpr))
+						ts+8261, libc.VaList(bp+16, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowAgg == 0 ||
 					is_agg != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) ||
 					is_agg != 0 && pWin != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowWin == 0 {
 					var zType uintptr
 					if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 {
-						zType = ts + 8315
+						zType = ts + 8304
 					} else {
-						zType = ts + 8322
+						zType = ts + 8311
 					}
-					Xsqlite3ErrorMsg(tls, pParse, ts+8332, libc.VaList(bp+24, zType, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+8321, libc.VaList(bp+24, zType, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 					is_agg = 0
 				} else if no_such_func != 0 && int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+8360, libc.VaList(bp+40, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+8349, libc.VaList(bp+40, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if wrong_num_args != 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+8382,
+					Xsqlite3ErrorMsg(tls, pParse, ts+8371,
 						libc.VaList(bp+48, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg == 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+8426,
+						ts+8415,
 						libc.VaList(bp+56, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				}
@@ -101108,15 +101102,15 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_SelfRef != 0 {
-					notValidImpl(tls, pParse, pNC, ts+8474, pExpr, pExpr)
+					notValidImpl(tls, pParse, pNC, ts+8463, pExpr, pExpr)
 				} else {
 					Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32)))
 				}
 
 				if nRef != (*NameContext)(unsafe.Pointer(pNC)).FnRef {
 					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_VarSelect)
-					*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_VarSelect
 				}
+				*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_Subquery
 			}
 			break
 
@@ -101124,7 +101118,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 	case TK_VARIABLE:
 		{
 			if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IsCheck|NC_PartIdx|NC_IdxExpr|NC_GenCol) != 0 {
-				notValidImpl(tls, pParse, pNC, ts+8485, pExpr, pExpr)
+				notValidImpl(tls, pParse, pNC, ts+8474, pExpr, pExpr)
 			}
 
 			break
@@ -101255,7 +101249,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3
 	defer tls.Free(24)
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+8496, libc.VaList(bp, i, zType, mx))
+		ts+8485, libc.VaList(bp, i, zType, mx))
 	Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pError)
 }
 
@@ -101275,7 +101269,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	}
 	db = (*Parse)(unsafe.Pointer(pParse)).Fdb
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+8552, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+8541, 0)
 		return 1
 	}
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
@@ -101310,7 +101304,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 			}
 			if Xsqlite3ExprIsInteger(tls, pE, bp+8) != 0 {
 				if *(*int32)(unsafe.Pointer(bp + 8)) <= 0 || *(*int32)(unsafe.Pointer(bp + 8)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr {
-					resolveOutOfRangeError(tls, pParse, ts+8586, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
+					resolveOutOfRangeError(tls, pParse, ts+8575, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
 					return 1
 				}
 			} else {
@@ -101367,7 +101361,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
 		if int32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2) == 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+8592, libc.VaList(bp, i+1))
+				ts+8581, libc.VaList(bp, i+1))
 			return 1
 		}
 	}
@@ -101395,7 +101389,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr,
 		return 0
 	}
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+8653, libc.VaList(bp, zType))
+		Xsqlite3ErrorMsg(tls, pParse, ts+8642, libc.VaList(bp, zType))
 		return 1
 	}
 	pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList
@@ -101609,7 +101603,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		*(*int32)(unsafe.Pointer(bp + 40)) |= NC_UEList
 		if (*Select)(unsafe.Pointer(p)).FpHaving != 0 {
 			if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Aggregate) == U32(0) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+8684, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+8673, 0)
 				return WRC_Abort
 			}
 			if Xsqlite3ResolveExprNames(tls, bp, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 {
@@ -101649,7 +101643,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 
 		if (*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) &&
 			isCompound <= nCompound &&
-			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+8586) != 0 {
+			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+8575) != 0 {
 			return WRC_Abort
 		}
 		if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -101660,7 +101654,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		if pGroupBy != 0 {
 			var pItem uintptr
 
-			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+8723) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
+			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+8712) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 				return WRC_Abort
 			}
 			i = 0
@@ -101672,7 +101666,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 			{
 				if (*Expr)(unsafe.Pointer((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr)).Fflags&U32(EP_Agg) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+8729, 0)
+						ts+8718, 0)
 					return WRC_Abort
 				}
 
@@ -102536,7 +102530,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32
 	var mxHeight int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4))
 	if nHeight > mxHeight {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+8788, libc.VaList(bp, mxHeight))
+			ts+8777, libc.VaList(bp, mxHeight))
 		rc = SQLITE_ERROR
 	}
 	return rc
@@ -102785,10 +102779,10 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList
 			nExprElem = 1
 		}
 		if nExprElem != nElem {
-			Xsqlite3ErrorMsg(tls, pParse, ts+8836,
+			Xsqlite3ErrorMsg(tls, pParse, ts+8825,
 				libc.VaList(bp, nExprElem, func() uintptr {
 					if nExprElem > 1 {
-						return ts + 8880
+						return ts + 8869
 					}
 					return ts + 1544
 				}(), nElem))
@@ -102829,7 +102823,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt
 		!(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 		Xsqlite3ExprDeferredDelete(tls, pParse, pLeft)
 		Xsqlite3ExprDeferredDelete(tls, pParse, pRight)
-		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+8882)
+		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+8871)
 	} else {
 		return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight)
 	}
@@ -102855,7 +102849,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u
 	if pList != 0 &&
 		(*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) &&
 		!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+8884, libc.VaList(bp, pToken))
+		Xsqlite3ErrorMsg(tls, pParse, ts+8873, libc.VaList(bp, pToken))
 	}
 	*(*uintptr)(unsafe.Pointer(pNew + 32)) = pList
 	*(*U32)(unsafe.Pointer(pNew + 4)) |= U32(EP_HasFunc)
@@ -102883,7 +102877,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD
 	if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromDDL) != U32(0) {
 		if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_DIRECT) != U32(0) ||
 			(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) == uint64(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+8918, libc.VaList(bp, pExpr))
+			Xsqlite3ErrorMsg(tls, pParse, ts+8907, libc.VaList(bp, pExpr))
 		}
 	}
 }
@@ -102930,7 +102924,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 			}
 
 			if bOk == 0 || *(*I64)(unsafe.Pointer(bp + 8)) < int64(1) || *(*I64)(unsafe.Pointer(bp + 8)) > I64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+8938,
+				Xsqlite3ErrorMsg(tls, pParse, ts+8927,
 					libc.VaList(bp, *(*int32)(unsafe.Pointer(db + 136 + 9*4))))
 				Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 				return
@@ -102955,7 +102949,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 	}
 	(*Expr)(unsafe.Pointer(pExpr)).FiColumn = x
 	if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+8981, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+8970, 0)
 		Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 	}
 }
@@ -103530,7 +103524,7 @@ __2:
 	if !(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_SELECT && (*IdList)(unsafe.Pointer(pColumns)).FnId != libc.AssignInt32(&n, Xsqlite3ExprVectorSize(tls, pExpr))) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+9004,
+	Xsqlite3ErrorMsg(tls, pParse, ts+8993,
 		libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n))
 	goto vector_append_error
 __3:
@@ -103653,7 +103647,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr,
 	var mx int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4))
 
 	if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx {
-		Xsqlite3ErrorMsg(tls, pParse, ts+9034, libc.VaList(bp, zObject))
+		Xsqlite3ErrorMsg(tls, pParse, ts+9023, libc.VaList(bp, zObject))
 	}
 }
 
@@ -103709,10 +103703,10 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int
 //	  "false"                        EP_IsFalse
 //	  anything else                  0
 func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 {
-	if Xsqlite3StrICmp(tls, zIn, ts+8116) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+9046) == 0 {
 		return U32(EP_IsTrue)
 	}
-	if Xsqlite3StrICmp(tls, zIn, ts+8121) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+9051) == 0 {
 		return U32(EP_IsFalse)
 	}
 	return U32(0)
@@ -104786,7 +104780,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 {
 	}
 	if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
-		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+8882)
+		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+8871)
 		if pLimit != 0 {
 			(*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC)
 			pLimit = Xsqlite3PExpr(tls, pParse, TK_NE,
@@ -105224,6 +105218,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr
 func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) {
 	var iAddr int32
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
+	var nErr int32 = (*Parse)(unsafe.Pointer(pParse)).FnErr
 
 	if (*Parse)(unsafe.Pointer(pParse)).FiSelfTab > 0 {
 		iAddr = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Parse)(unsafe.Pointer(pParse)).FiSelfTab-1, 0, regOut)
@@ -105237,6 +105232,9 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr
 	if iAddr != 0 {
 		Xsqlite3VdbeJumpHere(tls, v, iAddr)
 	}
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr > nErr {
+		(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FerrByteOffset = -1
+	}
 }
 
 // Generate code to extract the value of the iCol-th column of a table.
@@ -105455,6 +105453,7 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 	var p uintptr
 	var v uintptr
 	for p = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr; p != 0; p = (*IndexedExpr)(unsafe.Pointer(p)).FpIENext {
+		var exprAff U8
 		var iDataCur int32 = (*IndexedExpr)(unsafe.Pointer(p)).FiDataCur
 		if iDataCur < 0 {
 			continue
@@ -105468,6 +105467,14 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 		if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IndexedExpr)(unsafe.Pointer(p)).FpExpr, iDataCur) != 0 {
 			continue
 		}
+
+		exprAff = U8(Xsqlite3ExprAffinity(tls, pExpr))
+		if int32(exprAff) <= SQLITE_AFF_BLOB && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_BLOB ||
+			int32(exprAff) == SQLITE_AFF_TEXT && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_TEXT ||
+			int32(exprAff) >= SQLITE_AFF_NUMERIC && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_NUMERIC {
+			continue
+		}
+
 		v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 
 		if (*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow != 0 {
@@ -106241,7 +106248,7 @@ __121:
 	if !((*Expr)(unsafe.Pointer(pExpr)).FiTable != n1) {
 		goto __122
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+9004,
+	Xsqlite3ErrorMsg(tls, pParse, ts+8993,
 		libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1))
 __122:
 	;
@@ -106263,11 +106270,10 @@ __49:
 	return target
 
 __50:
-	if !(!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) &&
-		(*Expr)(unsafe.Pointer(pExpr)).FpLeft != 0 &&
-		int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_FUNCTION) {
+	if !!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) {
 		goto __123
 	}
+
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	if !(inReg != target) {
 		goto __125
@@ -106338,13 +106344,19 @@ __129:
 	;
 __127:
 	;
-	addrINR = Xsqlite3VdbeAddOp1(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable)
+	addrINR = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable, 0, target)
 
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = U8(0)
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = okConstFactor
+	if !(inReg != target) {
+		goto __130
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, inReg, target)
+	inReg = target
+__130:
+	;
 	Xsqlite3VdbeJumpHere(tls, v, addrINR)
-	Xsqlite3VdbeChangeP3(tls, v, addrINR, inReg)
 	goto __5
 
 __56:
@@ -106357,15 +106369,15 @@ __56:
 	nExpr = (*ExprList)(unsafe.Pointer(pEList)).FnExpr
 	endLabel = Xsqlite3VdbeMakeLabel(tls, pParse)
 	if !(libc.AssignUintptr(&pX, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) != uintptr(0)) {
-		goto __130
+		goto __131
 	}
 	pDel = Xsqlite3ExprDup(tls, db1, pX, 0)
 	if !((*Sqlite3)(unsafe.Pointer(db1)).FmallocFailed != 0) {
-		goto __131
+		goto __132
 	}
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	goto __5
-__131:
+__132:
 	;
 	exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+40))
 
@@ -106375,22 +106387,22 @@ __131:
 	pTest = bp + 120
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = 0
-__130:
+__131:
 	;
 	i1 = 0
-__132:
+__133:
 	if !(i1 < nExpr-1) {
-		goto __134
+		goto __135
 	}
 	if !(pX != 0) {
-		goto __135
+		goto __136
 	}
 
 	(*Expr)(unsafe.Pointer(bp + 120)).FpRight = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
-	goto __136
-__135:
-	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+	goto __137
 __136:
+	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+__137:
 	;
 	nextCase = Xsqlite3VdbeMakeLabel(tls, pParse)
 
@@ -106399,21 +106411,21 @@ __136:
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(aListelem+uintptr(i1+1)*32)).FpExpr, target)
 	Xsqlite3VdbeGoto(tls, v, endLabel)
 	Xsqlite3VdbeResolveLabel(tls, v, nextCase)
-	goto __133
-__133:
-	i1 = i1 + 2
-	goto __132
 	goto __134
 __134:
+	i1 = i1 + 2
+	goto __133
+	goto __135
+__135:
 	;
 	if !(nExpr&1 != 0) {
-		goto __137
+		goto __138
 	}
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(pEList+8+uintptr(nExpr-1)*32)).FpExpr, target)
-	goto __138
-__137:
-	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+	goto __139
 __138:
+	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+__139:
 	;
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	setDoNotMergeFlagOnCopy(tls, v)
@@ -106423,27 +106435,27 @@ __138:
 __57:
 	;
 	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).FpTriggerTab) != 0) && !(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0)) {
-		goto __139
+		goto __140
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
 		ts+9434, 0)
 	return 0
-__139:
-	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
-		goto __140
-	}
-	Xsqlite3MayAbort(tls, pParse)
 __140:
 	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
 		goto __141
 	}
+	Xsqlite3MayAbort(tls, pParse)
+__141:
+	;
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+		goto __142
+	}
 	Xsqlite3VdbeAddOp4(tls,
 		v, OP_Halt, SQLITE_OK, OE_Ignore, 0, *(*uintptr)(unsafe.Pointer(pExpr + 8)), 0)
 
-	goto __142
-__141:
+	goto __143
+__142:
 	Xsqlite3HaltConstraint(tls, pParse,
 		func() int32 {
 			if (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab != 0 {
@@ -106452,7 +106464,7 @@ __141:
 			return SQLITE_ERROR
 		}(),
 		int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr), *(*uintptr)(unsafe.Pointer(pExpr + 8)), int8(0), uint8(0))
-__142:
+__143:
 	;
 	goto __5
 
@@ -109120,7 +109132,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 		return SQLITE_NOMEM
 	}
 	if Xsqlite3_strnicmp(tls, zSql, ts+12274, 7) != 0 {
-		return Xsqlite3CorruptError(tls, 113494)
+		return Xsqlite3CorruptError(tls, 113516)
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 {
 		if bTemp != 0 {
@@ -109137,7 +109149,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 	}
 	if rc == SQLITE_OK &&
 		((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
-		rc = Xsqlite3CorruptError(tls, 113505)
+		rc = Xsqlite3CorruptError(tls, 113527)
 	}
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
@@ -110058,7 +110070,7 @@ __1:
 		goto __2
 	}
 
-	rc = Xsqlite3CorruptError(tls, 114441)
+	rc = Xsqlite3CorruptError(tls, 114463)
 	goto drop_column_done
 __2:
 	;
@@ -114421,6 +114433,12 @@ __10:
 
 	pExpr = Xsqlite3PExpr(tls, pParse, TK_UPLUS, pExpr, uintptr(0))
 __11:
+	;
+	if !(pExpr != 0 && int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_RAISE) {
+		goto __12
+	}
+	(*Expr)(unsafe.Pointer(pExpr)).FaffExpr = (*Column)(unsafe.Pointer(pCol)).Faffinity
+__12:
 	;
 	Xsqlite3ColumnSetExpr(tls, pParse, pTab, pCol, pExpr)
 	pExpr = uintptr(0)
@@ -115586,7 +115604,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 {
 		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+14829, 4) == 0 {
 			return 0
 		}
-		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+8485, 10) == 0 {
+		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+8474, 10) == 0 {
 			return 0
 		}
 		return 1
@@ -116832,7 +116850,7 @@ __81:
 		goto __101
 	}
 	Xsqlite3ErrorMsg(tls, pParse, ts+15497, 0)
-	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121835)
+	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121859)
 	goto exit_create_index
 __101:
 	;
@@ -118877,7 +118895,7 @@ __20:
 	goto __16
 __15:
 	wcf = U16(WHERE_ONEPASS_DESIRED | WHERE_DUPLICATES_OK)
-	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_VarSelect != 0) {
+	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_Subquery != 0) {
 		goto __23
 	}
 	bComplex = 1
@@ -125345,7 +125363,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca
 	if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) {
 		goto __1
 	}
-	return Xsqlite3MisuseError(tls, 131895)
+	return Xsqlite3MisuseError(tls, 131931)
 __1:
 	;
 	if !(zSql == uintptr(0)) {
@@ -126747,7 +126765,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh
 		} else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) {
 			zType = ts + 18882
 		} else {
-			zType = ts + 8880
+			zType = ts + 8869
 		}
 		Xsqlite3VdbeMultiLoad(tls, v, 1, ts+18884,
 			libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin,
@@ -126908,6 +126926,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p
 	var zErr2 uintptr
 	var k3 int32
 	var pCheck uintptr
+	var jmp7 int32
 	var jmp6 int32
 	var iCol1 int32
 	var uniqOk int32
@@ -128266,7 +128285,7 @@ __222:
 		goto __224
 	}
 	pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+8880, libc.VaList(bp+272, (*Module)(unsafe.Pointer(pMod)).FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+8869, libc.VaList(bp+272, (*Module)(unsafe.Pointer(pMod)).FzName))
 	goto __223
 __223:
 	j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext
@@ -128282,7 +128301,7 @@ __225:
 	if !(i6 < int32(uint64(unsafe.Sizeof(aPragmaName))/uint64(unsafe.Sizeof(PragmaName{})))) {
 		goto __227
 	}
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+8880, libc.VaList(bp+280, aPragmaName[i6].FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+8869, libc.VaList(bp+280, aPragmaName[i6].FzName))
 	goto __226
 __226:
 	i6++
@@ -129087,80 +129106,94 @@ __351:
 	jmp4 = integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, jmp21)
 
+	if !((*Table)(unsafe.Pointer(pTab9)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) {
+		goto __352
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_IdxRowid, *(*int32)(unsafe.Pointer(bp + 624))+j4, 3)
+	jmp7 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 3, 0, r1+int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)-1)
+
+	Xsqlite3VdbeLoadString(tls, v, 3,
+		ts+19298)
+	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+19334)
+	Xsqlite3VdbeGoto(tls, v, jmp5-1)
+	Xsqlite3VdbeJumpHere(tls, v, jmp7)
+__352:
+	;
 	label6 = 0
 	kk = 0
-__352:
+__353:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __354
-	}
-	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __355
 	}
-	goto __353
-__355:
-	;
-	if !(label6 == 0) {
+	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __356
 	}
-	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+	goto __354
 __356:
+	;
+	if !(label6 == 0) {
+		goto __357
+	}
+	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+__357:
 	;
 	Xsqlite3VdbeAddOp3(tls, v, OP_Column, *(*int32)(unsafe.Pointer(bp + 624))+j4, kk, 3)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Ne, 3, label6, r1+kk)
-	goto __353
-__353:
-	kk++
-	goto __352
 	goto __354
 __354:
+	kk++
+	goto __353
+	goto __355
+__355:
 	;
 	if !(label6 != 0) {
-		goto __357
+		goto __358
 	}
 	jmp6 = Xsqlite3VdbeAddOp0(tls, v, OP_Goto)
 	Xsqlite3VdbeResolveLabel(tls, v, label6)
 	Xsqlite3VdbeLoadString(tls, v, 3, ts+19272)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
-	Xsqlite3VdbeLoadString(tls, v, 4, ts+19298)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+19345)
 	Xsqlite3VdbeGoto(tls, v, jmp5-1)
 	Xsqlite3VdbeJumpHere(tls, v, jmp6)
-__357:
+__358:
 	;
 	if !(int32((*Index)(unsafe.Pointer(pIdx5)).FonError) != OE_None) {
-		goto __358
+		goto __359
 	}
 	uniqOk = Xsqlite3VdbeMakeLabel(tls, pParse)
 	kk = 0
-__359:
+__360:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __361
+		goto __362
 	}
 	iCol1 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2)))
 
 	if !(iCol1 >= 0 && uint32(int32(*(*uint8)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*24 + 8))&0xf>>0)) != 0) {
-		goto __362
+		goto __363
 	}
-	goto __360
-__362:
+	goto __361
+__363:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_IsNull, r1+kk, uniqOk)
 
-	goto __360
-__360:
-	kk++
-	goto __359
 	goto __361
 __361:
+	kk++
+	goto __360
+	goto __362
+__362:
 	;
 	jmp61 = Xsqlite3VdbeAddOp1(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 624))+j4)
 	Xsqlite3VdbeGoto(tls, v, uniqOk)
 	Xsqlite3VdbeJumpHere(tls, v, jmp61)
 	Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, *(*int32)(unsafe.Pointer(bp + 624))+j4, uniqOk, r1,
 		int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol))
-	Xsqlite3VdbeLoadString(tls, v, 3, ts+19325)
+	Xsqlite3VdbeLoadString(tls, v, 3, ts+19372)
 	Xsqlite3VdbeGoto(tls, v, jmp5)
 	Xsqlite3VdbeResolveLabel(tls, v, uniqOk)
-__358:
+__359:
 	;
 	Xsqlite3VdbeJumpHere(tls, v, jmp4)
 	Xsqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 640)))
@@ -129177,20 +129210,20 @@ __347:
 	Xsqlite3VdbeAddOp2(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 620)), loopTop)
 	Xsqlite3VdbeJumpHere(tls, v, loopTop-1)
 	if !!(isQuick != 0) {
-		goto __363
+		goto __364
 	}
-	Xsqlite3VdbeLoadString(tls, v, 2, ts+19352)
+	Xsqlite3VdbeLoadString(tls, v, 2, ts+19399)
 	j4 = 0
 	pIdx5 = (*Table)(unsafe.Pointer(pTab9)).FpIndex
-__364:
+__365:
 	if !(pIdx5 != 0) {
-		goto __366
-	}
-	if !(pPk1 == pIdx5) {
 		goto __367
 	}
-	goto __365
-__367:
+	if !(pPk1 == pIdx5) {
+		goto __368
+	}
+	goto __366
+__368:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_Count, *(*int32)(unsafe.Pointer(bp + 624))+j4, 3)
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 8+j4, 0, 3)
@@ -129199,21 +129232,21 @@ __367:
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 2, 3)
 	integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
-	goto __365
-__365:
-	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
-	j4++
-	goto __364
 	goto __366
 __366:
+	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
+	j4++
+	goto __365
+	goto __367
+__367:
 	;
 	if !(pPk1 != 0) {
-		goto __368
+		goto __369
 	}
 	Xsqlite3ReleaseTempRange(tls, pParse, r2, int32((*Index)(unsafe.Pointer(pPk1)).FnKeyCol))
-__368:
+__369:
 	;
-__363:
+__364:
 	;
 	goto __298
 __298:
@@ -129231,14 +129264,14 @@ __273:
 	;
 	aOp2 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(endCode))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&endCode)), iLn5)
 	if !(aOp2 != 0) {
-		goto __369
+		goto __370
 	}
 	(*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = 1 - *(*int32)(unsafe.Pointer(bp + 616))
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1)
-	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 19381
+	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 19428
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 5*24)).Fp4type = int8(-1)
 	*(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT)
-__369:
+__370:
 	;
 	Xsqlite3VdbeChangeP3(tls, v, 0, Xsqlite3VdbeCurrentAddr(tls, v)-2)
 
@@ -129246,27 +129279,27 @@ __369:
 
 __46:
 	if !!(zRight != 0) {
-		goto __370
+		goto __371
 	}
 	if !(Xsqlite3ReadSchema(tls, pParse) != 0) {
-		goto __372
-	}
-	goto pragma_out
-__372:
-	;
-	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
-	goto __371
-__370:
-	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
 		goto __373
 	}
+	goto pragma_out
+__373:
+	;
+	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
+	goto __372
+__371:
+	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
+		goto __374
+	}
 	pEnc = uintptr(unsafe.Pointer(&encnames1))
-__374:
+__375:
 	if !((*EncName)(unsafe.Pointer(pEnc)).FzName != 0) {
-		goto __376
+		goto __377
 	}
 	if !(0 == Xsqlite3StrICmp(tls, zRight, (*EncName)(unsafe.Pointer(pEnc)).FzName)) {
-		goto __377
+		goto __378
 	}
 	if (*EncName)(unsafe.Pointer(pEnc)).Fenc != 0 {
 		enc = (*EncName)(unsafe.Pointer(pEnc)).Fenc
@@ -129275,25 +129308,25 @@ __374:
 	}
 	(*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema)).Fenc = enc
 	Xsqlite3SetTextEncoding(tls, db, enc)
-	goto __376
-__377:
-	;
-	goto __375
-__375:
-	pEnc += 16
-	goto __374
-	goto __376
-__376:
-	;
-	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
-		goto __378
-	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19384, libc.VaList(bp+464, zRight))
+	goto __377
 __378:
 	;
-__373:
+	goto __376
+__376:
+	pEnc += 16
+	goto __375
+	goto __377
+__377:
 	;
-__371:
+	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
+		goto __379
+	}
+	Xsqlite3ErrorMsg(tls, pParse, ts+19431, libc.VaList(bp+464, zRight))
+__379:
+	;
+__374:
+	;
+__372:
 	;
 	goto __15
 
@@ -129301,15 +129334,15 @@ __47:
 	iCookie = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiArg)
 	Xsqlite3VdbeUsesBtree(tls, v, iDb)
 	if !(zRight != 0 && int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_ReadOnly == 0) {
-		goto __379
+		goto __380
 	}
 
 	aOp3 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(setCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&setCookie)), 0)
 	if !(0 != 0) {
-		goto __381
+		goto __382
 	}
 	goto __15
-__381:
+__382:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp3)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp1 = iDb
@@ -129317,41 +129350,41 @@ __381:
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp3 = Xsqlite3Atoi(tls, zRight)
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp5 = U16(1)
 	if !(iCookie == BTREE_SCHEMA_VERSION && (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0)) {
-		goto __382
+		goto __383
 	}
 
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fopcode = U8(OP_Noop)
-__382:
+__383:
 	;
-	goto __380
-__379:
+	goto __381
+__380:
 	;
 	aOp4 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(readCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&readCookie)), 0)
 	if !(0 != 0) {
-		goto __383
+		goto __384
 	}
 	goto __15
-__383:
+__384:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp4)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp3 = iCookie
 	Xsqlite3VdbeReusable(tls, v)
-__380:
+__381:
 	;
 	goto __15
 
 __48:
 	i10 = 0
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 1
-__384:
+__385:
 	if !(libc.AssignUintptr(&zOpt, Xsqlite3_compileoption_get(tls, libc.PostIncInt32(&i10, 1))) != uintptr(0)) {
-		goto __385
+		goto __386
 	}
 	Xsqlite3VdbeLoadString(tls, v, 1, zOpt)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1)
-	goto __384
-__385:
+	goto __385
+__386:
 	;
 	Xsqlite3VdbeReusable(tls, v)
 
@@ -129366,31 +129399,31 @@ __49:
 	}()
 	eMode2 = SQLITE_CHECKPOINT_PASSIVE
 	if !(zRight != 0) {
-		goto __386
-	}
-	if !(Xsqlite3StrICmp(tls, zRight, ts+18714) == 0) {
 		goto __387
 	}
+	if !(Xsqlite3StrICmp(tls, zRight, ts+18714) == 0) {
+		goto __388
+	}
 	eMode2 = SQLITE_CHECKPOINT_FULL
-	goto __388
-__387:
-	if !(Xsqlite3StrICmp(tls, zRight, ts+19409) == 0) {
-		goto __389
+	goto __389
+__388:
+	if !(Xsqlite3StrICmp(tls, zRight, ts+19456) == 0) {
+		goto __390
 	}
 	eMode2 = SQLITE_CHECKPOINT_RESTART
-	goto __390
-__389:
+	goto __391
+__390:
 	if !(Xsqlite3StrICmp(tls, zRight, ts+18867) == 0) {
-		goto __391
+		goto __392
 	}
 	eMode2 = SQLITE_CHECKPOINT_TRUNCATE
+__392:
+	;
 __391:
 	;
-__390:
+__389:
 	;
-__388:
-	;
-__386:
+__387:
 	;
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 3
 	Xsqlite3VdbeAddOp3(tls, v, OP_Checkpoint, iBt, eMode2, 1)
@@ -129400,10 +129433,10 @@ __386:
 
 __50:
 	if !(zRight != 0) {
-		goto __392
+		goto __393
 	}
 	Xsqlite3_wal_autocheckpoint(tls, db, Xsqlite3Atoi(tls, zRight))
-__392:
+__393:
 	;
 	returnSingleInt(tls, v,
 		func() int64 {
@@ -129423,19 +129456,19 @@ __51:
 
 __52:
 	if !(zRight != 0) {
-		goto __393
+		goto __394
 	}
 	opMask = U32(Xsqlite3Atoi(tls, zRight))
 	if !(opMask&U32(0x02) == U32(0)) {
-		goto __395
+		goto __396
 	}
 	goto __15
-__395:
+__396:
 	;
-	goto __394
-__393:
-	opMask = U32(0xfffe)
+	goto __395
 __394:
+	opMask = U32(0xfffe)
+__395:
 	;
 	iTabCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1)
 	iDbLast = func() int32 {
@@ -129444,86 +129477,86 @@ __394:
 		}
 		return (*Sqlite3)(unsafe.Pointer(db)).FnDb - 1
 	}()
-__396:
+__397:
 	if !(iDb <= iDbLast) {
-		goto __398
-	}
-	if !(iDb == 1) {
 		goto __399
 	}
-	goto __397
-__399:
+	if !(iDb == 1) {
+		goto __400
+	}
+	goto __398
+__400:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
 	pSchema = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema
 	k4 = (*Hash)(unsafe.Pointer(pSchema + 8)).Ffirst
-__400:
+__401:
 	if !(k4 != 0) {
-		goto __402
+		goto __403
 	}
 	pTab10 = (*HashElem)(unsafe.Pointer(k4)).Fdata
 
 	if !((*Table)(unsafe.Pointer(pTab10)).FtabFlags&U32(TF_StatsUsed) == U32(0)) {
-		goto __403
+		goto __404
 	}
-	goto __401
-__403:
+	goto __402
+__404:
 	;
 	szThreshold = LogEst(int32((*Table)(unsafe.Pointer(pTab10)).FnRowLogEst) + 46)
 	pIdx6 = (*Table)(unsafe.Pointer(pTab10)).FpIndex
-__404:
+__405:
 	if !(pIdx6 != 0) {
-		goto __406
-	}
-	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
 		goto __407
 	}
+	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
+		goto __408
+	}
 	szThreshold = int16(0)
-	goto __406
-__407:
+	goto __407
+__408:
 	;
-	goto __405
-__405:
-	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
-	goto __404
 	goto __406
 __406:
+	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
+	goto __405
+	goto __407
+__407:
 	;
 	if !(szThreshold != 0) {
-		goto __408
+		goto __409
 	}
 	Xsqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab10, OP_OpenRead)
 	Xsqlite3VdbeAddOp3(tls, v, OP_IfSmaller, iTabCur,
 		int32(U32(Xsqlite3VdbeCurrentAddr(tls, v)+2)+opMask&U32(1)), int32(szThreshold))
 
-__408:
+__409:
 	;
-	zSubSql = Xsqlite3MPrintf(tls, db, ts+19417,
+	zSubSql = Xsqlite3MPrintf(tls, db, ts+19464,
 		libc.VaList(bp+472, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab10)).FzName))
 	if !(opMask&U32(0x01) != 0) {
-		goto __409
+		goto __410
 	}
 	r11 = Xsqlite3GetTempReg(tls, pParse)
 	Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, r11, 0, zSubSql, -6)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, r11, 1)
-	goto __410
-__409:
-	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+	goto __411
 __410:
+	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+__411:
 	;
-	goto __401
-__401:
-	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
-	goto __400
 	goto __402
 __402:
+	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
+	goto __401
+	goto __403
+__403:
 	;
-	goto __397
-__397:
-	iDb++
-	goto __396
 	goto __398
 __398:
+	iDb++
+	goto __397
+	goto __399
+__399:
 	;
 	Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
 	goto __15
@@ -129531,36 +129564,36 @@ __398:
 __53:
 	;
 	if !(zRight != 0) {
-		goto __411
+		goto __412
 	}
 	Xsqlite3_busy_timeout(tls, db, Xsqlite3Atoi(tls, zRight))
-__411:
+__412:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout))
 	goto __15
 
 __54:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+648) == SQLITE_OK) {
-		goto __412
+		goto __413
 	}
 	Xsqlite3_soft_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 648)))
-__412:
+__413:
 	;
 	returnSingleInt(tls, v, Xsqlite3_soft_heap_limit64(tls, int64(-1)))
 	goto __15
 
 __55:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+656) == SQLITE_OK) {
-		goto __413
+		goto __414
 	}
 	iPrior = Xsqlite3_hard_heap_limit64(tls, int64(-1))
 	if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 656)) > int64(0) && (iPrior == int64(0) || iPrior > *(*Sqlite3_int64)(unsafe.Pointer(bp + 656)))) {
-		goto __414
+		goto __415
 	}
 	Xsqlite3_hard_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 656)))
-__414:
+__415:
 	;
-__413:
+__414:
 	;
 	returnSingleInt(tls, v, Xsqlite3_hard_heap_limit64(tls, int64(-1)))
 	goto __15
@@ -129569,10 +129602,10 @@ __56:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+664) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 664)) >= int64(0)) {
-		goto __415
+		goto __416
 	}
 	Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 664))&int64(0x7fffffff)))
-__415:
+__416:
 	;
 	returnSingleInt(tls, v, int64(Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, -1)))
 	goto __15
@@ -129581,10 +129614,10 @@ __57:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+672) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 672)) >= int64(0)) {
-		goto __416
+		goto __417
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 672)) & int64(0x7fffffff))
-__416:
+__417:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit))
 	goto __15
@@ -129592,10 +129625,10 @@ __416:
 __15:
 	;
 	if !(int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_NoColumns1 != 0 && zRight != 0) {
-		goto __417
+		goto __418
 	}
 
-__417:
+__418:
 	;
 pragma_out:
 	Xsqlite3DbFree(tls, db, zLeft)
@@ -129647,14 +129680,14 @@ var endCode = [7]VdbeOpList{
 	{Fopcode: U8(OP_Goto), Fp2: int8(3)},
 }
 var encnames1 = [9]EncName{
-	{FzName: ts + 19435, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 19440, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 19446, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 19455, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 19464, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 19472, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 19480},
-	{FzName: ts + 19487},
+	{FzName: ts + 19482, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 19487, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 19493, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 19502, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 19511, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 19519, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 19527},
+	{FzName: ts + 19534},
 	{},
 }
 var setCookie = [2]VdbeOpList{
@@ -129706,7 +129739,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	_ = argc
 	_ = argv
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), bp+64, int32(unsafe.Sizeof([200]int8{})), 0)
-	Xsqlite3_str_appendall(tls, bp+32, ts+19493)
+	Xsqlite3_str_appendall(tls, bp+32, ts+19540)
 	i = 0
 	j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName)
 __1:
@@ -129714,7 +129747,7 @@ __1:
 		goto __3
 	}
 	{
-		Xsqlite3_str_appendf(tls, bp+32, ts+19508, libc.VaList(bp, int32(cSep), pragCName[j]))
+		Xsqlite3_str_appendf(tls, bp+32, ts+19555, libc.VaList(bp, int32(cSep), pragCName[j]))
 		cSep = int8(',')
 
 	}
@@ -129727,16 +129760,16 @@ __2:
 __3:
 	;
 	if i == 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+19515, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
+		Xsqlite3_str_appendf(tls, bp+32, ts+19562, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
 		i++
 	}
 	j = 0
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_Result1 != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+19521)
+		Xsqlite3_str_appendall(tls, bp+32, ts+19568)
 		j++
 	}
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(PragFlg_SchemaOpt|PragFlg_SchemaReq) != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+19533)
+		Xsqlite3_str_appendall(tls, bp+32, ts+19580)
 		j++
 	}
 	Xsqlite3_str_append(tls, bp+32, ts+6309, 1)
@@ -129919,13 +129952,13 @@ __2:
 __3:
 	;
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4)))
-	Xsqlite3_str_appendall(tls, bp+32, ts+19548)
+	Xsqlite3_str_appendall(tls, bp+32, ts+19595)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+19556, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+19603, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
 	}
 	Xsqlite3_str_appendall(tls, bp+32, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+19560, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+19607, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
 	}
 	zSql = Xsqlite3StrAccumFinish(tls, bp+32)
 	if zSql == uintptr(0) {
@@ -130002,12 +130035,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 	} else if *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) != uintptr(0) {
 	} else if (*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask) != 0 {
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db,
-			ts+19564, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
+			ts+19611, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
 				azAlterType[(*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask)-U32(1)],
 				zExtra))
 		(*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR
 	} else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137196)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137249)
 	} else {
 		var z uintptr
 		var zObj uintptr
@@ -130016,19 +130049,19 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 		} else {
 			zObj = ts + 6360
 		}
-		z = Xsqlite3MPrintf(tls, db, ts+19592, libc.VaList(bp+32, zObj))
+		z = Xsqlite3MPrintf(tls, db, ts+19639, libc.VaList(bp+32, zObj))
 		if zExtra != 0 && *(*int8)(unsafe.Pointer(zExtra)) != 0 {
-			z = Xsqlite3MPrintf(tls, db, ts+19623, libc.VaList(bp+40, z, zExtra))
+			z = Xsqlite3MPrintf(tls, db, ts+19670, libc.VaList(bp+40, z, zExtra))
 		}
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137203)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137256)
 	}
 }
 
 var azAlterType = [3]uintptr{
-	ts + 19631,
-	ts + 19638,
-	ts + 19650,
+	ts + 19678,
+	ts + 19685,
+	ts + 19697,
 }
 
 // Check to see if any sibling index (another index on the same table)
@@ -130120,7 +130153,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr
 		var pIndex uintptr
 		pIndex = Xsqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName)
 		if pIndex == uintptr(0) {
-			corruptSchema(tls, pData, argv, ts+19661)
+			corruptSchema(tls, pData, argv, ts+19708)
 		} else if Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2) ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage ||
@@ -130168,7 +130201,7 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl
 	}())
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 16 + 1*8))
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 3*8)) = ts + 9290
-	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 19674
+	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 19721
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 5*8)) = uintptr(0)
 	(*InitData)(unsafe.Pointer(bp + 64)).Fdb = db
 	(*InitData)(unsafe.Pointer(bp + 64)).FiDb = iDb
@@ -130297,7 +130330,7 @@ __18:
 	if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) {
 		goto __19
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+19746)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+19793)
 	rc = SQLITE_ERROR
 	goto initone_error_out
 __19:
@@ -130311,7 +130344,7 @@ __20:
 	(*InitData)(unsafe.Pointer(bp + 64)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt)
 
 	zSql = Xsqlite3MPrintf(tls, db,
-		ts+19770,
+		ts+19817,
 		libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zSchemaTabName))
 
 	xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth
@@ -130643,7 +130676,7 @@ __4:
 		goto __8
 	}
 	zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName
-	Xsqlite3ErrorWithMsg(tls, db, rc, ts+19804, libc.VaList(bp, zDb))
+	Xsqlite3ErrorWithMsg(tls, db, rc, ts+19851, libc.VaList(bp, zDb))
 
 	goto end_prepare
 __8:
@@ -130673,7 +130706,7 @@ __9:
 	if !(nBytes > mxLen) {
 		goto __12
 	}
-	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+19834, 0)
+	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+19881, 0)
 	rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG)
 	goto end_prepare
 __12:
@@ -130769,7 +130802,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 137995)
+		return Xsqlite3MisuseError(tls, 138048)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	Xsqlite3BtreeEnterAll(tls, db)
@@ -130868,7 +130901,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 138143)
+		return Xsqlite3MisuseError(tls, 138196)
 	}
 	if nBytes >= 0 {
 		var sz int32
@@ -131195,13 +131228,13 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC
 			zSp2++
 		}
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+19853, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
+			ts+19900, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
 		jointype = JT_INNER
 	}
 	return jointype
 }
 
-var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 19883))
+var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 19930))
 var aKeyword = [7]struct {
 	Fi     U8
 	FnChar U8
@@ -131376,7 +131409,7 @@ __1:
 			var pUsing uintptr = uintptr(0)
 			if uint32(int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+19917, libc.VaList(bp, 0))
+					ts+19964, libc.VaList(bp, 0))
 				return 1
 			}
 			for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ {
@@ -131421,7 +131454,7 @@ __1:
 					tableAndColumnIndex(tls, pSrc, 0, i, zName, bp+24, bp+28,
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) == 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+19967, libc.VaList(bp+8, zName))
+						ts+20014, libc.VaList(bp+8, zName))
 					return 1
 				}
 				pE1 = Xsqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 28)))
@@ -131432,7 +131465,7 @@ __1:
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) != 0 {
 						if int32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 60 + 4))&0x400>>10) == 0 ||
 							Xsqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 72)), zName) < 0 {
-							Xsqlite3ErrorMsg(tls, pParse, ts+20031,
+							Xsqlite3ErrorMsg(tls, pParse, ts+20078,
 								libc.VaList(bp+16, zName))
 							break
 						}
@@ -132060,16 +132093,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr {
 	var z uintptr
 	switch id {
 	case TK_ALL:
-		z = ts + 20068
+		z = ts + 20115
 		break
 	case TK_INTERSECT:
-		z = ts + 20078
+		z = ts + 20125
 		break
 	case TK_EXCEPT:
-		z = ts + 20088
+		z = ts + 20135
 		break
 	default:
-		z = ts + 20095
+		z = ts + 20142
 		break
 	}
 	return z
@@ -132079,7 +132112,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20101, libc.VaList(bp, zUsage))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20148, libc.VaList(bp, zUsage))
 }
 
 func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) {
@@ -132105,9 +132138,9 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n
 	var nRefKey int32 = 0
 	var aOutEx uintptr = (*Select)(unsafe.Pointer(p)).FpEList + 8
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20124, libc.VaList(bp, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20171, libc.VaList(bp, func() uintptr {
 		if (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 {
-			return ts + 20155
+			return ts + 20202
 		}
 		return ts + 1544
 	}()))
@@ -132451,7 +132484,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr)
 		} else {
 			var z uintptr = (*ExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32)).FzEName
 			if z == uintptr(0) {
-				z = Xsqlite3MPrintf(tls, db, ts+20170, libc.VaList(bp+16, i+1))
+				z = Xsqlite3MPrintf(tls, db, ts+20217, libc.VaList(bp+16, i+1))
 			} else {
 				z = Xsqlite3DbStrDup(tls, db, z)
 			}
@@ -132551,7 +132584,7 @@ __1:
 		if zName != 0 && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) {
 			zName = Xsqlite3DbStrDup(tls, db, zName)
 		} else {
-			zName = Xsqlite3MPrintf(tls, db, ts+20170, libc.VaList(bp, i+1))
+			zName = Xsqlite3MPrintf(tls, db, ts+20217, libc.VaList(bp, i+1))
 		}
 
 		*(*U32)(unsafe.Pointer(bp + 56)) = U32(0)
@@ -132567,7 +132600,7 @@ __1:
 					nName = j
 				}
 			}
-			zName = Xsqlite3MPrintf(tls, db, ts+20179, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
+			zName = Xsqlite3MPrintf(tls, db, ts+20226, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
 			Xsqlite3ProgressCheck(tls, pParse)
 			if *(*U32)(unsafe.Pointer(bp + 56)) > U32(3) {
 				Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56)
@@ -132650,8 +132683,6 @@ __1:
 		(*Column)(unsafe.Pointer(pCol)).Faffinity = Xsqlite3ExprAffinity(tls, p)
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) <= SQLITE_AFF_NONE {
 			(*Column)(unsafe.Pointer(pCol)).Faffinity = aff
-		} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
-			(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
 		}
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_TEXT && (*Select)(unsafe.Pointer(pSelect)).FpNext != 0 {
 			var m int32 = 0
@@ -132666,12 +132697,15 @@ __1:
 			} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && m&0x02 != 0 {
 				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_BLOB)
 			}
+			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
+				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
+			}
 		}
 		zType = columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0))
 		if zType == uintptr(0) || int32((*Column)(unsafe.Pointer(pCol)).Faffinity) != int32(Xsqlite3AffinityType(tls, zType, uintptr(0))) {
 			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_NUMERIC ||
 				int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_FLEXNUM {
-				zType = ts + 20187
+				zType = ts + 20234
 			} else {
 				zType = uintptr(0)
 				for j = 1; j < SQLITE_N_STDTYPE; j++ {
@@ -132887,7 +132921,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest
 	if !((*Select)(unsafe.Pointer(p)).FpWin != 0) {
 		goto __1
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20191, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20238, 0)
 	return
 __1:
 	;
@@ -132978,7 +133012,7 @@ __12:
 	if !((*Select)(unsafe.Pointer(pFirstRec)).FselFlags&U32(SF_Aggregate) != 0) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20240, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20287, 0)
 	goto end_of_recursive_query
 __15:
 	;
@@ -132998,7 +133032,7 @@ __14:
 	;
 	pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20282, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20329, 0)
 	rc = Xsqlite3Select(tls, pParse, pSetup, bp)
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = p
 	if !(rc != 0) {
@@ -133035,7 +133069,7 @@ __20:
 	Xsqlite3VdbeResolveLabel(tls, v, addrCont)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20288, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20335, 0)
 	Xsqlite3Select(tls, pParse, p, bp)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup
@@ -133069,11 +133103,11 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 		p = (*Select)(unsafe.Pointer(p)).FpPrior
 		nRow = nRow + bShowAll
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20303, libc.VaList(bp, nRow, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20350, libc.VaList(bp, nRow, func() uintptr {
 		if nRow == 1 {
 			return ts + 1544
 		}
-		return ts + 20326
+		return ts + 20373
 	}()))
 	for p != 0 {
 		selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1)
@@ -133174,8 +133208,8 @@ __6:
 	if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) {
 		goto __8
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20328, 0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20343, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20375, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20390, 0)
 __8:
 	;
 	switch int32((*Select)(unsafe.Pointer(p)).Fop) {
@@ -133222,7 +133256,7 @@ __16:
 	;
 __15:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20068, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20115, 0)
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+16)
 
@@ -133289,7 +133323,7 @@ __23:
 	pLimit = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 64)).FeDest = op
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20362, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20409, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+64)
 
@@ -133351,7 +133385,7 @@ __26:
 	pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 104)).FiSDParm = tab2
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20362, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20409, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+104)
 
@@ -133504,10 +133538,10 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr)
 	defer tls.Free(8)
 
 	if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Values) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+20383, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+20430, 0)
 	} else {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+20429,
+			ts+20476,
 			libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 	}
 }
@@ -133761,8 +133795,8 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	(*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0)
 
 	(*Select)(unsafe.Pointer(pPrior)).FpOrderBy = Xsqlite3ExprListDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+8586)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+8586)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+8575)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+8575)
 
 	computeLimitRegisters(tls, pParse, p, labelEnd)
 	if (*Select)(unsafe.Pointer(p)).FiLimit != 0 && op == TK_ALL {
@@ -133789,13 +133823,13 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	Xsqlite3SelectDestInit(tls, bp+8, SRT_Coroutine, regAddrA)
 	Xsqlite3SelectDestInit(tls, bp+48, SRT_Coroutine, regAddrB)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20511, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20558, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	addrSelectA = Xsqlite3VdbeCurrentAddr(tls, v) + 1
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA)
 
 	(*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20522, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20569, 0)
 	Xsqlite3Select(tls, pParse, pPrior, bp+8)
 	Xsqlite3VdbeEndCoroutine(tls, v, regAddrA)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
@@ -133807,7 +133841,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset
 	(*Select)(unsafe.Pointer(p)).FiLimit = regLimitB
 	(*Select)(unsafe.Pointer(p)).FiOffset = 0
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20527, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20574, 0)
 	Xsqlite3Select(tls, pParse, p, bp+48)
 	(*Select)(unsafe.Pointer(p)).FiLimit = savedLimit
 	(*Select)(unsafe.Pointer(p)).FiOffset = savedOffset
@@ -133995,7 +134029,8 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr {
 				Xsqlite3VectorErrorMsg(tls, (*SubstContext)(unsafe.Pointer(pSubst)).FpParse, pCopy)
 			} else {
 				var db uintptr = (*Parse)(unsafe.Pointer((*SubstContext)(unsafe.Pointer(pSubst)).FpParse)).Fdb
-				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 && int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN {
+				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 &&
+					(int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN || (*Expr)(unsafe.Pointer(pCopy)).FiTable != (*SubstContext)(unsafe.Pointer(pSubst)).FiNewTable) {
 					libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(Expr{})))
 					(*Expr)(unsafe.Pointer(bp)).Fop = U8(TK_IF_NULL_ROW)
 					(*Expr)(unsafe.Pointer(bp)).FpLeft = pCopy
@@ -134894,7 +134929,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	for pIdx = (*Table)(unsafe.Pointer(pTab)).FpIndex; pIdx != 0 && Xsqlite3StrICmp(tls, (*Index)(unsafe.Pointer(pIdx)).FzName, zIndexedBy) != 0; pIdx = (*Index)(unsafe.Pointer(pIdx)).FpNext {
 	}
 	if !(pIdx != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+20533, libc.VaList(bp, zIndexedBy, 0))
+		Xsqlite3ErrorMsg(tls, pParse, ts+20580, libc.VaList(bp, zIndexedBy, 0))
 		(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 		return SQLITE_ERROR
 	}
@@ -134977,7 +135012,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 {
 	defer tls.Free(8)
 
 	if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+20551, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+20598, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
 		return 1
 	}
 	return 0
@@ -135106,7 +135141,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		*(*U32)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= U32(SF_CopyCte)
 
 		if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 {
-			Xsqlite3ErrorMsg(tls, pParse, ts+20574, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
+			Xsqlite3ErrorMsg(tls, pParse, ts+20621, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
 			return 2
 		}
 		libc.SetBitFieldPtr16Uint32(pFrom+60+4, uint32(1), 8, 0x100)
@@ -135129,7 +135164,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 					libc.SetBitFieldPtr16Uint32(pItem+60+4, uint32(1), 6, 0x40)
 					if (*Select)(unsafe.Pointer(pRecTerm)).FselFlags&U32(SF_Recursive) != 0 {
 						Xsqlite3ErrorMsg(tls, pParse,
-							ts+20594, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
+							ts+20641, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
 						return 2
 					}
 					*(*U32)(unsafe.Pointer(pRecTerm + 4)) |= U32(SF_Recursive)
@@ -135145,7 +135180,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 			pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior
 		}
 
-		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 20637
+		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 20684
 		pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith
 		(*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 48))
 		if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
@@ -135171,7 +135206,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		pEList = (*Select)(unsafe.Pointer(pLeft)).FpEList
 		if (*Cte)(unsafe.Pointer(pCte)).FpCols != 0 {
 			if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr != (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr {
-				Xsqlite3ErrorMsg(tls, pParse, ts+20660,
+				Xsqlite3ErrorMsg(tls, pParse, ts+20707,
 					libc.VaList(bp+24, (*Cte)(unsafe.Pointer(pCte)).FzName, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr))
 				(*Parse)(unsafe.Pointer(pParse)).FpWith = pSavedWith
 				return 2
@@ -135182,9 +135217,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		Xsqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8)
 		if bMayRecursive != 0 {
 			if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 20698
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 20745
 			} else {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 20732
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 20779
 			}
 			Xsqlite3WalkSelect(tls, pWalker, pSel)
 		}
@@ -135231,7 +135266,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	if (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 {
 		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3DbStrDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias)
 	} else {
-		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+20770, libc.VaList(bp, pFrom))
+		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+20817, libc.VaList(bp, pFrom))
 	}
 	for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 {
 		pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior
@@ -135343,7 +135378,7 @@ __1:
 				return WRC_Abort
 			}
 			if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+20774,
+				Xsqlite3ErrorMsg(tls, pParse, ts+20821,
 					libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 				(*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0)
 				return WRC_Abort
@@ -135362,7 +135397,7 @@ __1:
 				if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW {
 					if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) &&
 						(*Table)(unsafe.Pointer(pTab)).FpSchema != (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema {
-						Xsqlite3ErrorMsg(tls, pParse, ts+20813,
+						Xsqlite3ErrorMsg(tls, pParse, ts+20860,
 							libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName))
 					}
 					(*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, *(*uintptr)(unsafe.Pointer(pTab + 64)), 0)
@@ -135486,7 +135521,7 @@ __3:
 							if pNew != 0 {
 								var pX uintptr = pNew + 8 + uintptr((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1)*32
 
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+20844, libc.VaList(bp+24, zUName))
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+20891, libc.VaList(bp+24, zUName))
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(ENAME_TAB), 0, 0x3)
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(1), 7, 0x80)
 							}
@@ -135551,7 +135586,7 @@ __3:
 								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(pNestedFrom+8+uintptr(j)*32)).FzEName)
 
 							} else {
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+20849,
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+20896,
 									libc.VaList(bp+32, zSchemaName, zTabName, zName))
 
 							}
@@ -135582,9 +135617,9 @@ __3:
 				;
 				if !(tableSeen != 0) {
 					if zTName != 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+20858, libc.VaList(bp+72, zTName))
+						Xsqlite3ErrorMsg(tls, pParse, ts+20905, libc.VaList(bp+72, zTName))
 					} else {
-						Xsqlite3ErrorMsg(tls, pParse, ts+20876, 0)
+						Xsqlite3ErrorMsg(tls, pParse, ts+20923, 0)
 					}
 				}
 			}
@@ -135594,7 +135629,7 @@ __3:
 	}
 	if (*Select)(unsafe.Pointer(p)).FpEList != 0 {
 		if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+20896, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+20943, 0)
 			return WRC_Abort
 		}
 		if elistFlags&U32(EP_HasFunc|EP_Subquery) != U32(0) {
@@ -135732,7 +135767,7 @@ func optimizeAggregateUseOfIndexedExpr(tls *libc.TLS, pParse uintptr, pSelect ui
 	(*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn = (*AggInfo)(unsafe.Pointer(pAggInfo)).FnAccumulator
 	if int32((*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn) > 0 {
 		if (*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn == 0 {
-			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(0)
+			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpGroupBy)).FnExpr)
 		} else {
 			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(int32((*AggInfo_col)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaCol+uintptr((*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn-1)*24)).FiSorterColumn) + 1)
 		}
@@ -135816,13 +135851,13 @@ __1:
 
 			if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != 1 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+20927, 0)
+					ts+20974, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1
 			} else {
 				var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral,
 					(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -8)
-				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20978, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
+				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21025, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
 			}
 		}
 
@@ -136011,11 +136046,11 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt
 
 	if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 {
 		var bCover int32 = libc.Bool32(pIdx != uintptr(0) && ((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0) || !(int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY)))
-		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21011,
+		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21058,
 			libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName,
 				func() uintptr {
 					if bCover != 0 {
-						return ts + 21023
+						return ts + 21070
 					}
 					return ts + 1544
 				}(),
@@ -136343,7 +136378,7 @@ __5:
 		goto __7
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+21046,
+		ts+21093,
 		libc.VaList(bp, func() uintptr {
 			if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 {
 				return (*SrcItem)(unsafe.Pointer(p0)).FzAlias
@@ -136404,7 +136439,7 @@ __14:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+21100,
+	Xsqlite3ErrorMsg(tls, pParse, ts+21147,
 		libc.VaList(bp+8, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr))
 	goto select_end
 __15:
@@ -136546,7 +136581,7 @@ __33:
 
 	(*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21140, libc.VaList(bp+32, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21187, libc.VaList(bp+32, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	libc.SetBitFieldPtr16Uint32(pItem1+60+4, uint32(1), 5, 0x20)
@@ -136605,7 +136640,7 @@ __43:
 	;
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21155, libc.VaList(bp+40, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21202, libc.VaList(bp+40, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	if !(onceAddr != 0) {
@@ -137076,9 +137111,9 @@ __101:
 	explainTempTable(tls, pParse,
 		func() uintptr {
 			if (*DistinctCtx)(unsafe.Pointer(bp+136)).FisTnct != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct) == U32(0) {
-				return ts + 21171
+				return ts + 21218
 			}
-			return ts + 21180
+			return ts + 21227
 		}())
 
 	groupBySort = 1
@@ -137429,7 +137464,7 @@ __65:
 	if !(int32((*DistinctCtx)(unsafe.Pointer(bp+136)).FeTnctType) == WHERE_DISTINCT_UNORDERED) {
 		goto __146
 	}
-	explainTempTable(tls, pParse, ts+21171)
+	explainTempTable(tls, pParse, ts+21218)
 __146:
 	;
 	if !((*SortCtx)(unsafe.Pointer(bp+48)).FpOrderBy != 0) {
@@ -137534,7 +137569,7 @@ __5:
 	}
 	Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg)
 	(*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+21189, 0)
+		ts+21236, 0)
 	(*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 	return 1
 __11:
@@ -137767,7 +137802,7 @@ func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2
 	if !((*Token)(unsafe.Pointer(pName2)).Fn > uint32(0)) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+21254, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+21301, 0)
 	goto trigger_cleanup
 __3:
 	;
@@ -137811,7 +137846,7 @@ __7:
 	goto trigger_cleanup
 __8:
 	;
-	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+21300, *(*uintptr)(unsafe.Pointer(bp + 32)))
+	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+21347, *(*uintptr)(unsafe.Pointer(bp + 32)))
 	if !(Xsqlite3FixSrcList(tls, bp+40, pTableName) != 0) {
 		goto __9
 	}
@@ -137829,7 +137864,7 @@ __10:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB) {
 		goto __11
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+21308, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+21355, 0)
 	goto trigger_orphan_error
 __11:
 	;
@@ -137841,7 +137876,7 @@ __11:
 	goto trigger_cleanup
 __12:
 	;
-	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+21300, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
+	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+21347, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
 		goto __13
 	}
 	goto trigger_cleanup
@@ -137856,11 +137891,12 @@ __13:
 	if !!(noErr != 0) {
 		goto __16
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+21349, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+21396, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
 	goto __17
 __16:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
+
 __17:
 	;
 	goto trigger_cleanup
@@ -137871,19 +137907,19 @@ __14:
 	if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7733, 7) == 0) {
 		goto __18
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+21375, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+21422, 0)
 	goto trigger_cleanup
 __18:
 	;
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW && tr_tm != TK_INSTEAD) {
 		goto __19
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+21413,
+	Xsqlite3ErrorMsg(tls, pParse, ts+21460,
 		libc.VaList(bp+8, func() uintptr {
 			if tr_tm == TK_BEFORE {
-				return ts + 21450
+				return ts + 21497
 			}
-			return ts + 21457
+			return ts + 21504
 		}(), pTableName+8))
 	goto trigger_orphan_error
 __19:
@@ -137892,7 +137928,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+21463, libc.VaList(bp+24, pTableName+8))
+		ts+21510, libc.VaList(bp+24, pTableName+8))
 	goto trigger_orphan_error
 __20:
 	;
@@ -138041,7 +138077,7 @@ __2:
 __3:
 	;
 	Xsqlite3TokenInit(tls, bp+56, (*Trigger)(unsafe.Pointer(pTrig)).FzName)
-	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+21300, bp+56)
+	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+21347, bp+56)
 	if !(Xsqlite3FixTriggerStep(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 ||
 		Xsqlite3FixExpr(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0) {
 		goto __4
@@ -138074,7 +138110,7 @@ __9:
 		goto __12
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+21509,
+		ts+21556,
 		libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrig)).FzName, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget))
 	goto triggerfinish_cleanup
 __12:
@@ -138099,13 +138135,13 @@ __13:
 	z = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pAll)).Fz, uint64((*Token)(unsafe.Pointer(pAll)).Fn))
 
 	Xsqlite3NestedParse(tls, pParse,
-		ts+21557,
+		ts+21604,
 		libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName,
 			(*Trigger)(unsafe.Pointer(pTrig)).Ftable, z))
 	Xsqlite3DbFree(tls, db, z)
 	Xsqlite3ChangeCookie(tls, pParse, iDb)
 	Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb,
-		Xsqlite3MPrintf(tls, db, ts+21632, libc.VaList(bp+48, zName)), uint16(0))
+		Xsqlite3MPrintf(tls, db, ts+21679, libc.VaList(bp+48, zName)), uint16(0))
 __7:
 	;
 __6:
@@ -138361,7 +138397,7 @@ __5:
 	if !!(noErr != 0) {
 		goto __9
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+21661, libc.VaList(bp, pName+8))
+	Xsqlite3ErrorMsg(tls, pParse, ts+21708, libc.VaList(bp, pName+8))
 	goto __10
 __9:
 	Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb)
@@ -138414,7 +138450,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) {
 
 	if libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse)) != uintptr(0) {
 		Xsqlite3NestedParse(tls, pParse,
-			ts+21681,
+			ts+21728,
 			libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Trigger)(unsafe.Pointer(pTrigger)).FzName))
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 		Xsqlite3VdbeAddOp4(tls, v, OP_DropTrigger, iDb, 0, 0, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, 0)
@@ -138528,12 +138564,12 @@ __9:
 		goto __15
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+21743,
+		ts+21790,
 		libc.VaList(bp, func() uintptr {
 			if op == TK_DELETE {
-				return ts + 21791
+				return ts + 21838
 			}
-			return ts + 21798
+			return ts + 21845
 		}()))
 __15:
 	;
@@ -138647,7 +138683,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 {
 	if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK {
 		return 0
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+21805, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+21852, 0)
 	return 1
 }
 
@@ -138713,7 +138749,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab
 	}
 	Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(bp)).FpEList)
 	pNew = sqlite3ExpandReturning(tls, pParse, (*Returning)(unsafe.Pointer(pReturning)).FpReturnEL, pTab)
-	if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) {
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 {
 		libc.Xmemset(tls, bp+240, 0, uint64(unsafe.Sizeof(NameContext{})))
 		if (*Returning)(unsafe.Pointer(pReturning)).FnRetCol == 0 {
 			(*Returning)(unsafe.Pointer(pReturning)).FnRetCol = (*ExprList)(unsafe.Pointer(pNew)).FnExpr
@@ -138877,7 +138913,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt
 	if v != 0 {
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 {
 			Xsqlite3VdbeChangeP4(tls, v, -1,
-				Xsqlite3MPrintf(tls, db, ts+21847, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
+				Xsqlite3MPrintf(tls, db, ts+21894, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
 		}
 
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FpWhen != 0 {
@@ -139470,7 +139506,7 @@ __25:
 	}
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+21861,
+		ts+21908,
 		libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*24)).FzCnName))
 	goto update_cleanup
 __27:
@@ -139502,7 +139538,7 @@ __21:
 	iRowidExpr = i
 	goto __30
 __29:
-	Xsqlite3ErrorMsg(tls, pParse, ts+21897, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
+	Xsqlite3ErrorMsg(tls, pParse, ts+21944, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
 	(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 	goto update_cleanup
 __30:
@@ -139828,7 +139864,12 @@ __74:
 	goto __77
 __76:
 	flags = WHERE_ONEPASS_DESIRED
-	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) && !(pTrigger != 0) && !(hasFK != 0) && !(chngKey != 0) && !(*(*int32)(unsafe.Pointer(bp + 104)) != 0)) {
+	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) &&
+		!(pTrigger != 0) &&
+		!(hasFK != 0) &&
+		!(chngKey != 0) &&
+		!(*(*int32)(unsafe.Pointer(bp + 104)) != 0) &&
+		(*NameContext)(unsafe.Pointer(bp+40)).FncFlags&NC_Subquery == 0) {
 		goto __78
 	}
 	flags = flags | WHERE_ONEPASS_MULTIROW
@@ -140382,7 +140423,7 @@ __168:
 	if !(regRowCount != 0) {
 		goto __169
 	}
-	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+21916)
+	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+21963)
 __169:
 	;
 update_cleanup:
@@ -140688,10 +140729,10 @@ __1:
 			if nClause == 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) {
 				*(*int8)(unsafe.Pointer(bp + 216)) = int8(0)
 			} else {
-				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216, ts+21929, libc.VaList(bp, nClause+1))
+				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216, ts+21976, libc.VaList(bp, nClause+1))
 			}
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+21933, libc.VaList(bp+8, bp+216))
+				ts+21980, libc.VaList(bp+8, bp+216))
 			return SQLITE_ERROR
 		}
 
@@ -140814,7 +140855,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 {
 		var zSubSql uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
 
 		if zSubSql != 0 &&
-			(libc.Xstrncmp(tls, zSubSql, ts+22006, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+22010, uint64(3)) == 0) {
+			(libc.Xstrncmp(tls, zSubSql, ts+22053, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+22057, uint64(3)) == 0) {
 			rc = execSql(tls, db, pzErrMsg, zSubSql)
 			if rc != SQLITE_OK {
 				break
@@ -140962,14 +141003,14 @@ func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p
 	if !!(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) {
 		goto __1
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+22014)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+22061)
 	return SQLITE_ERROR
 __1:
 	;
 	if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) {
 		goto __2
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+22054)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+22101)
 	return SQLITE_ERROR
 __2:
 	;
@@ -140980,7 +141021,7 @@ __2:
 	if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) {
 		goto __5
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+22097)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+22144)
 	return SQLITE_ERROR
 __5:
 	;
@@ -141008,7 +141049,7 @@ __4:
 	isMemDb = Xsqlite3PagerIsMemdb(tls, Xsqlite3BtreePager(tls, pMain))
 
 	nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb
-	rc = execSqlF(tls, db, pzErrMsg, ts+22115, libc.VaList(bp, zOut))
+	rc = execSqlF(tls, db, pzErrMsg, ts+22162, libc.VaList(bp, zOut))
 	(*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags
 	if !(rc != SQLITE_OK) {
 		goto __6
@@ -141028,7 +141069,7 @@ __6:
 		goto __8
 	}
 	rc = SQLITE_ERROR
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+22138)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+22185)
 	goto end_of_vacuum
 __8:
 	;
@@ -141088,7 +141129,7 @@ __12:
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb)
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+22165,
+		ts+22212,
 		libc.VaList(bp+8, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __13
@@ -141097,7 +141138,7 @@ __12:
 __13:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+22273,
+		ts+22320,
 		libc.VaList(bp+16, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __14
@@ -141108,7 +141149,7 @@ __14:
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
 
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+22327,
+		ts+22374,
 		libc.VaList(bp+24, zDbMain))
 
 	*(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))
@@ -141119,7 +141160,7 @@ __14:
 __15:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+22478,
+		ts+22525,
 		libc.VaList(bp+32, zDbMain))
 	if !(rc != 0) {
 		goto __16
@@ -141548,11 +141589,11 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		if pEnd != 0 {
 			(*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32((int64((*Token)(unsafe.Pointer(pEnd)).Fz)-int64((*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz))/1)) + (*Token)(unsafe.Pointer(pEnd)).Fn
 		}
-		zStmt = Xsqlite3MPrintf(tls, db, ts+22608, libc.VaList(bp, pParse+272))
+		zStmt = Xsqlite3MPrintf(tls, db, ts+22655, libc.VaList(bp, pParse+272))
 
 		iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema)
 		Xsqlite3NestedParse(tls, pParse,
-			ts+22632,
+			ts+22679,
 			libc.VaList(bp+8, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
@@ -141562,7 +141603,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 
 		Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
-		zWhere = Xsqlite3MPrintf(tls, db, ts+22731, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
+		zWhere = Xsqlite3MPrintf(tls, db, ts+22778, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
 		Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0))
 		Xsqlite3DbFree(tls, db, zStmt)
 
@@ -141623,7 +141664,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	for pCtx = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx; pCtx != 0; pCtx = (*VtabCtx)(unsafe.Pointer(pCtx)).FpPrior {
 		if (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db,
-				ts+22750, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
+				ts+22797, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 			return SQLITE_LOCKED
 		}
 	}
@@ -141651,9 +141692,11 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FbDeclared = 0
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32
+	(*Table)(unsafe.Pointer(pTab)).FnTabRef++
 	rc = (*struct {
 		f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32
 	})(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+64)
+	Xsqlite3DeleteTable(tls, db, pTab)
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior
 	if rc == SQLITE_NOMEM {
 		Xsqlite3OomFault(tls, db)
@@ -141661,7 +141704,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 
 	if SQLITE_OK != rc {
 		if *(*uintptr)(unsafe.Pointer(bp + 64)) == uintptr(0) {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+22792, libc.VaList(bp+8, zModuleName))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+22839, libc.VaList(bp+8, zModuleName))
 		} else {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+4493, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64))))
 			Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
@@ -141673,7 +141716,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 		(*Module)(unsafe.Pointer(pMod)).FnRefModule++
 		(*VTable)(unsafe.Pointer(pVTable)).FnRef = 1
 		if (*VtabCtx)(unsafe.Pointer(bp+32)).FbDeclared == 0 {
-			var zFormat uintptr = ts + 22822
+			var zFormat uintptr = ts + 22869
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName))
 			Xsqlite3VtabUnlock(tls, pVTable)
 			rc = SQLITE_ERROR
@@ -141747,7 +141790,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32
 
 	if !(pMod != 0) {
 		var zModule uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pTab + 64 + 8))))
-		Xsqlite3ErrorMsg(tls, pParse, ts+22868, libc.VaList(bp, zModule))
+		Xsqlite3ErrorMsg(tls, pParse, ts+22915, libc.VaList(bp, zModule))
 		rc = SQLITE_ERROR
 	} else {
 		*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
@@ -141805,7 +141848,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr,
 	pMod = Xsqlite3HashFind(tls, db+576, zMod)
 
 	if pMod == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+22868, libc.VaList(bp, zMod))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+22915, libc.VaList(bp, zMod))
 		rc = SQLITE_ERROR
 	} else {
 		rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr)
@@ -141839,7 +141882,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3
 	if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
 		Xsqlite3Error(tls, db, SQLITE_MISUSE)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
-		return Xsqlite3MisuseError(tls, 151030)
+		return Xsqlite3MisuseError(tls, 151102)
 	}
 	pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab
 
@@ -142292,7 +142335,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	if !(p != 0) {
-		rc = Xsqlite3MisuseError(tls, 151521)
+		rc = Xsqlite3MisuseError(tls, 151593)
 	} else {
 		ap = va
 		switch op {
@@ -142319,7 +142362,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 			fallthrough
 		default:
 			{
-				rc = Xsqlite3MisuseError(tls, 151539)
+				rc = Xsqlite3MisuseError(tls, 151611)
 				break
 
 			}
@@ -142550,7 +142593,7 @@ type InLoop = struct {
 func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr {
 	i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2)))
 	if i == -2 {
-		return ts + 22887
+		return ts + 22934
 	}
 	if i == -1 {
 		return ts + 17625
@@ -142562,11 +142605,11 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	var i int32
 
 	if bAnd != 0 {
-		Xsqlite3_str_append(tls, pStr, ts+22894, 5)
+		Xsqlite3_str_append(tls, pStr, ts+22941, 5)
 	}
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+22900, 1)
+		Xsqlite3_str_append(tls, pStr, ts+22947, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -142581,7 +142624,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	Xsqlite3_str_append(tls, pStr, zOp, 1)
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+22900, 1)
+		Xsqlite3_str_append(tls, pStr, ts+22947, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -142607,27 +142650,27 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) {
 	if int32(nEq) == 0 && (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT|WHERE_TOP_LIMIT) == U32(0) {
 		return
 	}
-	Xsqlite3_str_append(tls, pStr, ts+22902, 2)
+	Xsqlite3_str_append(tls, pStr, ts+22949, 2)
 	for i = 0; i < int32(nEq); i++ {
 		var z uintptr = explainIndexColumnName(tls, pIndex, i)
 		if i != 0 {
-			Xsqlite3_str_append(tls, pStr, ts+22894, 5)
+			Xsqlite3_str_append(tls, pStr, ts+22941, 5)
 		}
 		Xsqlite3_str_appendf(tls, pStr, func() uintptr {
 			if i >= int32(nSkip) {
-				return ts + 22905
+				return ts + 22952
 			}
-			return ts + 22910
+			return ts + 22957
 		}(), libc.VaList(bp, z))
 	}
 
 	j = i
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+22918)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+22965)
 		i = 1
 	}
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_TOP_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+22920)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+22967)
 	}
 	Xsqlite3_str_append(tls, pStr, ts+6309, 1)
 }
@@ -142670,11 +142713,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 
 		Xsqlite3StrAccumInit(tls, bp+64, db, bp+96, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 		(*StrAccum)(unsafe.Pointer(bp + 64)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-		Xsqlite3_str_appendf(tls, bp+64, ts+22922, libc.VaList(bp, func() uintptr {
+		Xsqlite3_str_appendf(tls, bp+64, ts+22969, libc.VaList(bp, func() uintptr {
 			if isSearch != 0 {
-				return ts + 22928
+				return ts + 22975
 			}
-			return ts + 22935
+			return ts + 22982
 		}(), pItem))
 		if flags&U32(WHERE_IPK|WHERE_VIRTUALTABLE) == U32(0) {
 			var zFmt uintptr = uintptr(0)
@@ -142687,40 +142730,40 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 					zFmt = ts + 12328
 				}
 			} else if flags&U32(WHERE_PARTIALIDX) != 0 {
-				zFmt = ts + 22940
+				zFmt = ts + 22987
 			} else if flags&U32(WHERE_AUTO_INDEX) != 0 {
-				zFmt = ts + 22973
+				zFmt = ts + 23020
 			} else if flags&U32(WHERE_IDX_ONLY) != 0 {
-				zFmt = ts + 22998
+				zFmt = ts + 23045
 			} else {
-				zFmt = ts + 23016
+				zFmt = ts + 23063
 			}
 			if zFmt != 0 {
-				Xsqlite3_str_append(tls, bp+64, ts+23025, 7)
+				Xsqlite3_str_append(tls, bp+64, ts+23072, 7)
 				Xsqlite3_str_appendf(tls, bp+64, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName))
 				explainIndexRange(tls, bp+64, pLoop)
 			}
 		} else if flags&U32(WHERE_IPK) != U32(0) && flags&U32(WHERE_CONSTRAINT) != U32(0) {
 			var cRangeOp int8
 			var zRowid uintptr = ts + 17625
-			Xsqlite3_str_appendf(tls, bp+64, ts+23033, libc.VaList(bp+24, zRowid))
+			Xsqlite3_str_appendf(tls, bp+64, ts+23080, libc.VaList(bp+24, zRowid))
 			if flags&U32(WHERE_COLUMN_EQ|WHERE_COLUMN_IN) != 0 {
 				cRangeOp = int8('=')
 			} else if flags&U32(WHERE_BOTH_LIMIT) == U32(WHERE_BOTH_LIMIT) {
-				Xsqlite3_str_appendf(tls, bp+64, ts+23064, libc.VaList(bp+32, zRowid))
+				Xsqlite3_str_appendf(tls, bp+64, ts+23111, libc.VaList(bp+32, zRowid))
 				cRangeOp = int8('<')
 			} else if flags&U32(WHERE_BTM_LIMIT) != 0 {
 				cRangeOp = int8('>')
 			} else {
 				cRangeOp = int8('<')
 			}
-			Xsqlite3_str_appendf(tls, bp+64, ts+23074, libc.VaList(bp+40, int32(cRangeOp)))
+			Xsqlite3_str_appendf(tls, bp+64, ts+23121, libc.VaList(bp+40, int32(cRangeOp)))
 		} else if flags&U32(WHERE_VIRTUALTABLE) != U32(0) {
-			Xsqlite3_str_appendf(tls, bp+64, ts+23079,
+			Xsqlite3_str_appendf(tls, bp+64, ts+23126,
 				libc.VaList(bp+48, *(*int32)(unsafe.Pointer(pLoop + 24)), *(*uintptr)(unsafe.Pointer(pLoop + 24 + 16))))
 		}
 		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&JT_LEFT != 0 {
-			Xsqlite3_str_appendf(tls, bp+64, ts+23106, 0)
+			Xsqlite3_str_appendf(tls, bp+64, ts+23153, 0)
 		}
 		zMsg = Xsqlite3StrAccumFinish(tls, bp+64)
 
@@ -142752,22 +142795,22 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp
 
 	Xsqlite3StrAccumInit(tls, bp+24, db, bp+56, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 	(*StrAccum)(unsafe.Pointer(bp + 24)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-	Xsqlite3_str_appendf(tls, bp+24, ts+23117, libc.VaList(bp, pItem))
+	Xsqlite3_str_appendf(tls, bp+24, ts+23164, libc.VaList(bp, pItem))
 	pLoop = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_IPK) != 0 {
 		var pTab uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FpTab
 		if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 {
-			Xsqlite3_str_appendf(tls, bp+24, ts+22905, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
+			Xsqlite3_str_appendf(tls, bp+24, ts+22952, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
 		} else {
-			Xsqlite3_str_appendf(tls, bp+24, ts+23138, 0)
+			Xsqlite3_str_appendf(tls, bp+24, ts+23185, 0)
 		}
 	} else {
 		for i = int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip); i < int32(*(*U16)(unsafe.Pointer(pLoop + 24))); i++ {
 			var z uintptr = explainIndexColumnName(tls, *(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)), i)
 			if i > int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip) {
-				Xsqlite3_str_append(tls, bp+24, ts+22894, 5)
+				Xsqlite3_str_append(tls, bp+24, ts+22941, 5)
 			}
-			Xsqlite3_str_appendf(tls, bp+24, ts+22905, libc.VaList(bp+16, z))
+			Xsqlite3_str_appendf(tls, bp+24, ts+22952, libc.VaList(bp+16, z))
 		}
 	}
 	Xsqlite3_str_append(tls, bp+24, ts+6309, 1)
@@ -144364,7 +144407,7 @@ __134:
 	;
 __126:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+23146, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+23193, 0)
 	ii = 0
 __135:
 	if !(ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm) {
@@ -144392,7 +144435,7 @@ __139:
 	pOrExpr = pAndExpr
 __140:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+23161, libc.VaList(bp, ii+1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+23208, libc.VaList(bp, ii+1))
 
 	pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0),
 		uint16(WHERE_OR_SUBCLAUSE), iCovCur)
@@ -144910,7 +144953,7 @@ func Xsqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
 	var mAll Bitmask = uint64(0)
 	var k int32
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+23170, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+23217, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
 
 	for k = 0; k < iLevel; k++ {
 		var iIdxCur int32
@@ -145271,7 +145314,7 @@ var aOp = [4]Op2{
 	{FzOp: ts + 17474, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)},
 	{FzOp: ts + 16804, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)},
 	{FzOp: ts + 16324, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)},
-	{FzOp: ts + 23184, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
+	{FzOp: ts + 23231, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
 }
 
 func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) {
@@ -145761,12 +145804,12 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			extraRight = x - uint64(1)
 
 			if prereqAll>>1 >= x {
-				Xsqlite3ErrorMsg(tls, pParse, ts+23191, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+23238, 0)
 				return
 			}
 		} else if prereqAll>>1 >= x {
 			if (*SrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*SrcItem)(unsafe.Pointer(pSrc+8)).Ffg.Fjointype)&JT_LTORJ != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+23191, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+23238, 0)
 				return
 			}
 			*(*U32)(unsafe.Pointer(pExpr + 4)) &= libc.Uint32FromInt32(libc.CplInt32(EP_InnerON))
@@ -145845,7 +145888,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_OuterON) != U32(0)) &&
 			0 == Xsqlite3ExprCanBeNull(tls, pLeft) {
 			(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
-			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 8121
+			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 9051
 			*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0)
@@ -145939,7 +145982,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 		}
 		zCollSeqName = func() uintptr {
 			if *(*int32)(unsafe.Pointer(bp + 20)) != 0 {
-				return ts + 23232
+				return ts + 23279
 			}
 			return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))
 		}()
@@ -146315,7 +146358,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 			k++
 		}
 		if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+23239,
+			Xsqlite3ErrorMsg(tls, pParse, ts+23286,
 				libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j))
 			return
 		}
@@ -146331,7 +146374,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 		pRhs = Xsqlite3PExpr(tls, pParse, TK_UPLUS,
 			Xsqlite3ExprDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*ExprList_item)(unsafe.Pointer(pArgs+8+uintptr(j)*32)).FpExpr, 0), uintptr(0))
 		pTerm = Xsqlite3PExpr(tls, pParse, TK_EQ, pColRef, pRhs)
-		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ) != 0 {
+		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ|JT_RIGHT) != 0 {
 			joinType = U32(EP_OuterON)
 		} else {
 			joinType = U32(EP_InnerON)
@@ -147049,7 +147092,7 @@ __4:
 		goto __6
 	}
 	Xsqlite3_log(tls, SQLITE_WARNING|int32(1)<<8,
-		ts+23275, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
+		ts+23322, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
 			(*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*24)).FzCnName))
 	sentWarning = U8(1)
 __6:
@@ -147120,7 +147163,7 @@ __13:
 __14:
 	;
 	*(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)) = pIdx
-	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 23301
+	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 23348
 	(*Index)(unsafe.Pointer(pIdx)).FpTable = pTable
 	n = 0
 	idxCols = uint64(0)
@@ -147294,6 +147337,10 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 	var pLoop uintptr = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	var iCur int32
+	var saved_pIdxEpr uintptr
+
+	saved_pIdxEpr = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = uintptr(0)
 
 	addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once)
 	for __ccgo := true; __ccgo; __ccgo = iLevel < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel) {
@@ -147337,9 +147384,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 			var r1 int32 = Xsqlite3GetTempRange(tls, pParse, n)
 			var jj int32
 			for jj = 0; jj < n; jj++ {
-				var iCol int32 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(jj)*2)))
-
-				Xsqlite3ExprCodeGetColumnOfTable(tls, v, (*Index)(unsafe.Pointer(pIdx)).FpTable, iCur, iCol, r1+jj)
+				Xsqlite3ExprCodeLoadIndexColumn(tls, pParse, pIdx, iCur, jj, r1+jj)
 			}
 			Xsqlite3VdbeAddOp4Int(tls, v, OP_FilterAdd, (*WhereLevel)(unsafe.Pointer(pLevel)).FregFilter, 0, r1, n)
 			Xsqlite3ReleaseTempRange(tls, pParse, r1, n)
@@ -147373,6 +147418,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 		}
 	}
 	Xsqlite3VdbeJumpHere(tls, v, addrOnce)
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = saved_pIdxEpr
 }
 
 func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr {
@@ -147631,11 +147677,16 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro
 
 	_ = pParse
 
+	if !((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) && int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol)
+	} else {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnColumn)
+	}
 	nField = func() int32 {
-		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < (*Index)(unsafe.Pointer(pIdx)).FnSample {
+		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < nField {
 			return int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField)
 		}
-		return (*Index)(unsafe.Pointer(pIdx)).FnSample
+		return nField
 	}()
 	iCol = 0
 	iSample = (*Index)(unsafe.Pointer(pIdx)).FnSample * nField
@@ -149216,7 +149267,7 @@ __4:
 				j >= (*WhereClause)(unsafe.Pointer(pWC)).FnTerm ||
 				*(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) ||
 				int32((*sqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+23312, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+				Xsqlite3ErrorMsg(tls, pParse, ts+23359, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 				return SQLITE_ERROR
 			}
@@ -149274,7 +149325,7 @@ __6:
 	(*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm = U16(mxTerm + 1)
 	for i = 0; i <= mxTerm; i++ {
 		if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+23312, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+			Xsqlite3ErrorMsg(tls, pParse, ts+23359, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 			return SQLITE_ERROR
 		}
@@ -149672,7 +149723,7 @@ __1:
 		mPrior = mPrior | (*WhereLoop)(unsafe.Pointer(pNew)).FmaskSelf
 		if rc != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 			if rc == SQLITE_DONE {
-				Xsqlite3_log(tls, SQLITE_WARNING, ts+23338, 0)
+				Xsqlite3_log(tls, SQLITE_WARNING, ts+23385, 0)
 				rc = SQLITE_OK
 			} else {
 				goto __3
@@ -150279,7 +150330,7 @@ __3:
 	}
 
 	if nFrom == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23373, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+23420, 0)
 		Xsqlite3DbFreeNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pSpace)
 		return SQLITE_ERROR
 	}
@@ -150314,6 +150365,10 @@ __3:
 			if int32((*WherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*ExprList)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr {
 				(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_ORDERED)
 			}
+			if (*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 &&
+				int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr {
+				(*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = I8((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr)
+			}
 		} else {
 			(*WhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*WherePath)(unsafe.Pointer(pFrom)).FrevLoop
 			if int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 {
@@ -150608,6 +150663,9 @@ func whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur in
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCur = iIdxCur
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCol = i
 		(*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow = U8(bMaybeNullRow)
+		if Xsqlite3IndexAffinityStr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pIdx) != 0 {
+			(*IndexedExpr)(unsafe.Pointer(p)).Faff = U8(*(*int8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(i))))
+		}
 		(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = p
 		if (*IndexedExpr)(unsafe.Pointer(p)).FpIENext == uintptr(0) {
 			Xsqlite3ParserAddCleanup(tls, pParse, *(*uintptr)(unsafe.Pointer(&struct {
@@ -150760,7 +150818,7 @@ __1:
 	if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+23391, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+23438, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
 	return uintptr(0)
 __2:
 	;
@@ -150824,7 +150882,7 @@ __6:
 	(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE)
 __7:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+23419, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+23466, 0)
 	goto __5
 __4:
 	ii = 0
@@ -151706,7 +151764,7 @@ __1:
 
 error_out:
 	Xsqlite3_result_error(tls,
-		pCtx, ts+23437, -1)
+		pCtx, ts+23484, -1)
 }
 
 func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
@@ -151839,7 +151897,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 			(*NtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 			if (*NtileCtx)(unsafe.Pointer(p)).FnParam <= int64(0) {
 				Xsqlite3_result_error(tls,
-					pCtx, ts+23493, -1)
+					pCtx, ts+23540, -1)
 			}
 		}
 		(*NtileCtx)(unsafe.Pointer(p)).FnTotal++
@@ -151929,17 +151987,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
 	}
 }
 
-var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 23538))
-var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 23549))
-var rankName = *(*[5]int8)(unsafe.Pointer(ts + 23560))
-var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 23565))
-var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 23578))
-var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 23588))
-var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 23594))
-var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 23605))
-var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 23615))
-var leadName = *(*[5]int8)(unsafe.Pointer(ts + 23627))
-var lagName = *(*[4]int8)(unsafe.Pointer(ts + 23632))
+var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 23585))
+var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 23596))
+var rankName = *(*[5]int8)(unsafe.Pointer(ts + 23607))
+var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 23612))
+var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 23625))
+var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 23635))
+var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 23641))
+var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 23652))
+var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 23662))
+var leadName = *(*[5]int8)(unsafe.Pointer(ts + 23674))
+var lagName = *(*[4]int8)(unsafe.Pointer(ts + 23679))
 
 func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) {
 	_ = p
@@ -151985,7 +152043,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin
 		}
 	}
 	if p == uintptr(0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23636, libc.VaList(bp, zName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+23683, libc.VaList(bp, zName))
 	}
 	return p
 }
@@ -152029,12 +152087,12 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin
 		((*Window)(unsafe.Pointer(pWin)).FpStart != 0 || (*Window)(unsafe.Pointer(pWin)).FpEnd != 0) &&
 		((*Window)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*ExprList)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != 1) {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+23655, 0)
+			ts+23702, 0)
 	} else if (*FuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
 		if (*Window)(unsafe.Pointer(pWin)).FpFilter != 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+23726, 0)
+				ts+23773, 0)
 		} else {
 			*(*[8]WindowUpdate)(unsafe.Pointer(bp)) = [8]WindowUpdate{
 				{FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT},
@@ -152263,7 +152321,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr
 
 	if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) {
 		Xsqlite3ErrorMsg(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse,
-			ts+23789, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
+			ts+23836, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
 	}
 	return WRC_Continue
 }
@@ -152379,7 +152437,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 {
 
 		if *(*uintptr)(unsafe.Pointer(bp + 48)) == uintptr(0) {
 			*(*uintptr)(unsafe.Pointer(bp + 48)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0),
-				Xsqlite3Expr(tls, db, TK_INTEGER, ts+8882))
+				Xsqlite3Expr(tls, db, TK_INTEGER, ts+8871))
 		}
 
 		pSub = Xsqlite3SelectNew(tls,
@@ -152494,7 +152552,7 @@ __1:
 		eStart == TK_FOLLOWING && (eEnd == TK_PRECEDING || eEnd == TK_CURRENT)) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+23815, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+23862, 0)
 	goto windowAllocErr
 __2:
 	;
@@ -152559,15 +152617,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint
 			var zErr uintptr = uintptr(0)
 
 			if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 {
-				zErr = ts + 23847
+				zErr = ts + 23894
 			} else if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0 {
-				zErr = ts + 23864
+				zErr = ts + 23911
 			} else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 {
-				zErr = ts + 23880
+				zErr = ts + 23927
 			}
 			if zErr != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23900, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
+					ts+23947, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
 			} else {
 				(*Window)(unsafe.Pointer(pWin)).FpPartition = Xsqlite3ExprListDup(tls, db, (*Window)(unsafe.Pointer(pExist)).FpPartition, 0)
 				if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 {
@@ -152588,7 +152646,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr
 		(*Window)(unsafe.Pointer(pWin)).FpOwner = p
 		if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Distinct) != 0 && int32((*Window)(unsafe.Pointer(pWin)).FeFrmType) != TK_FILTER {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+23933, 0)
+				ts+23980, 0)
 		}
 	} else {
 		Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin)
@@ -152744,11 +152802,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) {
 }
 
 var azErr = [5]uintptr{
-	ts + 23980,
-	ts + 24033,
-	ts + 23437,
-	ts + 24084,
-	ts + 24136,
+	ts + 24027,
+	ts + 24080,
+	ts + 23484,
+	ts + 24131,
+	ts + 24183,
 }
 var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge}
 
@@ -154143,19 +154201,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) {
 			}
 			cnt++
 			if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*Select)(unsafe.Pointer(pLoop)).FpLimit != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+24186,
+				Xsqlite3ErrorMsg(tls, pParse, ts+24233,
 					libc.VaList(bp, func() uintptr {
 						if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) {
-							return ts + 24228
+							return ts + 24275
 						}
-						return ts + 24237
+						return ts + 24284
 					}(),
 						Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(pNext)).Fop))))
 				break
 			}
 		}
 		if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_MultiValue) == U32(0) && libc.AssignInt32(&mxSelect, *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 4*4))) > 0 && cnt > mxSelect {
-			Xsqlite3ErrorMsg(tls, pParse, ts+24243, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+24290, 0)
 		}
 	}
 
@@ -154223,7 +154281,7 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT
 	var p uintptr = Xsqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0))
 	if (hasCollate != 0 || sortOrder != -1) &&
 		int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+24277,
+		Xsqlite3ErrorMsg(tls, pParse, ts+24324,
 			libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz))
 	}
 	Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1)
@@ -155320,7 +155378,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) {
 		yy_pop_parser_stack(tls, yypParser)
 	}
 
-	Xsqlite3ErrorMsg(tls, pParse, ts+24315, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+24362, 0)
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
 }
@@ -156299,7 +156357,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(TF_WithoutRowid | TF_NoVisibleRowid)
 				} else {
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+24337, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+24384, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			break
@@ -156309,7 +156367,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(TF_Strict)
 				} else {
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+24337, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+24384, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			*(*U32)(unsafe.Pointer(yymsp + 8)) = *(*U32)(unsafe.Pointer(bp + 40))
@@ -157052,7 +157110,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 		case uint32(157):
 			{
 				Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8)), yymsp+libc.UintptrFromInt32(-4)*24+8)
-				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+24364)
+				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+24411)
 				if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) != 0 {
 					var pFromClause uintptr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8))
 					if (*SrcList)(unsafe.Pointer(pFromClause)).FnSrc > 1 {
@@ -157216,7 +157274,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*Token)(unsafe.Pointer(bp + 128)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 
 					if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+24373, libc.VaList(bp+32, bp+128))
+						Xsqlite3ErrorMsg(tls, pParse, ts+24420, libc.VaList(bp+32, bp+128))
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0)
 					} else {
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0))
@@ -157433,9 +157491,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					Xsqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
 					*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_STRING, func() uintptr {
 						if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8)) != 0 {
-							return ts + 8116
+							return ts + 9046
 						}
-						return ts + 8121
+						return ts + 9051
 					}())
 					if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) != 0 {
 						Xsqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
@@ -157719,19 +157777,19 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 			{
 				*(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+24397, 0)
+					ts+24444, 0)
 			}
 			break
 		case uint32(271):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+24492, 0)
+					ts+24539, 0)
 			}
 			break
 		case uint32(272):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+24576, 0)
+					ts+24623, 0)
 			}
 			break
 		case uint32(273):
@@ -158110,9 +158168,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To
 
 	_ = yymajor
 	if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8)).Fz)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+24373, libc.VaList(bp, bp+8))
+		Xsqlite3ErrorMsg(tls, pParse, ts+24420, libc.VaList(bp, bp+8))
 	} else {
-		Xsqlite3ErrorMsg(tls, pParse, ts+24661, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+24708, 0)
 	}
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
@@ -158880,7 +158938,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 			} else {
 				(*Token)(unsafe.Pointer(bp + 2464)).Fz = zSql
 				(*Token)(unsafe.Pointer(bp + 2464)).Fn = uint32(n)
-				Xsqlite3ErrorMsg(tls, pParse, ts+24678, libc.VaList(bp, bp+2464))
+				Xsqlite3ErrorMsg(tls, pParse, ts+24725, libc.VaList(bp, bp+2464))
 				break
 			}
 		}
@@ -158903,7 +158961,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 		if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) {
 			(*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+4493, libc.VaList(bp+8, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc)))
 		}
-		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+24703, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
+		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+24750, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
 		nErr++
 	}
 	(*Parse)(unsafe.Pointer(pParse)).FzTail = zSql
@@ -159076,7 +159134,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'C':
 						{
-							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+24714, 6) == 0 {
+							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+24761, 6) == 0 {
 								token = U8(TkCREATE)
 							} else {
 								token = U8(TkOTHER)
@@ -159089,11 +159147,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'T':
 						{
-							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+21300, 7) == 0 {
+							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+21347, 7) == 0 {
 								token = U8(TkTRIGGER)
-							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+24721, 4) == 0 {
+							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+24768, 4) == 0 {
 								token = U8(TkTEMP)
-							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+24726, 9) == 0 {
+							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+24773, 9) == 0 {
 								token = U8(TkTEMP)
 							} else {
 								token = U8(TkOTHER)
@@ -159106,9 +159164,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'E':
 						{
-							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+24736, 3) == 0 {
+							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+24783, 3) == 0 {
 								token = U8(TkEND)
-							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+24740, 7) == 0 {
+							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+24787, 7) == 0 {
 								token = U8(TkEXPLAIN)
 							} else {
 								token = U8(TkOTHER)
@@ -159342,7 +159400,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 {
 	var rc int32 = SQLITE_OK
 
 	if Xsqlite3Config.FisInit != 0 {
-		return Xsqlite3MisuseError(tls, 174337)
+		return Xsqlite3MisuseError(tls, 174426)
 	}
 
 	ap = va
@@ -159917,7 +159975,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 		return SQLITE_OK
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 175111)
+		return Xsqlite3MisuseError(tls, 175200)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 {
@@ -159932,7 +159990,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 
 	if !(forceZombie != 0) && connectionIsBusy(tls, db) != 0 {
 		Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-			ts+24748, 0)
+			ts+24795, 0)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		return SQLITE_BUSY
 	}
@@ -160123,23 +160181,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) {
 // Return a static string that describes the kind of error specified in the
 // argument.
 func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
-	var zErr uintptr = ts + 24816
+	var zErr uintptr = ts + 24863
 	switch rc {
 	case SQLITE_ABORT | int32(2)<<8:
 		{
-			zErr = ts + 24830
+			zErr = ts + 24877
 			break
 
 		}
 	case SQLITE_ROW:
 		{
-			zErr = ts + 24852
+			zErr = ts + 24899
 			break
 
 		}
 	case SQLITE_DONE:
 		{
-			zErr = ts + 24874
+			zErr = ts + 24921
 			break
 
 		}
@@ -160157,35 +160215,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
 }
 
 var aMsg = [29]uintptr{
-	ts + 24897,
-	ts + 24910,
+	ts + 24944,
+	ts + 24957,
 	uintptr(0),
-	ts + 24926,
-	ts + 24951,
-	ts + 24965,
-	ts + 24984,
+	ts + 24973,
+	ts + 24998,
+	ts + 25012,
+	ts + 25031,
 	ts + 1480,
-	ts + 25009,
-	ts + 25046,
-	ts + 25058,
-	ts + 25073,
-	ts + 25106,
-	ts + 25124,
-	ts + 25149,
-	ts + 25178,
+	ts + 25056,
+	ts + 25093,
+	ts + 25105,
+	ts + 25120,
+	ts + 25153,
+	ts + 25171,
+	ts + 25196,
+	ts + 25225,
 	uintptr(0),
 	ts + 7190,
 	ts + 6686,
-	ts + 25195,
-	ts + 25213,
-	ts + 25231,
+	ts + 25242,
+	ts + 25260,
+	ts + 25278,
 	uintptr(0),
-	ts + 25265,
-	uintptr(0),
-	ts + 25286,
 	ts + 25312,
-	ts + 25335,
-	ts + 25356,
+	uintptr(0),
+	ts + 25333,
+	ts + 25359,
+	ts + 25382,
+	ts + 25403,
 }
 
 func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 {
@@ -160306,7 +160364,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 		libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) ||
 		(nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) ||
 		255 < Xsqlite3Strlen30(tls, zFunctionName) {
-		return Xsqlite3MisuseError(tls, 175758)
+		return Xsqlite3MisuseError(tls, 175847)
 	}
 
 	extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS)
@@ -160351,7 +160409,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 	if p != 0 && (*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK) == U32(enc) && int32((*FuncDef)(unsafe.Pointer(p)).FnArg) == nArg {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+25372, 0)
+				ts+25419, 0)
 
 			return SQLITE_BUSY
 		} else {
@@ -160468,7 +160526,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs
 	_ = NotUsed
 	_ = NotUsed2
 	zErr = Xsqlite3_mprintf(tls,
-		ts+25435, libc.VaList(bp, zName))
+		ts+25482, libc.VaList(bp, zName))
 	Xsqlite3_result_error(tls, context, zErr, -1)
 	Xsqlite3_free(tls, zErr)
 }
@@ -160704,7 +160762,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
 	}
 	if iDb < 0 {
 		rc = SQLITE_ERROR
-		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+25486, libc.VaList(bp, zDb))
+		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+25533, libc.VaList(bp, zDb))
 	} else {
 		(*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0
 		rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt)
@@ -160797,7 +160855,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr {
 		return Xsqlite3ErrStr(tls, SQLITE_NOMEM)
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176503))
+		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176592))
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -160867,7 +160925,7 @@ var misuse = [34]U16{
 // passed to this function, we assume a malloc() failed during sqlite3_open().
 func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176582)
+		return Xsqlite3MisuseError(tls, 176671)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -160877,7 +160935,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 
 func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176591)
+		return Xsqlite3MisuseError(tls, 176680)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -160909,14 +160967,14 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint
 		enc2 = SQLITE_UTF16LE
 	}
 	if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE {
-		return Xsqlite3MisuseError(tls, 176639)
+		return Xsqlite3MisuseError(tls, 176728)
 	}
 
 	pColl = Xsqlite3FindCollSeq(tls, db, U8(enc2), zName, 0)
 	if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+25507, 0)
+				ts+25554, 0)
 			return SQLITE_BUSY
 		}
 		Xsqlite3ExpirePreparedStatements(tls, db, 0)
@@ -161046,7 +161104,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u
 
 	if !((flags&uint32(SQLITE_OPEN_URI) != 0 ||
 		Xsqlite3Config.FbOpenUri != 0) &&
-		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+25575, uint64(5)) == 0) {
+		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+25622, uint64(5)) == 0) {
 		goto __1
 	}
 	iOut = 0
@@ -161091,10 +161149,10 @@ __8:
 	goto __8
 __9:
 	;
-	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+25581, zUri+7, uint64(9)) != 0)) {
+	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+25628, zUri+7, uint64(9)) != 0)) {
 		goto __10
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+25591,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+25638,
 		libc.VaList(bp, iIn-7, zUri+7))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
@@ -161199,7 +161257,7 @@ __27:
 	zVal = zOpt + uintptr(nOpt+1)
 	nVal = Xsqlite3Strlen30(tls, zVal)
 
-	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+25619, zOpt, uint64(3)) == 0) {
+	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+25666, zOpt, uint64(3)) == 0) {
 		goto __29
 	}
 	zVfs = zVal
@@ -161210,17 +161268,17 @@ __29:
 	mask = 0
 	limit = 0
 
-	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+25623, zOpt, uint64(5)) == 0) {
+	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+25670, zOpt, uint64(5)) == 0) {
 		goto __31
 	}
 
 	mask = SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE
 	aMode = uintptr(unsafe.Pointer(&aCacheMode))
 	limit = mask
-	zModeType = ts + 25623
+	zModeType = ts + 25670
 __31:
 	;
-	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+25629, zOpt, uint64(4)) == 0) {
+	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+25676, zOpt, uint64(4)) == 0) {
 		goto __32
 	}
 
@@ -161228,7 +161286,7 @@ __31:
 		SQLITE_OPEN_CREATE | SQLITE_OPEN_MEMORY
 	aMode = uintptr(unsafe.Pointer(&aOpenMode))
 	limit = int32(uint32(mask) & flags)
-	zModeType = ts + 25634
+	zModeType = ts + 25681
 __32:
 	;
 	if !(aMode != 0) {
@@ -161258,7 +161316,7 @@ __36:
 	if !(mode == 0) {
 		goto __38
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+25641, libc.VaList(bp+16, zModeType, zVal))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+25688, libc.VaList(bp+16, zModeType, zVal))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
 __38:
@@ -161266,7 +161324,7 @@ __38:
 	if !(mode&libc.CplInt32(SQLITE_OPEN_MEMORY) > limit) {
 		goto __39
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+25661,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+25708,
 		libc.VaList(bp+32, zModeType, zVal))
 	rc = SQLITE_PERM
 	goto parse_uri_out
@@ -161306,7 +161364,7 @@ __2:
 	if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) {
 		goto __42
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+25685, libc.VaList(bp+48, zVfs))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+25732, libc.VaList(bp+48, zVfs))
 	rc = SQLITE_ERROR
 __42:
 	;
@@ -161330,14 +161388,14 @@ type OpenMode = struct {
 }
 
 var aCacheMode = [3]OpenMode{
-	{Fz: ts + 25701, Fmode: SQLITE_OPEN_SHAREDCACHE},
-	{Fz: ts + 25708, Fmode: SQLITE_OPEN_PRIVATECACHE},
+	{Fz: ts + 25748, Fmode: SQLITE_OPEN_SHAREDCACHE},
+	{Fz: ts + 25755, Fmode: SQLITE_OPEN_PRIVATECACHE},
 	{},
 }
 var aOpenMode = [5]OpenMode{
-	{Fz: ts + 25716, Fmode: SQLITE_OPEN_READONLY},
-	{Fz: ts + 25719, Fmode: SQLITE_OPEN_READWRITE},
-	{Fz: ts + 25722, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
+	{Fz: ts + 25763, Fmode: SQLITE_OPEN_READONLY},
+	{Fz: ts + 25766, Fmode: SQLITE_OPEN_READWRITE},
+	{Fz: ts + 25769, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
 	{Fz: ts + 18731, Fmode: SQLITE_OPEN_MEMORY},
 	{},
 }
@@ -161484,10 +161542,10 @@ __12:
 	createCollation(tls, db, uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{binCollFunc})), uintptr(0))
-	createCollation(tls, db, ts+23232, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+23279, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{nocaseCollatingFunc})), uintptr(0))
-	createCollation(tls, db, ts+25726, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+25773, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{rtrimCollFunc})), uintptr(0))
 	if !((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) {
@@ -161501,7 +161559,7 @@ __15:
 	if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) {
 		goto __16
 	}
-	rc = Xsqlite3MisuseError(tls, 177308)
+	rc = Xsqlite3MisuseError(tls, 177397)
 	goto __17
 __16:
 	rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24)
@@ -161554,7 +161612,7 @@ __22:
 
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 7793
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).Fsafety_level = U8(SQLITE_DEFAULT_SYNCHRONOUS + 1)
-	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 24721
+	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 24768
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF)
 
 	(*Sqlite3)(unsafe.Pointer(db)).FeOpenState = U8(SQLITE_STATE_OPEN)
@@ -161659,7 +161717,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 {
 		return rc
 	}
 	if zFilename == uintptr(0) {
-		zFilename = ts + 25732
+		zFilename = ts + 25779
 	}
 	pVal = Xsqlite3ValueNew(tls, uintptr(0))
 	Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0))
@@ -161762,21 +161820,21 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr)
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	Xsqlite3_log(tls, iErr, ts+25735,
+	Xsqlite3_log(tls, iErr, ts+25782,
 		libc.VaList(bp, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls)))
 	return iErr
 }
 
 func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+25760)
+	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+25807)
 }
 
 func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+25780)
+	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+25827)
 }
 
 func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+25787)
+	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+25834)
 }
 
 // This is a convenience routine that makes sure that all thread-specific
@@ -161934,7 +161992,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24)))
-	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+25804, libc.VaList(bp, zTableName,
+	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+25851, libc.VaList(bp, zTableName,
 		zColumnName))
 	rc = SQLITE_ERROR
 __20:
@@ -162590,7 +162648,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 {
 
 	azCompileOpt = Xsqlite3CompileOptions(tls, bp)
 
-	if Xsqlite3_strnicmp(tls, zOptName, ts+25832, 7) == 0 {
+	if Xsqlite3_strnicmp(tls, zOptName, ts+25879, 7) == 0 {
 		zOptName += uintptr(7)
 	}
 	n = Xsqlite3Strlen30(tls, zOptName)
@@ -162708,7 +162766,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin
 
 	Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr {
 		if rc != 0 {
-			return ts + 25840
+			return ts + 25887
 		}
 		return uintptr(0)
 	}(), 0)
@@ -162886,7 +162944,7 @@ type JsonParse1 = struct {
 type JsonParse = JsonParse1
 
 var jsonType = [8]uintptr{
-	ts + 7533, ts + 8116, ts + 8121, ts + 7543, ts + 7538, ts + 9357, ts + 25863, ts + 25869,
+	ts + 7533, ts + 9046, ts + 9051, ts + 7543, ts + 7538, ts + 9357, ts + 25910, ts + 25916,
 }
 
 func jsonZero(tls *libc.TLS, p uintptr) {
@@ -163039,7 +163097,7 @@ __10:
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0' + int32(c)>>4)
-	c = uint8(*(*int8)(unsafe.Pointer(ts + 25876 + uintptr(int32(c)&0xf))))
+	c = uint8(*(*int8)(unsafe.Pointer(ts + 25923 + uintptr(int32(c)&0xf))))
 __8:
 	;
 __6:
@@ -163094,7 +163152,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) {
 	default:
 		{
 			if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 {
-				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+25893, -1)
+				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+25940, -1)
 				(*JsonString)(unsafe.Pointer(p)).FbErr = U8(2)
 				jsonReset(tls, p)
 			}
@@ -163158,13 +163216,13 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr
 		}
 	case JSON_TRUE:
 		{
-			jsonAppendRaw(tls, pOut, ts+8116, uint32(4))
+			jsonAppendRaw(tls, pOut, ts+9046, uint32(4))
 			break
 
 		}
 	case JSON_FALSE:
 		{
-			jsonAppendRaw(tls, pOut, ts+8121, uint32(5))
+			jsonAppendRaw(tls, pOut, ts+9051, uint32(5))
 			break
 
 		}
@@ -163714,12 +163772,12 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 't' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+8116, uint64(4)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+9046, uint64(4)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(4)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_TRUE), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 'f' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+8121, uint64(5)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+9051, uint64(5)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(5)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_FALSE), uint32(0), uintptr(0))
 		return int32(i + U32(5))
@@ -163820,7 +163878,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32
 			if (*JsonParse)(unsafe.Pointer(pParse)).Foom != 0 {
 				Xsqlite3_result_error_nomem(tls, pCtx)
 			} else {
-				Xsqlite3_result_error(tls, pCtx, ts+25922, -1)
+				Xsqlite3_result_error(tls, pCtx, ts+25969, -1)
 			}
 		}
 		jsonParseReset(tls, pParse)
@@ -164126,7 +164184,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt
 	}
 	if int32(*(*int8)(unsafe.Pointer(zPath))) == '.' {
 		jsonParseAddNode(tls, pParse, uint32(JSON_OBJECT), uint32(0), uintptr(0))
-	} else if libc.Xstrncmp(tls, zPath, ts+25937, uint64(3)) == 0 {
+	} else if libc.Xstrncmp(tls, zPath, ts+25984, uint64(3)) == 0 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0))
 	} else {
 		return uintptr(0)
@@ -164141,7 +164199,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	return Xsqlite3_mprintf(tls, ts+25941, libc.VaList(bp, zErr))
+	return Xsqlite3_mprintf(tls, ts+25988, libc.VaList(bp, zErr))
 }
 
 func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr {
@@ -164195,7 +164253,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+25967,
+	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+26014,
 		libc.VaList(bp, zFuncName))
 	Xsqlite3_result_error(tls, pCtx, zMsg, -1)
 	Xsqlite3_free(tls, zMsg)
@@ -164300,11 +164358,11 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 			if int32(*(*int8)(unsafe.Pointer(zPath))) != '$' {
 				jsonInit(tls, bp, ctx)
 				if int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zPath)))])&0x04 != 0 {
-					jsonAppendRaw(tls, bp, ts+26010, uint32(2))
+					jsonAppendRaw(tls, bp, ts+26057, uint32(2))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendRaw(tls, bp, ts+6350, uint32(2))
 				} else {
-					jsonAppendRaw(tls, bp, ts+26013, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
+					jsonAppendRaw(tls, bp, ts+26060, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendChar(tls, bp, int8(0))
 				}
@@ -164461,14 +164519,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 
 	if argc&1 != 0 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+26016, -1)
+			ts+26063, -1)
 		return
 	}
 	jsonInit(tls, bp, ctx)
 	jsonAppendChar(tls, bp, int8('{'))
 	for i = 0; i < argc; i = i + 2 {
 		if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != SQLITE_TEXT {
-			Xsqlite3_result_error(tls, ctx, ts+26067, -1)
+			Xsqlite3_result_error(tls, ctx, ts+26114, -1)
 			jsonReset(tls, bp)
 			return
 		}
@@ -164638,9 +164696,9 @@ __1:
 	}
 	jsonWrongNumArgs(tls, ctx, func() uintptr {
 		if bIsSet != 0 {
-			return ts + 26101
+			return ts + 26148
 		}
-		return ts + 26105
+		return ts + 26152
 	}())
 	return
 __2:
@@ -164773,7 +164831,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+26112, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+26159, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -164870,7 +164928,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+26115, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+26162, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -164914,7 +164972,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u
 	_ = argc
 	_ = pAux
 	rc = Xsqlite3_declare_vtab(tls, db,
-		ts+26118)
+		ts+26165)
 	if rc == SQLITE_OK {
 		pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{}))))
 		if pNew == uintptr(0) {
@@ -165045,7 +165103,7 @@ func jsonAppendObjectPathElement(tls *libc.TLS, pStr uintptr, pNode uintptr) {
 			nn = nn - 2
 		}
 	}
-	jsonPrintf(tls, nn+2, pStr, ts+26201, libc.VaList(bp, nn, z))
+	jsonPrintf(tls, nn+2, pStr, ts+26248, libc.VaList(bp, nn, z))
 }
 
 func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
@@ -165064,7 +165122,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
 	pNode = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(i)*16
 	pUp = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(iUp)*16
 	if int32((*JsonNode)(unsafe.Pointer(pUp)).FeType) == JSON_ARRAY {
-		jsonPrintf(tls, 30, pStr, ts+26207, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
+		jsonPrintf(tls, 30, pStr, ts+26254, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
 	} else {
 		if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_LABEL == 0 {
 			pNode -= 16
@@ -165160,7 +165218,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 					jsonAppendChar(tls, bp+8, int8('$'))
 				}
 				if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY {
-					jsonPrintf(tls, 30, bp+8, ts+26207, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
+					jsonPrintf(tls, 30, bp+8, ts+26254, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
 				} else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT {
 					jsonAppendObjectPathElement(tls, bp+8, pThis)
 				}
@@ -165184,7 +165242,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 		{
 			var zRoot uintptr = (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot
 			if zRoot == uintptr(0) {
-				zRoot = ts + 26212
+				zRoot = ts + 26259
 			}
 			Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0))
 			break
@@ -165306,7 +165364,7 @@ func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, ar
 		var rc int32 = SQLITE_NOMEM
 		if int32((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.Foom) == 0 {
 			Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg)
-			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+25922, 0)
+			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+25969, 0)
 			if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 {
 				rc = SQLITE_ERROR
 			}
@@ -165401,25 +165459,25 @@ func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) {
 }
 
 var aJsonFunc = [19]FuncDef{
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26214},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26219},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26230},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26230},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26248},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 26261},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 26264},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26268},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26280},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26292},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26303},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26314},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26326},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 26339},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26348},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26348},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26358},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 26369},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 26386}}
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26261},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26266},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26277},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26277},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26295},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 26308},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 26311},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26315},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26327},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26339},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26350},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26361},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26373},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 26386},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26395},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26395},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26405},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 26416},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 26433}}
 
 // Register the JSON table-valued functions
 func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 {
@@ -165438,8 +165496,8 @@ var aMod = [2]struct {
 	FzName   uintptr
 	FpModule uintptr
 }{
-	{FzName: ts + 26404, FpModule: 0},
-	{FzName: ts + 26414, FpModule: 0},
+	{FzName: ts + 26451, FpModule: 0},
+	{FzName: ts + 26461, FpModule: 0},
 }
 
 type Rtree1 = struct {
@@ -165699,11 +165757,11 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo
 		}
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) {
-		var zTab uintptr = Xsqlite3_mprintf(tls, ts+26424, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+		var zTab uintptr = Xsqlite3_mprintf(tls, ts+26471, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		if zTab == uintptr(0) {
 			return SQLITE_NOMEM
 		}
-		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+26432, iNode, 0,
+		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+26479, iNode, 0,
 			pRtree+112)
 		Xsqlite3_free(tls, zTab)
 	}
@@ -165914,7 +165972,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32
 	var zCreate uintptr = Xsqlite3_mprintf(tls,
-		ts+26437,
+		ts+26484,
 		libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
@@ -166612,7 +166670,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 {
 	var pSrc uintptr
 	var pInfo uintptr
 
-	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+26519)
+	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+26566)
 	if pSrc == uintptr(0) {
 		return SQLITE_ERROR
 	}
@@ -167953,7 +168011,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+26533, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+	zSql = Xsqlite3_mprintf(tls, ts+26580, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 	if zSql != 0 {
 		rc = Xsqlite3_prepare_v2(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -1, bp+56, uintptr(0))
 	} else {
@@ -167965,12 +168023,12 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 		if iCol == 0 {
 			var zCol uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 0)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+26553, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
+				ts+26600, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
 		} else {
 			var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol)
 			var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol+1)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+26585, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
+				ts+26632, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
 		}
 	}
 
@@ -168196,7 +168254,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32 = SQLITE_NOMEM
 	var zSql uintptr = Xsqlite3_mprintf(tls,
-		ts+26622, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
+		ts+26669, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
 	if zSql != 0 {
 		nodeBlobReset(tls, pRtree)
 		rc = Xsqlite3_exec(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0))
@@ -168219,7 +168277,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 {
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	var zFmt uintptr = ts + 26767
+	var zFmt uintptr = ts + 26814
 	var zSql uintptr
 
 	var rc int32
@@ -168267,7 +168325,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName1 = [3]uintptr{
-	ts + 26823, ts + 6412, ts + 17625,
+	ts + 26870, ts + 6412, ts + 17625,
 }
 
 var rtreeModule = Sqlite3_module{
@@ -168310,19 +168368,19 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		var p uintptr = Xsqlite3_str_new(tls, db)
 		var ii int32
 		Xsqlite3_str_appendf(tls, p,
-			ts+26828,
+			ts+26875,
 			libc.VaList(bp, zDb, zPrefix))
 		for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
-			Xsqlite3_str_appendf(tls, p, ts+26890, libc.VaList(bp+16, ii))
+			Xsqlite3_str_appendf(tls, p, ts+26937, libc.VaList(bp+16, ii))
 		}
 		Xsqlite3_str_appendf(tls, p,
-			ts+26895,
+			ts+26942,
 			libc.VaList(bp+24, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+26959,
+			ts+27006,
 			libc.VaList(bp+40, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+27029,
+			ts+27076,
 			libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))
 		zCreate = Xsqlite3_str_finish(tls, p)
 		if !(zCreate != 0) {
@@ -168351,7 +168409,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		if i != 3 || int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) == 0 {
 			zFormat = azSql[i]
 		} else {
-			zFormat = ts + 27078
+			zFormat = ts + 27125
 		}
 		zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix))
 		if zSql != 0 {
@@ -168363,7 +168421,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FnAux != 0 {
 		(*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls,
-			ts+27186,
+			ts+27233,
 			libc.VaList(bp+96, zDb, zPrefix))
 		if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -168371,18 +168429,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 			var p uintptr = Xsqlite3_str_new(tls, db)
 			var ii int32
 			var zSql uintptr
-			Xsqlite3_str_appendf(tls, p, ts+27231, libc.VaList(bp+112, zDb, zPrefix))
+			Xsqlite3_str_appendf(tls, p, ts+27278, libc.VaList(bp+112, zDb, zPrefix))
 			for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
 				if ii != 0 {
 					Xsqlite3_str_append(tls, p, ts+14119, 1)
 				}
 				if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) {
-					Xsqlite3_str_appendf(tls, p, ts+27258, libc.VaList(bp+128, ii, ii+2, ii))
+					Xsqlite3_str_appendf(tls, p, ts+27305, libc.VaList(bp+128, ii, ii+2, ii))
 				} else {
-					Xsqlite3_str_appendf(tls, p, ts+27280, libc.VaList(bp+152, ii, ii+2))
+					Xsqlite3_str_appendf(tls, p, ts+27327, libc.VaList(bp+152, ii, ii+2))
 				}
 			}
-			Xsqlite3_str_appendf(tls, p, ts+27288, 0)
+			Xsqlite3_str_appendf(tls, p, ts+27335, 0)
 			zSql = Xsqlite3_str_finish(tls, p)
 			if zSql == uintptr(0) {
 				rc = SQLITE_NOMEM
@@ -168397,14 +168455,14 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 }
 
 var azSql = [8]uintptr{
-	ts + 27304,
-	ts + 27357,
-	ts + 27402,
-	ts + 27454,
-	ts + 27508,
-	ts + 27553,
-	ts + 27611,
-	ts + 27666,
+	ts + 27351,
+	ts + 27404,
+	ts + 27449,
+	ts + 27501,
+	ts + 27555,
+	ts + 27600,
+	ts + 27658,
+	ts + 27713,
 }
 
 func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 {
@@ -168433,7 +168491,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 	var zSql uintptr
 	if isCreate != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = 0
-		zSql = Xsqlite3_mprintf(tls, ts+27713, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
+		zSql = Xsqlite3_mprintf(tls, ts+27760, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
 		rc = getIntFromStmt(tls, db, zSql, bp+48)
 		if rc == SQLITE_OK {
 			(*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp + 48)) - 64
@@ -168445,7 +168503,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		}
 	} else {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+27733,
+			ts+27780,
 			libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		rc = getIntFromStmt(tls, db, zSql, pRtree+32)
 		if rc != SQLITE_OK {
@@ -168453,7 +168511,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		} else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < 512-64 {
 			rc = SQLITE_CORRUPT | int32(1)<<8
 
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+27790,
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+27837,
 				libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		}
 	}
@@ -168495,10 +168553,10 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr
 	ii = 4
 	*(*[5]uintptr)(unsafe.Pointer(bp + 96)) = [5]uintptr{
 		uintptr(0),
-		ts + 27825,
-		ts + 27868,
-		ts + 27903,
-		ts + 27939,
+		ts + 27872,
+		ts + 27915,
+		ts + 27950,
+		ts + 27986,
 	}
 
 	if !(argc < 6 || argc > RTREE_MAX_AUX_COLUMN+3) {
@@ -168529,7 +168587,7 @@ __2:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+27976,
+	Xsqlite3_str_appendf(tls, pSql, ts+28023,
 		libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8))))
 	ii = 4
 __3:
@@ -168541,7 +168599,7 @@ __3:
 		goto __6
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+28000, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
+	Xsqlite3_str_appendf(tls, pSql, ts+28047, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
 	goto __7
 __6:
 	if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) {
@@ -168564,7 +168622,7 @@ __4:
 	goto __5
 __5:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+28006, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+28053, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __10
@@ -168660,7 +168718,7 @@ __25:
 	return rc
 }
 
-var azFormat = [2]uintptr{ts + 28009, ts + 28020}
+var azFormat = [2]uintptr{ts + 28056, ts + 28067}
 
 func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	bp := tls.Alloc(1072)
@@ -168700,11 +168758,11 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 		if ii > 0 {
 			Xsqlite3_str_append(tls, pOut, ts+12272, 1)
 		}
-		Xsqlite3_str_appendf(tls, pOut, ts+28030, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
+		Xsqlite3_str_appendf(tls, pOut, ts+28077, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
 		for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+56)).FnDim2); jj++ {
-			Xsqlite3_str_appendf(tls, pOut, ts+28036, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
+			Xsqlite3_str_appendf(tls, pOut, ts+28083, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
 		}
-		Xsqlite3_str_append(tls, pOut, ts+28040, 1)
+		Xsqlite3_str_append(tls, pOut, ts+28087, 1)
 	}
 	errCode = Xsqlite3_str_errcode(tls, pOut)
 	Xsqlite3_result_text(tls, ctx, Xsqlite3_str_finish(tls, pOut), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
@@ -168715,7 +168773,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	_ = nArg
 	if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB ||
 		Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 {
-		Xsqlite3_result_error(tls, ctx, ts+28042, -1)
+		Xsqlite3_result_error(tls, ctx, ts+28089, -1)
 	} else {
 		var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 		if zBlob != 0 {
@@ -168793,7 +168851,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr
 		if z == uintptr(0) {
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM
 		} else {
-			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+28075,
+			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+28122,
 				libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr {
 					if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 {
 						return ts + 5414
@@ -168817,7 +168875,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) {
 		(*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = rtreeCheckPrepare(tls, pCheck,
-			ts+28082,
+			ts+28129,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab))
 	}
 
@@ -168836,7 +168894,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 		}
 		rtreeCheckReset(tls, pCheck, (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode)
 		if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) {
-			rtreeCheckAppendMsg(tls, pCheck, ts+28127, libc.VaList(bp+16, iNode))
+			rtreeCheckAppendMsg(tls, pCheck, ts+28174, libc.VaList(bp+16, iNode))
 		}
 	}
 
@@ -168850,8 +168908,8 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	var rc int32
 	var pStmt uintptr
 	*(*[2]uintptr)(unsafe.Pointer(bp + 80)) = [2]uintptr{
-		ts + 28159,
-		ts + 28213,
+		ts + 28206,
+		ts + 28260,
 	}
 
 	if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) {
@@ -168866,23 +168924,23 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	Xsqlite3_bind_int64(tls, pStmt, 1, iKey)
 	rc = Xsqlite3_step(tls, pStmt)
 	if rc == SQLITE_DONE {
-		rtreeCheckAppendMsg(tls, pCheck, ts+28261,
+		rtreeCheckAppendMsg(tls, pCheck, ts+28308,
 			libc.VaList(bp+16, iKey, iVal, func() uintptr {
 				if bLeaf != 0 {
-					return ts + 28306
+					return ts + 28353
 				}
-				return ts + 28314
+				return ts + 28361
 			}()))
 	} else if rc == SQLITE_ROW {
 		var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0)
 		if ii != iVal {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+28323,
+				ts+28370,
 				libc.VaList(bp+40, iKey, ii, func() uintptr {
 					if bLeaf != 0 {
-						return ts + 28306
+						return ts + 28353
 					}
-					return ts + 28314
+					return ts + 28361
 				}(), iKey, iVal))
 		}
 	}
@@ -168906,7 +168964,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 			return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48)) > *(*RtreeValue)(unsafe.Pointer(bp + 52)))
 		}() != 0 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+28381, libc.VaList(bp, i, iCell, iNode))
+				ts+28428, libc.VaList(bp, i, iCell, iNode))
 		}
 
 		if pParent != 0 {
@@ -168926,7 +168984,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 					return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52)) > *(*RtreeValue)(unsafe.Pointer(bp + 60)))
 				}() != 0 {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+28429, libc.VaList(bp+24, i, iCell, iNode))
+					ts+28476, libc.VaList(bp+24, i, iCell, iNode))
 			}
 		}
 	}
@@ -168943,14 +169001,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 	if aNode != 0 {
 		if *(*int32)(unsafe.Pointer(bp + 48)) < 4 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+28496, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
+				ts+28543, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
 		} else {
 			var nCell int32
 			var i int32
 			if aParent == uintptr(0) {
 				iDepth = readInt16(tls, aNode)
 				if iDepth > RTREE_MAX_DEPTH {
-					rtreeCheckAppendMsg(tls, pCheck, ts+28530, libc.VaList(bp+16, iDepth))
+					rtreeCheckAppendMsg(tls, pCheck, ts+28577, libc.VaList(bp+16, iDepth))
 					Xsqlite3_free(tls, aNode)
 					return
 				}
@@ -168958,7 +169016,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 			nCell = readInt16(tls, aNode+2)
 			if 4+nCell*(8+(*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim*2*4) > *(*int32)(unsafe.Pointer(bp + 48)) {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+28560,
+					ts+28607,
 					libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48))))
 			} else {
 				for i = 0; i < nCell; i++ {
@@ -168987,14 +169045,14 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) {
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK {
 		var pCount uintptr
-		pCount = rtreeCheckPrepare(tls, pCheck, ts+28615,
+		pCount = rtreeCheckPrepare(tls, pCheck, ts+28662,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl))
 		if pCount != 0 {
 			if Xsqlite3_step(tls, pCount) == SQLITE_ROW {
 				var nActual I64 = Xsqlite3_column_int64(tls, pCount, 0)
 				if nActual != nExpect {
 					rtreeCheckAppendMsg(tls, pCheck,
-						ts+28646, libc.VaList(bp+24, zTbl, nExpect, nActual))
+						ts+28693, libc.VaList(bp+24, zTbl, nExpect, nActual))
 				}
 			}
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount)
@@ -169021,7 +169079,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	}
 
 	if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
-		pStmt = rtreeCheckPrepare(tls, bp+32, ts+28713, libc.VaList(bp, zDb, zTab))
+		pStmt = rtreeCheckPrepare(tls, bp+32, ts+28760, libc.VaList(bp, zDb, zTab))
 		if pStmt != 0 {
 			nAux = Xsqlite3_column_count(tls, pStmt) - 2
 			Xsqlite3_finalize(tls, pStmt)
@@ -169030,12 +169088,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		}
 	}
 
-	pStmt = rtreeCheckPrepare(tls, bp+32, ts+26533, libc.VaList(bp+16, zDb, zTab))
+	pStmt = rtreeCheckPrepare(tls, bp+32, ts+26580, libc.VaList(bp+16, zDb, zTab))
 	if pStmt != 0 {
 		var rc int32
 		(*RtreeCheck)(unsafe.Pointer(bp + 32)).FnDim = (Xsqlite3_column_count(tls, pStmt) - 1 - nAux) / 2
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).FnDim < 1 {
-			rtreeCheckAppendMsg(tls, bp+32, ts+28741, 0)
+			rtreeCheckAppendMsg(tls, bp+32, ts+28788, 0)
 		} else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).FbInt = libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)
 		}
@@ -169049,8 +169107,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			rtreeCheckNode(tls, bp+32, 0, uintptr(0), int64(1))
 		}
-		rtreeCheckCount(tls, bp+32, ts+28772, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
-		rtreeCheckCount(tls, bp+32, ts+28779, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
+		rtreeCheckCount(tls, bp+32, ts+28819, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
+		rtreeCheckCount(tls, bp+32, ts+28826, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
 	}
 
 	Xsqlite3_finalize(tls, (*RtreeCheck)(unsafe.Pointer(bp+32)).FpGetNode)
@@ -169058,7 +169116,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 + 40 + 1*8)))
 
 	if bEnd != 0 {
-		var rc int32 = Xsqlite3_exec(tls, db, ts+28787, uintptr(0), uintptr(0), uintptr(0))
+		var rc int32 = Xsqlite3_exec(tls, db, ts+28834, uintptr(0), uintptr(0), uintptr(0))
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).Frc = rc
 		}
@@ -169073,7 +169131,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 
 	if nArg != 1 && nArg != 2 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+28791, -1)
+			ts+28838, -1)
 	} else {
 		var rc int32
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
@@ -169091,7 +169149,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 				if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
 					return *(*uintptr)(unsafe.Pointer(bp))
 				}
-				return ts + 19381
+				return ts + 19428
 			}(), -1, libc.UintptrFromInt32(-1))
 		} else {
 			Xsqlite3_result_error_code(tls, ctx, rc)
@@ -169462,11 +169520,11 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var db uintptr = Xsqlite3_context_db_handle(tls, context)
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
-		Xsqlite3_str_append(tls, x, ts+28842, 1)
+		Xsqlite3_str_append(tls, x, ts+28889, 1)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+28844, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+28891, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 		}
-		Xsqlite3_str_appendf(tls, x, ts+28855, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+28902, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -169486,19 +169544,19 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
 		var cSep int8 = int8('\'')
-		Xsqlite3_str_appendf(tls, x, ts+28866, 0)
+		Xsqlite3_str_appendf(tls, x, ts+28913, 0)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+28884, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+28931, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 			cSep = int8(' ')
 		}
-		Xsqlite3_str_appendf(tls, x, ts+28892, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+28939, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		for i = 1; i < argc; i++ {
 			var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 			if z != 0 && *(*int8)(unsafe.Pointer(z)) != 0 {
-				Xsqlite3_str_appendf(tls, x, ts+28900, libc.VaList(bp+40, z))
+				Xsqlite3_str_appendf(tls, x, ts+28947, libc.VaList(bp+40, z))
 			}
 		}
-		Xsqlite3_str_appendf(tls, x, ts+28904, 0)
+		Xsqlite3_str_appendf(tls, x, ts+28951, 0)
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -170418,7 +170476,7 @@ __1:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+28917, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+28964, 0)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1)
 	ii = 3
@@ -170427,7 +170485,7 @@ __2:
 		goto __4
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+28939, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
+	Xsqlite3_str_appendf(tls, pSql, ts+28986, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
 	goto __3
 __3:
 	ii++
@@ -170435,7 +170493,7 @@ __3:
 	goto __4
 __4:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+28006, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+28053, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __5
@@ -170672,7 +170730,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 	}
 	if iFuncTerm >= 0 {
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum
-		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 28943
+		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 28990
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).FargvIndex = 1
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).Fomit = uint8(0)
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 300.0
@@ -170680,7 +170738,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 		return SQLITE_OK
 	}
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4
-	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 28949
+	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 28996
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000)
 	return SQLITE_OK
@@ -170792,7 +170850,7 @@ __1:
 	if !(*(*int32)(unsafe.Pointer(bp + 48)) == SQLITE_ERROR) {
 		goto __4
 	}
-	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+28958, 0)
+	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+29005, 0)
 __4:
 	;
 	goto geopoly_update_end
@@ -170924,14 +170982,14 @@ geopoly_update_end:
 func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 {
 	_ = pVtab
 	_ = nArg
-	if Xsqlite3_stricmp(tls, zName, ts+28998) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+29045) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyOverlapFunc}))
 		*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
 		return SQLITE_INDEX_CONSTRAINT_FUNCTION
 	}
-	if Xsqlite3_stricmp(tls, zName, ts+29014) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+29061) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyWithinFunc}))
@@ -170996,7 +171054,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 {
 			uintptr(0), aAgg[i].FxStep, aAgg[i].FxFinal)
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_module_v2(tls, db, ts+29029, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+29076, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
 	}
 	return rc
 }
@@ -171008,25 +171066,25 @@ var aFunc = [12]struct {
 	F__ccgo_pad1 [6]byte
 	FzName       uintptr
 }{
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 29037},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 29050},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 29063},
-	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 29076},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 29014},
-	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 29088},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 28998},
-	{FxFunc: 0, FnArg: int8(1), FzName: ts + 29111},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 29125},
-	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 29138},
-	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 29152},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 29168},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 29084},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 29097},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 29110},
+	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 29123},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 29061},
+	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 29135},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 29045},
+	{FxFunc: 0, FnArg: int8(1), FzName: ts + 29158},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 29172},
+	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 29185},
+	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 29199},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 29215},
 }
 var aAgg = [1]struct {
 	FxStep  uintptr
 	FxFinal uintptr
 	FzName  uintptr
 }{
-	{FxStep: 0, FxFinal: 0, FzName: ts + 29180},
+	{FxStep: 0, FxFinal: 0, FzName: ts + 29227},
 }
 
 // Register the r-tree module with database handle db. This creates the
@@ -171036,26 +171094,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 {
 	var utf8 int32 = SQLITE_UTF8
 	var rc int32
 
-	rc = Xsqlite3_create_function(tls, db, ts+29199, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	rc = Xsqlite3_create_function(tls, db, ts+29246, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr)
 	}{rtreenode})), uintptr(0), uintptr(0))
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+29209, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+29256, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreedepth})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+29220, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+29267, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreecheck})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_REAL32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+28943, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+28990, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_INT32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+29231, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+29278, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		rc = sqlite3_geopoly_init(tls, db)
@@ -171109,7 +171167,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
 			Xsqlite3_result_error_nomem(tls, ctx)
 			rtreeMatchArgFree(tls, pBlob)
 		} else {
-			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+26519, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
+			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+26566, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
 		}
 	}
 }
@@ -171436,7 +171494,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 
 	nOut = rbuDeltaOutputSize(tls, aDelta, nDelta)
 	if nOut < 0 {
-		Xsqlite3_result_error(tls, context, ts+29241, -1)
+		Xsqlite3_result_error(tls, context, ts+29288, -1)
 		return
 	}
 
@@ -171447,7 +171505,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 		nOut2 = rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut)
 		if nOut2 != nOut {
 			Xsqlite3_free(tls, aOut)
-			Xsqlite3_result_error(tls, context, ts+29241, -1)
+			Xsqlite3_result_error(tls, context, ts+29288, -1)
 		} else {
 			Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		}
@@ -171548,7 +171606,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuObjIterClearStatements(tls, pIter)
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) {
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+29262, uintptr(0), uintptr(0), p+64)
+				ts+29309, uintptr(0), uintptr(0), p+64)
 		}
 
 		if rc == SQLITE_OK {
@@ -171612,7 +171670,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) {
 				Xsqlite3_result_text(tls, pCtx, zIn, -1, uintptr(0))
 			}
 		} else {
-			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+26432, zIn, uint64(4)) == 0 {
+			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+26479, zIn, uint64(4)) == 0 {
 				var i int32
 				for i = 4; int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) >= '0' && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) <= '9'; i++ {
 				}
@@ -171633,16 +171691,16 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 
 	rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+29433, libc.VaList(bp, func() uintptr {
+			ts+29480, libc.VaList(bp, func() uintptr {
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					return ts + 29583
+					return ts + 29630
 				}
 				return ts + 1544
 			}())))
 
 	if rc == SQLITE_OK {
 		rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64,
-			ts+29624)
+			ts+29671)
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1
@@ -171758,7 +171816,7 @@ func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+29749, libc.VaList(bp, zTab)))
+			ts+29796, libc.VaList(bp, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) != SQLITE_ROW) {
 		goto __1
 	}
@@ -171776,7 +171834,7 @@ __2:
 	*(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), 1)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+1*8, p+64,
-		Xsqlite3_mprintf(tls, ts+29868, libc.VaList(bp+8, zTab)))
+		Xsqlite3_mprintf(tls, ts+29915, libc.VaList(bp+8, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) {
 		goto __3
 	}
@@ -171794,7 +171852,7 @@ __4:
 	}
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+2*8, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+29889, libc.VaList(bp+16, zIdx)))
+			ts+29936, libc.VaList(bp+16, zIdx)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __7
 	}
@@ -171817,7 +171875,7 @@ __6:
 __5:
 	;
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+3*8, p+64,
-		Xsqlite3_mprintf(tls, ts+29940, libc.VaList(bp+24, zTab)))
+		Xsqlite3_mprintf(tls, ts+29987, libc.VaList(bp+24, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __10
 	}
@@ -171863,7 +171921,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		libc.Xmemcpy(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+16, p+64,
-			Xsqlite3_mprintf(tls, ts+29961, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+30008, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0
@@ -171878,7 +171936,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 			libc.Xmemset(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0x01, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		}
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+29989, libc.VaList(bp+8, zIdx)))
+			Xsqlite3_mprintf(tls, ts+30036, libc.VaList(bp+8, zIdx)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
 			var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 1)
 			if iCid >= 0 {
@@ -171918,7 +171976,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+56, pIter+108)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+20858, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+20905, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
 			return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc
@@ -171928,18 +171986,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		}
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+64, p+64,
-			Xsqlite3_mprintf(tls, ts+30018, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
+			Xsqlite3_mprintf(tls, ts+30065, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 			rbuAllocateIterArrays(tls, p, pIter, nCol)
 		}
 		for i = 0; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && i < nCol; i++ {
 			var zName uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), i)
-			if Xsqlite3_strnicmp(tls, ts+30037, zName, 4) != 0 {
+			if Xsqlite3_strnicmp(tls, ts+30084, zName, 4) != 0 {
 				var zCopy uintptr = rbuStrndup(tls, zName, p+56)
 				*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol
 				*(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(libc.PostIncInt32(&(*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol, 1))*8)) = zCopy
-			} else if 0 == Xsqlite3_stricmp(tls, ts+30042, zName) {
+			} else if 0 == Xsqlite3_stricmp(tls, ts+30089, zName) {
 				bRbuRowid = 1
 			}
 		}
@@ -171951,18 +172009,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			bRbuRowid != libc.Bool32((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls,
-				ts+30052, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
+				ts+30099, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 					func() uintptr {
 						if bRbuRowid != 0 {
-							return ts + 30081
+							return ts + 30128
 						}
-						return ts + 30094
+						return ts + 30141
 					}()))
 		}
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-				Xsqlite3_mprintf(tls, ts+30103, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				Xsqlite3_mprintf(tls, ts+30150, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		}
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64))) {
 			var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 1)
@@ -171976,7 +172034,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			}
 			if i == (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30125,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30172,
 					libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName))
 			} else {
 				var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 5)
@@ -172023,7 +172081,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var i int32
 	for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 		var z uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-		zList = rbuMPrintf(tls, p, ts+30152, libc.VaList(bp, zList, zSep, z))
+		zList = rbuMPrintf(tls, p, ts+30199, libc.VaList(bp, zList, zSep, z))
 		zSep = ts + 15971
 	}
 	return zList
@@ -172041,7 +172099,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr,
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if int32(*(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zRet = rbuMPrintf(tls, p, ts+30161, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
+				zRet = rbuMPrintf(tls, p, ts+30208, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
 				zSep = zSeparator
 				break
 			}
@@ -172063,25 +172121,25 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32,
 	if bRowid != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+30174, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				ts+30221, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 			var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-			zRet = rbuMPrintf(tls, p, ts+30206, libc.VaList(bp+16, iMax))
+			zRet = rbuMPrintf(tls, p, ts+30253, libc.VaList(bp+16, iMax))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 	} else {
-		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1544, ts+15971, ts+30229)
-		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+30235, ts+30242, ts+6309)
+		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1544, ts+15971, ts+30276)
+		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+30282, ts+30289, ts+6309)
 		var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1544, ts+15971, ts+1544)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 				Xsqlite3_mprintf(tls,
-					ts+30250,
+					ts+30297,
 					libc.VaList(bp+24, zSelect, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 				var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-				zRet = rbuMPrintf(tls, p, ts+30292, libc.VaList(bp+56, zList, zVal))
+				zRet = rbuMPrintf(tls, p, ts+30339, libc.VaList(bp+56, zList, zVal))
 			}
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 		}
@@ -172123,7 +172181,7 @@ func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	*(*uintptr)(unsafe.Pointer(bp + 176)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-		Xsqlite3_mprintf(tls, ts+29989, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+		Xsqlite3_mprintf(tls, ts+30036, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 __1:
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176)))) {
 		goto __2
@@ -172158,7 +172216,7 @@ __10:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 	goto __7
 __6:
-	zCol = ts + 30312
+	zCol = ts + 30359
 __7:
 	;
 	goto __5
@@ -172166,11 +172224,11 @@ __4:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 __5:
 	;
-	zLhs = rbuMPrintf(tls, p, ts+30320,
+	zLhs = rbuMPrintf(tls, p, ts+30367,
 		libc.VaList(bp+8, zLhs, zSep, zCol, zCollate))
-	zOrder = rbuMPrintf(tls, p, ts+30341,
+	zOrder = rbuMPrintf(tls, p, ts+30388,
 		libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate))
-	zSelect = rbuMPrintf(tls, p, ts+30377,
+	zSelect = rbuMPrintf(tls, p, ts+30424,
 		libc.VaList(bp+80, zSelect, zSep, iCol, zCol))
 	zSep = ts + 15971
 	iCol++
@@ -172190,7 +172248,7 @@ __11:
 	*(*uintptr)(unsafe.Pointer(bp + 184)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+184, p+64,
-		Xsqlite3_mprintf(tls, ts+30404,
+		Xsqlite3_mprintf(tls, ts+30451,
 			libc.VaList(bp+112, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 184)))) {
 		goto __13
@@ -172217,7 +172275,7 @@ __19:
 	;
 __18:
 	;
-	zVector = rbuMPrintf(tls, p, ts+30452, libc.VaList(bp+136, zVector, zSep, zQuoted))
+	zVector = rbuMPrintf(tls, p, ts+30499, libc.VaList(bp+136, zVector, zSep, zQuoted))
 	zSep = ts + 15971
 	goto __15
 __15:
@@ -172229,7 +172287,7 @@ __16:
 	if !!(bFailed != 0) {
 		goto __20
 	}
-	zRet = rbuMPrintf(tls, p, ts+30459, libc.VaList(bp+160, zLhs, zVector))
+	zRet = rbuMPrintf(tls, p, ts+30506, libc.VaList(bp+160, zLhs, zVector))
 __20:
 	;
 __13:
@@ -172262,7 +172320,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 	if rc == SQLITE_OK {
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200, p+64,
-			Xsqlite3_mprintf(tls, ts+29989, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+			Xsqlite3_mprintf(tls, ts+30036, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 	}
 
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200))) {
@@ -172274,7 +172332,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 		if iCid == -2 {
 			var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 0)
-			zRet = Xsqlite3_mprintf(tls, ts+30471, libc.VaList(bp+8, zRet, zCom,
+			zRet = Xsqlite3_mprintf(tls, ts+30518, libc.VaList(bp+8, zRet, zCom,
 				(*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FnSpan, (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FzSpan, zCollate))
 			zType = ts + 1544
 		} else {
@@ -172286,37 +172344,37 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 					zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 				} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					zCol = ts + 30312
+					zCol = ts + 30359
 				} else {
-					zCol = ts + 30042
+					zCol = ts + 30089
 				}
 				zType = ts + 1109
 			} else {
 				zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 				zType = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8))
 			}
-			zRet = Xsqlite3_mprintf(tls, ts+30493, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
+			zRet = Xsqlite3_mprintf(tls, ts+30540, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 5) != 0 {
 			var zOrder uintptr = func() uintptr {
 				if bDesc != 0 {
-					return ts + 30229
+					return ts + 30276
 				}
 				return ts + 1544
 			}()
-			zImpPK = Xsqlite3_mprintf(tls, ts+30513,
+			zImpPK = Xsqlite3_mprintf(tls, ts+30560,
 				libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder))
 		}
-		zImpCols = Xsqlite3_mprintf(tls, ts+30534,
+		zImpCols = Xsqlite3_mprintf(tls, ts+30581,
 			libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate))
 		zWhere = Xsqlite3_mprintf(tls,
-			ts+30567, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
+			ts+30614, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
 		if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) {
 			rc = SQLITE_NOMEM
 		}
 		zCom = ts + 15971
-		zAnd = ts + 22894
+		zAnd = ts + 22941
 		nBind++
 	}
 
@@ -172355,9 +172413,9 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = Xsqlite3_mprintf(tls, ts+30591, libc.VaList(bp, zList, zS, zObj, zCol))
+				zList = Xsqlite3_mprintf(tls, ts+30638, libc.VaList(bp, zList, zS, zObj, zCol))
 			} else {
-				zList = Xsqlite3_mprintf(tls, ts+30603, libc.VaList(bp+32, zList, zS))
+				zList = Xsqlite3_mprintf(tls, ts+30650, libc.VaList(bp+32, zList, zS))
 			}
 			zS = ts + 15971
 			if zList == uintptr(0) {
@@ -172367,7 +172425,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-			zList = rbuMPrintf(tls, p, ts+30612, libc.VaList(bp+48, zList, zObj))
+			zList = rbuMPrintf(tls, p, ts+30659, libc.VaList(bp+48, zList, zObj))
 		}
 	}
 	return zList
@@ -172379,18 +172437,18 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	var zList uintptr = uintptr(0)
 	if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-		zList = rbuMPrintf(tls, p, ts+30627, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
+		zList = rbuMPrintf(tls, p, ts+30674, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
 	} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
 		var zSep uintptr = ts + 1544
 		var i int32
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
-				zList = rbuMPrintf(tls, p, ts+30641, libc.VaList(bp+8, zList, zSep, i, i+1))
-				zSep = ts + 22894
+				zList = rbuMPrintf(tls, p, ts+30688, libc.VaList(bp+8, zList, zSep, i, i+1))
+				zSep = ts + 22941
 			}
 		}
 		zList = rbuMPrintf(tls, p,
-			ts+30653, libc.VaList(bp+40, zList))
+			ts+30700, libc.VaList(bp+40, zList))
 
 	} else {
 		var zSep uintptr = ts + 1544
@@ -172398,8 +172456,8 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = rbuMPrintf(tls, p, ts+30703, libc.VaList(bp+48, zList, zSep, zCol, i+1))
-				zSep = ts + 22894
+				zList = rbuMPrintf(tls, p, ts+30750, libc.VaList(bp+48, zList, zSep, zCol, i+1))
+				zSep = ts + 22941
 			}
 		}
 	}
@@ -172408,7 +172466,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 func rbuBadControlError(tls *libc.TLS, p uintptr) {
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30716, 0)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30763, 0)
 }
 
 func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr {
@@ -172426,15 +172484,15 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr
 			for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 				var c int8 = *(*int8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4)))))
 				if int32(c) == 'x' {
-					zList = rbuMPrintf(tls, p, ts+30703,
+					zList = rbuMPrintf(tls, p, ts+30750,
 						libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 15971
 				} else if int32(c) == 'd' {
-					zList = rbuMPrintf(tls, p, ts+30742,
+					zList = rbuMPrintf(tls, p, ts+30789,
 						libc.VaList(bp+32, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 15971
 				} else if int32(c) == 'f' {
-					zList = rbuMPrintf(tls, p, ts+30772,
+					zList = rbuMPrintf(tls, p, ts+30819,
 						libc.VaList(bp+72, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 15971
 				}
@@ -172471,19 +172529,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var z uintptr = uintptr(0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		var zSep uintptr = ts + 30809
+		var zSep uintptr = ts + 30856
 		*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 		*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56, p+64,
-			Xsqlite3_mprintf(tls, ts+29961, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+30008, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) {
 			var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 3)
 			if zOrig != 0 && libc.Xstrcmp(tls, zOrig, ts+17513) == 0 {
 				var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 1)
 				if zIdx != 0 {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-						Xsqlite3_mprintf(tls, ts+29989, libc.VaList(bp+8, zIdx)))
+						Xsqlite3_mprintf(tls, ts+30036, libc.VaList(bp+8, zIdx)))
 				}
 				break
 			}
@@ -172495,15 +172553,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 				var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 2)
 				var zDesc uintptr
 				if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 3) != 0 {
-					zDesc = ts + 30229
+					zDesc = ts + 30276
 				} else {
 					zDesc = ts + 1544
 				}
-				z = rbuMPrintf(tls, p, ts+30822, libc.VaList(bp+16, z, zSep, zCol, zDesc))
+				z = rbuMPrintf(tls, p, ts+30869, libc.VaList(bp+16, z, zSep, zCol, zDesc))
 				zSep = ts + 15971
 			}
 		}
-		z = rbuMPrintf(tls, p, ts+30833, libc.VaList(bp+48, z))
+		z = rbuMPrintf(tls, p, ts+30880, libc.VaList(bp+48, z))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
 	return z
@@ -172523,7 +172581,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		var zPk uintptr = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168, p+64,
-			ts+30837)
+			ts+30884)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168)), 1, tnum)
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168))) {
@@ -172532,7 +172590,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		}
 		if zIdx != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-				Xsqlite3_mprintf(tls, ts+29989, libc.VaList(bp, zIdx)))
+				Xsqlite3_mprintf(tls, ts+30036, libc.VaList(bp, zIdx)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168)))
 
@@ -172542,23 +172600,23 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 				var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 1)
 				var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 3)
 				var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 4)
-				zCols = rbuMPrintf(tls, p, ts+30887, libc.VaList(bp+8, zCols, zComma,
+				zCols = rbuMPrintf(tls, p, ts+30934, libc.VaList(bp+8, zCols, zComma,
 					iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate))
-				zPk = rbuMPrintf(tls, p, ts+30909, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
+				zPk = rbuMPrintf(tls, p, ts+30956, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
 					if bDesc != 0 {
-						return ts + 30229
+						return ts + 30276
 					}
 					return ts + 1544
 				}()))
 				zComma = ts + 15971
 			}
 		}
-		zCols = rbuMPrintf(tls, p, ts+30919, libc.VaList(bp+80, zCols))
+		zCols = rbuMPrintf(tls, p, ts+30966, libc.VaList(bp+80, zCols))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176)))
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+7793, 1, tnum))
 		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+30934,
+			ts+30981,
 			libc.VaList(bp+120, zCols, zPk))
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+7793, 0, 0))
 	}
@@ -172584,13 +172642,13 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+7793, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192, uintptr(0), uintptr(0), uintptr(0))
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 {
-				zPk = ts + 30996
+				zPk = ts + 31043
 			}
-			zSql = rbuMPrintf(tls, p, ts+31009,
+			zSql = rbuMPrintf(tls, p, ts+31056,
 				libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192)),
 					func() uintptr {
 						if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 {
-							return ts + 31036
+							return ts + 31083
 						}
 						return ts + 1544
 					}()))
@@ -172600,16 +172658,16 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
 			var zPk uintptr = rbuWithoutRowidPK(tls, p, pIter)
 			if zPk != 0 {
-				zSql = rbuMPrintf(tls, p, ts+31046, libc.VaList(bp+88, zSql, zPk))
+				zSql = rbuMPrintf(tls, p, ts+31093, libc.VaList(bp+88, zSql, zPk))
 			}
 		}
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+7793, 1, tnum))
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31053,
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31100,
 			libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql,
 				func() uintptr {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
-						return ts + 31085
+						return ts + 31132
 					}
 					return ts + 1544
 				}()))
@@ -172626,7 +172684,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis
 	if zBind != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls,
-				ts+31100,
+				ts+31147,
 				libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind)))
 	}
 }
@@ -172663,7 +172721,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(bp + 8)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64,
-			ts+31157)
+			ts+31204)
 	}
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		var rc2 int32
@@ -172768,7 +172826,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 		var zLimit uintptr = uintptr(0)
 
 		if nOffset != 0 {
-			zLimit = Xsqlite3_mprintf(tls, ts+31223, libc.VaList(bp, nOffset))
+			zLimit = Xsqlite3_mprintf(tls, ts+31270, libc.VaList(bp, nOffset))
 			if !(zLimit != 0) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
 			}
@@ -172791,7 +172849,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+7793, 0, 1))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+7793, 1, tnum))
 			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+31243,
+				ts+31290,
 				libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600)), *(*uintptr)(unsafe.Pointer(bp + 608))))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+7793, 0, 0))
 
@@ -172799,13 +172857,13 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64,
-					Xsqlite3_mprintf(tls, ts+31308, libc.VaList(bp+128, zTbl, zBind)))
+					Xsqlite3_mprintf(tls, ts+31355, libc.VaList(bp+128, zTbl, zBind)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64,
-					Xsqlite3_mprintf(tls, ts+31344, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
+					Xsqlite3_mprintf(tls, ts+31391, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
 			}
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -172821,7 +172879,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					}
 
 					zSql = Xsqlite3_mprintf(tls,
-						ts+31378,
+						ts+31425,
 						libc.VaList(bp+160, zCollist,
 							(*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
@@ -172829,9 +172887,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								if zStart != 0 {
 									return func() uintptr {
 										if zPart != 0 {
-											return ts + 31439
+											return ts + 31486
 										}
-										return ts + 31443
+										return ts + 31490
 									}()
 								}
 								return ts + 1544
@@ -172840,20 +172898,20 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					Xsqlite3_free(tls, zStart)
 				} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+31449,
+						ts+31496,
 						libc.VaList(bp+216, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart, zCollist, zLimit))
 				} else {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+31510,
+						ts+31557,
 						libc.VaList(bp+264, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart,
 							zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
 							func() uintptr {
 								if zPart != 0 {
-									return ts + 31439
+									return ts + 31486
 								}
-								return ts + 31443
+								return ts + 31490
 							}(),
 							zCollist, zLimit))
 				}
@@ -172890,16 +172948,16 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB {
 					return ts + 1544
 				}
-				return ts + 31669
+				return ts + 31716
 			}()
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz,
 					Xsqlite3_mprintf(tls,
-						ts+31678,
+						ts+31725,
 						libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr {
 							if bRbuRowid != 0 {
-								return ts + 31714
+								return ts + 31761
 							}
 							return ts + 1544
 						}(), zBindings)))
@@ -172908,32 +172966,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz,
 					Xsqlite3_mprintf(tls,
-						ts+31724, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
+						ts+31771, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 				var zRbuRowid uintptr = ts + 1544
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-					zRbuRowid = ts + 31752
+					zRbuRowid = ts + 31799
 				}
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-					ts+31764, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
+					ts+31811, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
 						if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
-							return ts + 31840
+							return ts + 31887
 						}
 						return ts + 1544
 					}(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-					ts+31857,
+					ts+31904,
 					libc.VaList(bp+440, zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zNewlist))
 
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-						ts+32156,
+						ts+32203,
 						libc.VaList(bp+512, zWrite, zTbl, zNewlist))
 				}
 
@@ -172946,9 +173004,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				var zOrder uintptr = uintptr(0)
 				if bRbuRowid != 0 {
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-						zRbuRowid = ts + 32255
+						zRbuRowid = ts + 32302
 					} else {
-						zRbuRowid = ts + 32265
+						zRbuRowid = ts + 32312
 					}
 				}
 
@@ -172961,7 +173019,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 						}
 					}
 					if bRbuRowid != 0 {
-						zOrder = rbuMPrintf(tls, p, ts+30312, 0)
+						zOrder = rbuMPrintf(tls, p, ts+30359, 0)
 					} else {
 						zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+1544, ts+15971, ts+1544)
 					}
@@ -172970,11 +173028,11 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz,
 						Xsqlite3_mprintf(tls,
-							ts+32276,
+							ts+32323,
 							libc.VaList(bp+536, zCollist,
 								func() uintptr {
 									if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-										return ts + 32324
+										return ts + 32371
 									}
 									return ts + 1544
 								}(),
@@ -172987,7 +173045,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								}(),
 								func() uintptr {
 									if zOrder != 0 {
-										return ts + 24228
+										return ts + 24275
 									}
 									return ts + 1544
 								}(), zOrder,
@@ -173055,9 +173113,9 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp
 			var zPrefix uintptr = ts + 1544
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB {
-				zPrefix = ts + 31669
+				zPrefix = ts + 31716
 			}
-			zUpdate = Xsqlite3_mprintf(tls, ts+32330,
+			zUpdate = Xsqlite3_mprintf(tls, ts+32377,
 				libc.VaList(bp, zPrefix, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere))
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate)
@@ -173116,7 +173174,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr {
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 16)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8, p+64,
-		Xsqlite3_mprintf(tls, ts+32360, libc.VaList(bp, p+48)))
+		Xsqlite3_mprintf(tls, ts+32407, libc.VaList(bp, p+48)))
 	for *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 		switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0) {
 		case RBU_STATE_STAGE:
@@ -173189,18 +173247,18 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+7793, SQLITE_FCNTL_RBUCNT, p)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) {
 			var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+7793)
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+32390, libc.VaList(bp, zFile, zFile))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+32437, libc.VaList(bp, zFile, zFile))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 {
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32418, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32465, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
 		libc.Xmemcpy(tls, p+48, ts+14829, uint64(4))
 	} else {
 		libc.Xmemcpy(tls, p+48, ts+7793, uint64(4))
 	}
 
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32436, libc.VaList(bp+24, p+48))
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32483, libc.VaList(bp+24, p+48))
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		var bOpen int32 = 0
@@ -173240,11 +173298,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				return
 			}
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32502, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32549, 0)
 		} else {
 			var zTarget uintptr
 			var zExtra uintptr = uintptr(0)
-			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+25575, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
+			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+25622, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
 				zExtra = (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5
 				for *(*int8)(unsafe.Pointer(zExtra)) != 0 {
 					if int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zExtra, 1)))) == '?' {
@@ -173256,13 +173314,13 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				}
 			}
 
-			zTarget = Xsqlite3_mprintf(tls, ts+32534,
+			zTarget = Xsqlite3_mprintf(tls, ts+32581,
 				libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+7793),
 					func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1544
 						}
-						return ts + 32566
+						return ts + 32613
 					}(), func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1544
@@ -173281,21 +173339,21 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+32568, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+32615, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTmpInsertFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+32583, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+			ts+32630, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuFossilDeltaFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+32600, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+32647, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTargetNameFunc})), uintptr(0), uintptr(0))
 	}
@@ -173303,7 +173361,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+7793, SQLITE_FCNTL_RBU, p)
 	}
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32616, 0)
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32663, 0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+7793, SQLITE_FCNTL_RBU, p)
@@ -173311,7 +173369,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32644, 0)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32691, 0)
 	}
 }
 
@@ -173340,14 +173398,14 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
 	if pState == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = 0
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32616, uintptr(0), uintptr(0), uintptr(0))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32663, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var rc2 int32
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CAPTURE
-		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32662, uintptr(0), uintptr(0), uintptr(0))
+		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32709, uintptr(0), uintptr(0), uintptr(0))
 		if rc2 != SQLITE_NOTICE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 		}
@@ -173473,7 +173531,7 @@ func rbuLockDatabase(tls *libc.TLS, db uintptr) int32 {
 
 func rbuExclusiveCheckpoint(tls *libc.TLS, db uintptr) int32 {
 	var zUri uintptr = Xsqlite3_db_filename(tls, db, uintptr(0))
-	return Xsqlite3_uri_boolean(tls, zUri, ts+32697, 0)
+	return Xsqlite3_uri_boolean(tls, zUri, ts+32744, 0)
 }
 
 func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
@@ -173488,8 +173546,8 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+7793)
 	}
-	zOal = Xsqlite3_mprintf(tls, ts+32722, libc.VaList(bp, zMove))
-	zWal = Xsqlite3_mprintf(tls, ts+32729, libc.VaList(bp+8, zMove))
+	zOal = Xsqlite3_mprintf(tls, ts+32769, libc.VaList(bp, zMove))
+	zWal = Xsqlite3_mprintf(tls, ts+32776, libc.VaList(bp+8, zMove))
 
 	if zWal == uintptr(0) || zOal == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
@@ -173606,7 +173664,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) {
 			(*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 &&
 			Xsqlite3_column_type(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect, i) == SQLITE_NULL {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_MISMATCH
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+25213, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+25260, 0)
 			return
 		}
 
@@ -173699,7 +173757,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 		var iCookie int32 = 1000000
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8, p+64,
-			ts+32736)
+			ts+32783)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 				iCookie = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0)
@@ -173707,7 +173765,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8)))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32758, libc.VaList(bp, iCookie+1))
+			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32805, libc.VaList(bp, iCookie+1))
 		}
 	}
 }
@@ -173728,7 +173786,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) {
 
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+32785,
+				ts+32832,
 				libc.VaList(bp, p+48,
 					RBU_STATE_STAGE, eStage,
 					RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl,
@@ -173758,9 +173816,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+32943, libc.VaList(bp, zPragma)))
+			Xsqlite3_mprintf(tls, ts+32990, libc.VaList(bp, zPragma)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32958,
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+33005,
 				libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 0)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -173774,10 +173832,10 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 
-	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32978, uintptr(0), uintptr(0), p+64)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+33025, uintptr(0), uintptr(0), p+64)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+33003)
+			ts+33050)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -173791,12 +173849,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+33111)
+			ts+33158)
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64,
-			ts+33176)
+			ts+33223)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -173808,7 +173866,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
 	}
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+33220, uintptr(0), uintptr(0), p+64)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+33267, uintptr(0), uintptr(0), p+64)
 	}
 
 	rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp)))
@@ -173836,7 +173894,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 {
 						if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 							rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-								ts+33245, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
+								ts+33292, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 						}
 					} else {
 						rbuObjIterPrepareAll(tls, p, pIter, 0)
@@ -173958,7 +174016,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) {
 
 		if rc == SQLITE_OK && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) {
 			rc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33273, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33320, 0)
 		}
 
 		if rc == SQLITE_OK {
@@ -173974,7 +174032,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	var zOal uintptr = rbuMPrintf(tls, p, ts+32722, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
+	var zOal uintptr = rbuMPrintf(tls, p, ts+32769, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
 	if zOal != 0 {
 		*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+7793, SQLITE_FCNTL_VFS_POINTER, bp+8)
@@ -173991,7 +174049,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) {
 	defer tls.Free(76)
 
 	Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8)
-	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+33298, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
+	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+33345, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12, uintptr(0))
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12)
@@ -174025,7 +174083,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) {
 
 	rc = prepareFreeAndCollectError(tls, db, bp+8, bp+16,
 		Xsqlite3_mprintf(tls,
-			ts+33309, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
+			ts+33356, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
 	if rc != SQLITE_OK {
 		Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 16)), -1)
 	} else {
@@ -174055,13 +174113,13 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+33381, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+33428, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuIndexCntFunc})), uintptr(0), uintptr(0))
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+33395)
+				ts+33442)
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
@@ -174072,7 +174130,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && bExists != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+33452)
+				ts+33499)
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
@@ -174146,7 +174204,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd != 0 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33526, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33573, 0)
 			} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_MOVE {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CKPT
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FnStep = 0
@@ -174164,12 +174222,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 			}()
 			if (*Rbu_file)(unsafe.Pointer(pFd)).FiCookie != (*RbuState)(unsafe.Pointer(pState)).FiCookie {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33558,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33605,
 					libc.VaList(bp+8, func() uintptr {
 						if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-							return ts + 33590
+							return ts + 33637
 						}
-						return ts + 33597
+						return ts + 33644
 					}()))
 			}
 		}
@@ -174193,14 +174251,14 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+33604, uintptr(0), uintptr(0), p+64)
+						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+33651, uintptr(0), uintptr(0), p+64)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 						var frc int32 = Xsqlite3_file_control(tls, db, ts+7793, SQLITE_FCNTL_ZIPVFS, uintptr(0))
 						if frc == SQLITE_OK {
 							(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls,
-								db, ts+33620, uintptr(0), uintptr(0), p+64)
+								db, ts+33667, uintptr(0), uintptr(0), p+64)
 						}
 					}
 
@@ -174254,7 +174312,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr
 	}
 	if zState != 0 {
 		var n int32 = int32(libc.Xstrlen(tls, zState))
-		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+33644, zState+uintptr(n-7), uint64(7)) {
+		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+33691, zState+uintptr(n-7), uint64(7)) {
 			return rbuMisuseError(tls)
 		}
 	}
@@ -174281,7 +174339,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) {
 		var i uint32
 		var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg)
 		for i = uint32(0); Size_t(i) < nErrmsg-uint64(8); i++ {
-			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+31669, uint64(8)) == 0 {
+			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+31716, uint64(8)) == 0 {
 				var nDel int32 = 8
 				for int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= '0' && int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= '9' {
 					nDel++
@@ -174317,7 +174375,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 {
 		rbuObjIterFinalize(tls, p+80)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 {
-			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+33652, uintptr(0), uintptr(0), uintptr(0))
+			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+33699, uintptr(0), uintptr(0), uintptr(0))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE && rc2 != SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 			}
@@ -174436,12 +174494,12 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 				zBegin = ts + 15860
 			} else {
-				zBegin = ts + 33604
+				zBegin = ts + 33651
 			}
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+33604, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+33651, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -174787,7 +174845,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 			})(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16)
 			if rc == SQLITE_OK {
 				rc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33679, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33726, 0)
 			} else if rc == SQLITE_NOTFOUND {
 				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p
 				(*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu
@@ -174812,7 +174870,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 	if rc == SQLITE_OK && op == SQLITE_FCNTL_VFSNAME {
 		var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs
 		var zIn uintptr = *(*uintptr)(unsafe.Pointer(pArg))
-		var zOut uintptr = Xsqlite3_mprintf(tls, ts+33702, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
+		var zOut uintptr = Xsqlite3_mprintf(tls, ts+33749, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
 		*(*uintptr)(unsafe.Pointer(pArg)) = zOut
 		if zOut == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -174972,7 +175030,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags
 	}
 
 	if oflags&SQLITE_OPEN_MAIN_DB != 0 &&
-		Xsqlite3_uri_boolean(tls, zName, ts+33713, 0) != 0 {
+		Xsqlite3_uri_boolean(tls, zName, ts+33760, 0) != 0 {
 		oflags = SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE
 		zOpen = uintptr(0)
 	}
@@ -175801,7 +175859,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 		rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0))
 		if rc == SQLITE_OK {
 			zPragma = Xsqlite3_mprintf(tls,
-				ts+33724, 0)
+				ts+33771, 0)
 		} else if rc == SQLITE_ERROR {
 			zPragma = Xsqlite3_mprintf(tls, ts+1544, 0)
 		} else {
@@ -175814,7 +175872,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 			return rc
 		}
 	} else {
-		zPragma = Xsqlite3_mprintf(tls, ts+33845, libc.VaList(bp, zDb, zThis))
+		zPragma = Xsqlite3_mprintf(tls, ts+33892, libc.VaList(bp, zDb, zThis))
 	}
 	if !(zPragma != 0) {
 		*(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0)
@@ -176494,9 +176552,9 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr,
 
 	for i = 0; i < nCol; i++ {
 		if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
-			zRet = Xsqlite3_mprintf(tls, ts+33874,
+			zRet = Xsqlite3_mprintf(tls, ts+33921,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 22894
+			zSep = ts + 22941
 			if zRet == uintptr(0) {
 				break
 			}
@@ -176519,9 +176577,9 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 		if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 {
 			bHave = 1
 			zRet = Xsqlite3_mprintf(tls,
-				ts+33908,
+				ts+33955,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 33949
+			zSep = ts + 33996
 			if zRet == uintptr(0) {
 				break
 			}
@@ -176529,7 +176587,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 	}
 
 	if bHave == 0 {
-		zRet = Xsqlite3_mprintf(tls, ts+8882, 0)
+		zRet = Xsqlite3_mprintf(tls, ts+8871, 0)
 	}
 
 	return zRet
@@ -176540,7 +176598,7 @@ func sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, zTbl uintpt
 	defer tls.Free(40)
 
 	var zRet uintptr = Xsqlite3_mprintf(tls,
-		ts+33954,
+		ts+34001,
 		libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr))
 	return zRet
 }
@@ -176583,7 +176641,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro
 		rc = SQLITE_NOMEM
 	} else {
 		var zStmt uintptr = Xsqlite3_mprintf(tls,
-			ts+34032,
+			ts+34079,
 			libc.VaList(bp, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2))
 		if zStmt == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -176710,7 +176768,7 @@ __6:
 	if !(pzErrMsg != 0) {
 		goto __16
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+34085, 0)
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+34132, 0)
 __16:
 	;
 	rc = SQLITE_SCHEMA
@@ -177186,7 +177244,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 
 	if 0 == Xsqlite3_stricmp(tls, ts+12700, zTab) {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+34112, libc.VaList(bp, zDb))
+			ts+34159, libc.VaList(bp, zDb))
 		if zSql == uintptr(0) {
 			*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_NOMEM
 		}
@@ -177195,18 +177253,18 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 		var zSep uintptr = ts + 1544
 		*(*SessionBuffer)(unsafe.Pointer(bp + 8)) = SessionBuffer{}
 
-		sessionAppendStr(tls, bp+8, ts+34222, bp+24)
+		sessionAppendStr(tls, bp+8, ts+34269, bp+24)
 		sessionAppendIdent(tls, bp+8, zDb, bp+24)
 		sessionAppendStr(tls, bp+8, ts+1557, bp+24)
 		sessionAppendIdent(tls, bp+8, zTab, bp+24)
-		sessionAppendStr(tls, bp+8, ts+34237, bp+24)
+		sessionAppendStr(tls, bp+8, ts+34284, bp+24)
 		for i = 0; i < nCol; i++ {
 			if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
 				sessionAppendStr(tls, bp+8, zSep, bp+24)
 				sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+24)
-				sessionAppendStr(tls, bp+8, ts+34245, bp+24)
+				sessionAppendStr(tls, bp+8, ts+34292, bp+24)
 				sessionAppendInteger(tls, bp+8, i+1, bp+24)
-				zSep = ts + 22894
+				zSep = ts + 22941
 			}
 		}
 		zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8)).FaBuf
@@ -177315,7 +177373,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 {
 		return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc
 	}
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+34251, uintptr(0), uintptr(0), uintptr(0))
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+34298, uintptr(0), uintptr(0), uintptr(0))
 	if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
@@ -177407,7 +177465,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	}
 
 	Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24)).FaBuf)
-	Xsqlite3_exec(tls, db, ts+34271, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+34318, uintptr(0), uintptr(0), uintptr(0))
 	Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db))
 	return *(*int32)(unsafe.Pointer(bp + 40))
 }
@@ -177670,7 +177728,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 		rc = sessionInputBuffer(tls, pIn, 9)
 		if rc == SQLITE_OK {
 			if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData {
-				rc = Xsqlite3CorruptError(tls, 219078)
+				rc = Xsqlite3CorruptError(tls, 219169)
 			} else {
 				eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1)))))
 
@@ -177693,7 +177751,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 				rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
 				if rc == SQLITE_OK {
 					if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext {
-						rc = Xsqlite3CorruptError(tls, 219098)
+						rc = Xsqlite3CorruptError(tls, 219189)
 					} else {
 						var enc U8 = func() uint8 {
 							if eType == SQLITE_TEXT {
@@ -177735,7 +177793,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in
 		nRead = nRead + sessionVarintGet(tls, (*SessionInput)(unsafe.Pointer(pIn)).FaData+uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext+nRead), bp)
 
 		if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > 65536 {
-			rc = Xsqlite3CorruptError(tls, 219152)
+			rc = Xsqlite3CorruptError(tls, 219243)
 		} else {
 			rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100)
 			nRead = nRead + *(*int32)(unsafe.Pointer(bp))
@@ -177796,7 +177854,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 {
 			(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
 			sessionBufferGrow(tls, p+72, int64(nByte), bp+4)
 		} else {
-			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219240)
+			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219331)
 		}
 	}
 
@@ -177870,13 +177928,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 	}
 
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219326))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219417))
 	}
 
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op)
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))))
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219332))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219423))
 	}
 
 	if paRec != 0 {
@@ -177938,7 +177996,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 				if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8))
 					if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) {
-						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219376))
+						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219467))
 					}
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0)
 				}
@@ -178311,7 +178369,7 @@ __27:
 	goto __6
 
 __11:
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219741)
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219832)
 	goto finished_invert
 __6:
 	;
@@ -178490,34 +178548,34 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32,
 				(*SessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24
 				libc.Xmemcpy(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(unsafe.Sizeof(U32(0))))
 
-				sessionAppendStr(tls, bp, ts+34289, bp+16)
+				sessionAppendStr(tls, bp, ts+34336, bp+16)
 				sessionAppendIdent(tls, bp, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+16)
-				sessionAppendStr(tls, bp, ts+34302, bp+16)
+				sessionAppendStr(tls, bp, ts+34349, bp+16)
 
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-						sessionAppendStr(tls, bp, ts+34308, bp+16)
+						sessionAppendStr(tls, bp, ts+34355, bp+16)
 						sessionAppendInteger(tls, bp, ii*2+1, bp+16)
 						zSep = ts + 15971
 					}
 				}
 
 				zSep = ts + 1544
-				sessionAppendStr(tls, bp, ts+34237, bp+16)
+				sessionAppendStr(tls, bp, ts+34284, bp+16)
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						if bStat1 != 0 && ii == 1 {
 							sessionAppendStr(tls, bp,
-								ts+34313, bp+16)
+								ts+34360, bp+16)
 						} else {
 							sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-							sessionAppendStr(tls, bp, ts+34245, bp+16)
+							sessionAppendStr(tls, bp, ts+34292, bp+16)
 							sessionAppendInteger(tls, bp, ii*2+2, bp+16)
 						}
-						zSep = ts + 22894
+						zSep = ts + 22941
 					}
 				}
 
@@ -178569,34 +178627,34 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 	var nPk int32 = 0
 
-	sessionAppendStr(tls, bp, ts+34388, bp+16)
+	sessionAppendStr(tls, bp, ts+34435, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+34237, bp+16)
+	sessionAppendStr(tls, bp, ts+34284, bp+16)
 
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 			nPk++
 			sessionAppendStr(tls, bp, zSep, bp+16)
 			sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-			sessionAppendStr(tls, bp, ts+34308, bp+16)
+			sessionAppendStr(tls, bp, ts+34355, bp+16)
 			sessionAppendInteger(tls, bp, i+1, bp+16)
-			zSep = ts + 22894
+			zSep = ts + 22941
 		}
 	}
 
 	if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol {
-		sessionAppendStr(tls, bp, ts+34406, bp+16)
+		sessionAppendStr(tls, bp, ts+34453, bp+16)
 		sessionAppendInteger(tls, bp, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol+1, bp+16)
-		sessionAppendStr(tls, bp, ts+33949, bp+16)
+		sessionAppendStr(tls, bp, ts+33996, bp+16)
 
 		zSep = ts + 1544
 		for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 			if !(int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i)))) != 0) {
 				sessionAppendStr(tls, bp, zSep, bp+16)
 				sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-				sessionAppendStr(tls, bp, ts+34245, bp+16)
+				sessionAppendStr(tls, bp, ts+34292, bp+16)
 				sessionAppendInteger(tls, bp, i+1, bp+16)
-				zSep = ts + 34414
+				zSep = ts + 34461
 			}
 		}
 		sessionAppendStr(tls, bp, ts+6309, bp+16)
@@ -178623,9 +178681,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	var i int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 
-	sessionAppendStr(tls, bp, ts+34419, bp+16)
+	sessionAppendStr(tls, bp, ts+34466, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+22900, bp+16)
+	sessionAppendStr(tls, bp, ts+22947, bp+16)
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if i != 0 {
 			sessionAppendStr(tls, bp, ts+15971, bp+16)
@@ -178633,9 +178691,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 		sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
 	}
 
-	sessionAppendStr(tls, bp, ts+34437, bp+16)
+	sessionAppendStr(tls, bp, ts+34484, bp+16)
 	for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
-		sessionAppendStr(tls, bp, ts+34448, bp+16)
+		sessionAppendStr(tls, bp, ts+34495, bp+16)
 	}
 	sessionAppendStr(tls, bp, ts+6309, bp+16)
 
@@ -178654,11 +178712,11 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 {
 	var rc int32 = sessionSelectRow(tls, db, ts+12700, p)
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+16,
-			ts+34452)
+			ts+34499)
 	}
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+8,
-			ts+34565)
+			ts+34612)
 	}
 	return rc
 }
@@ -178686,7 +178744,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab
 				f func(*libc.TLS, uintptr, int32, uintptr) int32
 			})(unsafe.Pointer(&struct{ uintptr }{xValue})).f(tls, pIter, i, bp)
 			if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
-				rc = Xsqlite3CorruptError(tls, 220219)
+				rc = Xsqlite3CorruptError(tls, 220310)
 			} else {
 				rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp)))
 			}
@@ -178939,7 +178997,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 		if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
 			rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 		} else if *(*int32)(unsafe.Pointer(bp)) != 0 {
-			rc = Xsqlite3_exec(tls, db, ts+34709, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+34756, uintptr(0), uintptr(0), uintptr(0))
 			if rc == SQLITE_OK {
 				rc = sessionBindRow(tls, pIter,
 					*(*uintptr)(unsafe.Pointer(&struct {
@@ -178955,7 +179013,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 				rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 			}
 			if rc == SQLITE_OK {
-				rc = Xsqlite3_exec(tls, db, ts+34730, uintptr(0), uintptr(0), uintptr(0))
+				rc = Xsqlite3_exec(tls, db, ts+34777, uintptr(0), uintptr(0), uintptr(0))
 			}
 		}
 	}
@@ -179028,10 +179086,10 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 	(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FbInvertConstraints = libc.BoolInt32(!!(flags&SQLITE_CHANGESETAPPLY_INVERT != 0))
 	Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db))
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
-		rc = Xsqlite3_exec(tls, db, ts+34749, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+34796, uintptr(0), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_exec(tls, db, ts+34775, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+34822, uintptr(0), uintptr(0), uintptr(0))
 	}
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3changeset_next(tls, pIter) {
 		Xsqlite3changeset_op(tls, pIter, bp+176, bp+184, bp+188, uintptr(0))
@@ -179090,16 +179148,16 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 				if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol == 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+34805, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+34852, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol < *(*int32)(unsafe.Pointer(bp + 184)) {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+34849,
+						ts+34896,
 						libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 200)), (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol, *(*int32)(unsafe.Pointer(bp + 184))))
 				} else if *(*int32)(unsafe.Pointer(bp + 184)) < nMinCol || libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 192)), uint64(*(*int32)(unsafe.Pointer(bp + 184)))) != 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+34920, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+34967, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else {
 					(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FnCol = *(*int32)(unsafe.Pointer(bp + 184))
 					if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), ts+12700) {
@@ -179153,14 +179211,14 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 			}
 		}
 	}
-	Xsqlite3_exec(tls, db, ts+34980, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+35027, uintptr(0), uintptr(0), uintptr(0))
 
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, db, ts+35010, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+35057, uintptr(0), uintptr(0), uintptr(0))
 		} else {
-			Xsqlite3_exec(tls, db, ts+35034, uintptr(0), uintptr(0), uintptr(0))
-			Xsqlite3_exec(tls, db, ts+35010, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+35081, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+35057, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -180408,7 +180466,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) {
 		fts5yy_pop_parser_stack(tls, fts5yypParser)
 	}
 
-	sqlite3Fts5ParseError(tls, pParse, ts+35062, 0)
+	sqlite3Fts5ParseError(tls, pParse, ts+35109, 0)
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -180696,7 +180754,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32
 
 	_ = fts5yymajor
 	sqlite3Fts5ParseError(tls,
-		pParse, ts+35090, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
+		pParse, ts+35137, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -180883,7 +180941,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int
 		if n < 0 {
 			n = int32(libc.Xstrlen(tls, z))
 		}
-		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+35121, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
+		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+35168, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
 		if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) {
 			*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 		}
@@ -180951,7 +181009,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp
 	var iCol int32
 
 	if nVal != 3 {
-		var zErr uintptr = ts + 35128
+		var zErr uintptr = ts + 35175
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -181133,7 +181191,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
 	var nCol int32
 
 	if nVal != 5 {
-		var zErr uintptr = ts + 35178
+		var zErr uintptr = ts + 35225
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -181457,13 +181515,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(96)
 
 	*(*[3]Builtin)(unsafe.Pointer(bp)) = [3]Builtin{
-		{FzFunc: ts + 35226, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 35273, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5SnippetFunction}))},
-		{FzFunc: ts + 35234, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 35281, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5HighlightFunction}))},
-		{FzFunc: ts + 35244, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 35291, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5Bm25Function}))},
 	}
@@ -182014,7 +182072,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 	var nCmd int32 = int32(libc.Xstrlen(tls, zCmd))
-	if Xsqlite3_strnicmp(tls, ts+35249, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+35296, zCmd, nCmd) == 0 {
 		var nByte int32 = int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))
 		var p uintptr
 		var bFirst int32 = 1
@@ -182041,14 +182099,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 				break
 			}
 			if int32(*(*int8)(unsafe.Pointer(p))) < '0' || int32(*(*int8)(unsafe.Pointer(p))) > '9' {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35256, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35303, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
 
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES {
 				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-					ts+35287, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
+					ts+35334, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -182059,7 +182117,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 			}
 
 			if nPre <= 0 || nPre >= 1000 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35320, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35367, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -182072,7 +182130,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+35357, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+35404, zCmd, nCmd) == 0 {
 		var p uintptr = zArg
 		var nArg Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zArg) + uint64(1))
 		var azArg uintptr = sqlite3Fts5MallocZero(tls, bp+40, int64(uint64(unsafe.Sizeof(uintptr(0)))*uint64(nArg)))
@@ -182081,7 +182139,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 		if azArg != 0 && pSpace != 0 {
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35366, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35413, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				for nArg = int64(0); p != 0 && *(*int8)(unsafe.Pointer(p)) != 0; nArg++ {
@@ -182100,7 +182158,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 					}
 				}
 				if p == uintptr(0) {
-					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35399, 0)
+					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35446, 0)
 					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				} else {
 					*(*int32)(unsafe.Pointer(bp + 40)) = sqlite3Fts5GetTokenizer(tls, pGlobal,
@@ -182115,14 +182173,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+35433, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+35480, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35441, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35488, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			if *(*int8)(unsafe.Pointer(zArg)) != 0 {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_EXTERNAL
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+35473, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+35520, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
 			} else {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE
 			}
@@ -182130,9 +182188,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+35479, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+35526, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35493, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35540, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40, zArg, -1)
@@ -182140,9 +182198,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+35531, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+35578, zCmd, nCmd) == 0 {
 		if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35542, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35589, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')
@@ -182154,17 +182212,17 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		*(*[4]Fts5Enum)(unsafe.Pointer(bp + 48)) = [4]Fts5Enum{
 			{FzName: ts + 9378, FeVal: FTS5_DETAIL_NONE},
 			{FzName: ts + 18714},
-			{FzName: ts + 35577, FeVal: FTS5_DETAIL_COLUMNS},
+			{FzName: ts + 35624, FeVal: FTS5_DETAIL_COLUMNS},
 			{},
 		}
 
 		if libc.AssignPtrInt32(bp+40, fts5ConfigSetEnum(tls, bp+48, zArg, pConfig+92)) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35585, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35632, 0)
 		}
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35616, libc.VaList(bp+24, nCmd, zCmd))
+	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35663, libc.VaList(bp+24, nCmd, zCmd))
 	return SQLITE_ERROR
 }
 
@@ -182211,15 +182269,15 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr,
 	defer tls.Free(16)
 
 	var rc int32 = SQLITE_OK
-	if 0 == Xsqlite3_stricmp(tls, zCol, ts+23560) ||
+	if 0 == Xsqlite3_stricmp(tls, zCol, ts+23607) ||
 		0 == Xsqlite3_stricmp(tls, zCol, ts+17625) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35644, libc.VaList(bp, zCol))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35691, libc.VaList(bp, zCol))
 		rc = SQLITE_ERROR
 	} else if zArg != 0 {
-		if 0 == Xsqlite3_stricmp(tls, zArg, ts+35674) {
+		if 0 == Xsqlite3_stricmp(tls, zArg, ts+35721) {
 			*(*U8)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*Fts5Config)(unsafe.Pointer(p)).FnCol))) = U8(1)
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35684, libc.VaList(bp+8, zArg))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35731, libc.VaList(bp+8, zArg))
 			rc = SQLITE_ERROR
 		}
 	}
@@ -182236,13 +182294,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_OK
 	*(*Fts5Buffer)(unsafe.Pointer(bp + 32)) = Fts5Buffer{}
 
-	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+35715, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
+	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+35762, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
 	if (*Fts5Config)(unsafe.Pointer(p)).FeContent != FTS5_CONTENT_NONE {
 		for i = 0; i < (*Fts5Config)(unsafe.Pointer(p)).FnCol; i++ {
 			if (*Fts5Config)(unsafe.Pointer(p)).FeContent == FTS5_CONTENT_EXTERNAL {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+35720, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+35767, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
 			} else {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+35727, libc.VaList(bp+16, i))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+35774, libc.VaList(bp+16, i))
 			}
 		}
 	}
@@ -182280,8 +182338,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 	(*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -1)
 	(*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize = 1
 	(*Fts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL
-	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+23560) == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35735, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
+	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+23607) == 0 {
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35782, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
 		*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 	}
 
@@ -182313,7 +182371,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 
 		if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK {
 			if z == uintptr(0) {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35764, libc.VaList(bp+8, zOrig))
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35811, libc.VaList(bp+8, zOrig))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				if bOption != 0 {
@@ -182350,14 +182408,14 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 		var zTail uintptr = uintptr(0)
 
 		if (*Fts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL {
-			zTail = ts + 35433
+			zTail = ts + 35480
 		} else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 {
-			zTail = ts + 35784
+			zTail = ts + 35831
 		}
 
 		if zTail != 0 {
 			(*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls,
-				bp+40, ts+35792, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
+				bp+40, ts+35839, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
 		}
 	}
 
@@ -182406,7 +182464,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_OK
 	var zSql uintptr
 
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+35803, 0)
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+35850, 0)
 	for i = 0; zSql != 0 && i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
 		var zSep uintptr = func() uintptr {
 			if i == 0 {
@@ -182414,10 +182472,10 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 			}
 			return ts + 15971
 		}()
-		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+35819, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
+		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+35866, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
 	}
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+35826,
-		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+23560))
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+35873,
+		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+23607))
 
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql)
@@ -182527,7 +182585,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 
 	var rc int32 = SQLITE_OK
 
-	if 0 == Xsqlite3_stricmp(tls, zKey, ts+35852) {
+	if 0 == Xsqlite3_stricmp(tls, zKey, ts+35899) {
 		var pgsz int32 = 0
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			pgsz = Xsqlite3_value_int(tls, pVal)
@@ -182537,7 +182595,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+35857) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+35904) {
 		var nHashSize int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nHashSize = Xsqlite3_value_int(tls, pVal)
@@ -182547,7 +182605,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+35866) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+35913) {
 		var nAutomerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nAutomerge = Xsqlite3_value_int(tls, pVal)
@@ -182560,7 +182618,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+35876) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+35923) {
 		var nUsermerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nUsermerge = Xsqlite3_value_int(tls, pVal)
@@ -182570,7 +182628,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+35886) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+35933) {
 		var nCrisisMerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nCrisisMerge = Xsqlite3_value_int(tls, pVal)
@@ -182586,7 +182644,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+23560) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+23607) {
 		var zIn uintptr = Xsqlite3_value_text(tls, pVal)
 
 		rc = sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8)
@@ -182609,7 +182667,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 	bp := tls.Alloc(52)
 	defer tls.Free(52)
 
-	var zSelect uintptr = ts + 35898
+	var zSelect uintptr = ts + 35945
 	var zSql uintptr
 	*(*uintptr)(unsafe.Pointer(bp + 40)) = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
@@ -182631,7 +182689,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) {
 			var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 0)
 			var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 1)
-			if 0 == Xsqlite3_stricmp(tls, zK, ts+35930) {
+			if 0 == Xsqlite3_stricmp(tls, zK, ts+35977) {
 				iVersion = Xsqlite3_value_int(tls, pVal)
 			} else {
 				*(*int32)(unsafe.Pointer(bp + 48)) = 0
@@ -182645,7 +182703,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 {
 			*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-				ts+35938,
+				ts+35985,
 				libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION))
 		}
 	}
@@ -182743,7 +182801,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 					}
 				}
 				if int32(*(*int8)(unsafe.Pointer(z2))) == 0 {
-					sqlite3Fts5ParseError(tls, pParse, ts+36003, 0)
+					sqlite3Fts5ParseError(tls, pParse, ts+36050, 0)
 					return FTS5_EOF
 				}
 			}
@@ -182756,20 +182814,20 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 		{
 			var z2 uintptr
 			if sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z))) == 0 {
-				sqlite3Fts5ParseError(tls, pParse, ts+36023, libc.VaList(bp, z))
+				sqlite3Fts5ParseError(tls, pParse, ts+36070, libc.VaList(bp, z))
 				return FTS5_EOF
 			}
 			tok = FTS5_STRING
 			for z2 = z + 1; sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z2))) != 0; z2++ {
 			}
 			(*Fts5Token)(unsafe.Pointer(pToken)).Fn = int32((int64(z2) - int64(z)) / 1)
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+36054, uint64(2)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+36101, uint64(2)) == 0 {
 				tok = FTS5_OR
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+36057, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+36104, uint64(3)) == 0 {
 				tok = FTS5_NOT
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+31439, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+31486, uint64(3)) == 0 {
 				tok = FTS5_AND
 			}
 			break
@@ -184547,9 +184605,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+36061, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
+	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+36108, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
 		sqlite3Fts5ParseError(tls,
-			pParse, ts+35090, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
+			pParse, ts+35137, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
 	}
 }
 
@@ -184565,7 +184623,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p
 				var c int8 = *(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))
 				if int32(c) < '0' || int32(c) > '9' {
 					sqlite3Fts5ParseError(tls,
-						pParse, ts+36066, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
+						pParse, ts+36113, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
 					return
 				}
 				nNear = nNear*10 + (int32(*(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - '0')
@@ -184652,7 +184710,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui
 			}
 		}
 		if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol {
-			sqlite3Fts5ParseError(tls, pParse, ts+21897, libc.VaList(bp, z))
+			sqlite3Fts5ParseError(tls, pParse, ts+21944, libc.VaList(bp, z))
 		} else {
 			pRet = fts5ParseColset(tls, pParse, pColset, iCol)
 		}
@@ -184733,7 +184791,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo
 	*(*uintptr)(unsafe.Pointer(bp)) = pColset
 	if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE {
 		sqlite3Fts5ParseError(tls, pParse,
-			ts+36095, 0)
+			ts+36142, 0)
 	} else {
 		fts5ParseSetColset(tls, pParse, pExpr, pColset, bp)
 	}
@@ -184903,12 +184961,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 1 ||
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*Fts5ExprTerm)(unsafe.Pointer(pPhrase+32)).FbFirst != 0 {
 							sqlite3Fts5ParseError(tls, pParse,
-								ts+36148,
+								ts+36195,
 								libc.VaList(bp, func() uintptr {
 									if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 {
-										return ts + 36198
+										return ts + 36245
 									}
-									return ts + 36061
+									return ts + 36108
 								}()))
 							Xsqlite3_free(tls, pRet)
 							pRet = uintptr(0)
@@ -185851,7 +185909,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK {
 			var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 			rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb,
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+36205, iRowid, 0, p+56)
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+36252, iRowid, 0, p+56)
 		}
 
 		if rc == SQLITE_ERROR {
@@ -185930,7 +185988,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in
 	if (*Fts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+64, Xsqlite3_mprintf(tls,
-			ts+36211,
+			ts+36258,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 		if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 			return
@@ -185955,7 +186013,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = Xsqlite3_mprintf(tls,
-			ts+36262,
+			ts+36309,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if fts5IndexPrepareStmt(tls, p, p+72, zSql) != 0 {
 			return
@@ -185978,7 +186036,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+88, Xsqlite3_mprintf(tls,
-			ts+36311,
+			ts+36358,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -186217,7 +186275,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 {
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) {
 			(*Fts5Index)(unsafe.Pointer(p)).Frc = fts5IndexPrepareStmt(tls, p, p+112,
-				Xsqlite3_mprintf(tls, ts+36351, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
+				Xsqlite3_mprintf(tls, ts+36398, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
 			if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 				return int64(0)
 			}
@@ -187416,7 +187474,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls,
-			ts+36374,
+			ts+36421,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect
@@ -188882,7 +188940,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls,
-			ts+36458,
+			ts+36505,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 
@@ -189964,13 +190022,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		(*Fts5Index)(unsafe.Pointer(p)).FpConfig = pConfig
 		(*Fts5Index)(unsafe.Pointer(p)).FnWorkUnit = FTS5_WORK_UNIT
-		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+36515, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+36562, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 {
 			*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+26432, ts+36523, 0, pzErr)
+				pConfig, ts+26479, ts+36570, 0, pzErr)
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 				*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls, pConfig, ts+12840,
-					ts+36558,
+					ts+36605,
 					1, pzErr)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
@@ -190223,7 +190281,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 {
 	sqlite3Fts5Put32(tls, bp, iNew)
 
 	rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl,
-		ts+36205, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
+		ts+36252, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
 	if rc == SQLITE_OK {
 		Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, 4, 0)
 		rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
@@ -190337,7 +190395,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) {
 	}
 
 	fts5IndexPrepareStmt(tls, p, bp+24, Xsqlite3_mprintf(tls,
-		ts+36602,
+		ts+36649,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid)))
 
 	for (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
@@ -190507,7 +190565,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks
 		} else {
 			(*Fts5Buffer)(unsafe.Pointer(bp + 16)).Fn = 0
 			fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp))+96+uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaFirst+1*4)).FiFirst)*120, uintptr(0), bp+16)
-			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+36688)
+			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+36735)
 			for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fn, bp+32, bp+40) {
 				var iCol int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) >> 32)
 				var iTokOff int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) & int64(0x7FFFFFFF))
@@ -190778,7 +190836,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 {
 
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 {
 		(*Fts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+36693, 0)
+			ts+36740, 0)
 		return SQLITE_ERROR
 	}
 
@@ -191202,7 +191260,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 	(*Fts5Sorter)(unsafe.Pointer(pSorter)).FnIdx = nPhrase
 
 	rc = fts5PrepareStatement(tls, pSorter, pConfig,
-		ts+36732,
+		ts+36779,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			func() uintptr {
 				if zRankArgs != 0 {
@@ -191218,9 +191276,9 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 			}(),
 			func() uintptr {
 				if bDesc != 0 {
-					return ts + 36787
+					return ts + 36834
 				}
-				return ts + 36792
+				return ts + 36839
 			}()))
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter
@@ -191266,12 +191324,12 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr)
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan = FTS5_PLAN_SPECIAL
 
-	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+36796, z, n) {
+	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+36843, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = I64(sqlite3Fts5IndexReads(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex))
 	} else if n == 2 && 0 == Xsqlite3_strnicmp(tls, ts+6409, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId
 	} else {
-		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+36802, libc.VaList(bp, n, z))
+		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+36849, libc.VaList(bp, n, z))
 		rc = SQLITE_ERROR
 	}
 
@@ -191302,7 +191360,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs
 
 	if zRankArgs != 0 {
-		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+36830, libc.VaList(bp, zRankArgs))
+		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+36877, libc.VaList(bp, zRankArgs))
 		if zSql != 0 {
 			*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 			*(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1,
@@ -191333,7 +191391,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 		pAux = fts5FindAuxiliary(tls, pTab, zRank)
 		if pAux == uintptr(0) {
-			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+36840, libc.VaList(bp+8, zRank))
+			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+36887, libc.VaList(bp+8, zRank))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		}
 	}
@@ -191365,14 +191423,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin
 			*(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_FREE_ZRANK
 		} else if rc == SQLITE_ERROR {
 			(*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+36861, libc.VaList(bp, z))
+				ts+36908, libc.VaList(bp, z))
 		}
 	} else {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank != 0 {
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRankArgs
 		} else {
-			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 35244
+			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 35291
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0)
 		}
 	}
@@ -191428,7 +191486,7 @@ func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintp
 		goto __1
 	}
 	(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+36693, 0)
+		ts+36740, 0)
 	return SQLITE_ERROR
 __1:
 	;
@@ -191645,7 +191703,7 @@ __35:
 		goto __40
 	}
 	*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-		ts+36894, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		ts+36941, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	rc = SQLITE_ERROR
 	goto __41
 __40:
@@ -191790,28 +191848,28 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr)
 	var rc int32 = SQLITE_OK
 	*(*int32)(unsafe.Pointer(bp)) = 0
 
-	if 0 == Xsqlite3_stricmp(tls, ts+36930, zCmd) {
+	if 0 == Xsqlite3_stricmp(tls, ts+36977, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			fts5SetVtabError(tls, pTab,
-				ts+36941, 0)
+				ts+36988, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, ts+37021, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+37068, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE {
 			fts5SetVtabError(tls, pTab,
-				ts+37029, 0)
+				ts+37076, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
 	} else if 0 == Xsqlite3_stricmp(tls, ts+18313, zCmd) {
 		rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+37085, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+37132, zCmd) {
 		var nMerge int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageMerge(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, nMerge)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+37091, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+37138, zCmd) {
 		var iArg int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg)
 	} else {
@@ -191882,12 +191940,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p
 
 		if eType0 == SQLITE_INTEGER && fts5IsContentless(tls, pTab) != 0 {
 			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+37107,
+				ts+37154,
 				libc.VaList(bp, func() uintptr {
 					if nArg > 1 {
-						return ts + 21798
+						return ts + 21845
 					}
-					return ts + 37144
+					return ts + 37191
 				}(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		} else if nArg == 1 {
@@ -192517,7 +192575,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 
 	pCsr = fts5CursorFromCsrid(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId)
 	if pCsr == uintptr(0) || (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 {
-		var zErr uintptr = Xsqlite3_mprintf(tls, ts+37156, libc.VaList(bp, iCsrId))
+		var zErr uintptr = Xsqlite3_mprintf(tls, ts+37203, libc.VaList(bp, iCsrId))
 		Xsqlite3_result_error(tls, context, zErr, -1)
 		Xsqlite3_free(tls, zErr)
 	} else {
@@ -192761,7 +192819,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 	}())
 	if pMod == uintptr(0) {
 		rc = SQLITE_ERROR
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37177, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37224, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
 	} else {
 		rc = (*struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
@@ -192780,7 +192838,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 		(*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16
 		if rc != SQLITE_OK {
 			if pzErr != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37199, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37246, 0)
 			}
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls,
@@ -192827,7 +192885,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 	var ppApi uintptr
 	_ = nArg
 
-	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+37230)
+	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+37277)
 	if ppApi != 0 {
 		*(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal
 	}
@@ -192836,7 +192894,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) {
 	_ = nArg
 	_ = apUnused
-	Xsqlite3_result_text(tls, pCtx, ts+37243, -1, libc.UintptrFromInt32(-1))
+	Xsqlite3_result_text(tls, pCtx, ts+37290, -1, libc.UintptrFromInt32(-1))
 }
 
 func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
@@ -192850,7 +192908,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName2 = [5]uintptr{
-	ts + 37334, ts + 35433, ts + 26432, ts + 35784, ts + 12840,
+	ts + 37381, ts + 35480, ts + 26479, ts + 35831, ts + 12840,
 }
 
 func fts5Init(tls *libc.TLS, db uintptr) int32 {
@@ -192874,7 +192932,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		(*Fts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32
 		}{fts5FindTokenizer}))
-		rc = Xsqlite3_create_module_v2(tls, db, ts+37341, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+37388, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5IndexInit(tls, db)
 		}
@@ -192892,13 +192950,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+37341, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+				db, ts+37388, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
 				}{fts5Fts5Func})), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+37346, 0,
+				db, ts+37393, 0,
 				SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
 				p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
@@ -192955,17 +193013,17 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p
 
 	if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) {
 		*(*[11]uintptr)(unsafe.Pointer(bp + 128)) = [11]uintptr{
-			ts + 37361,
-			ts + 37429,
-			ts + 37498,
-			ts + 37531,
-			ts + 37570,
-			ts + 37610,
-			ts + 37649,
-			ts + 37690,
-			ts + 37729,
-			ts + 37771,
-			ts + 37811,
+			ts + 37408,
+			ts + 37476,
+			ts + 37545,
+			ts + 37578,
+			ts + 37617,
+			ts + 37657,
+			ts + 37696,
+			ts + 37737,
+			ts + 37776,
+			ts + 37818,
+			ts + 37858,
 		}
 		var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = uintptr(0)
@@ -193067,18 +193125,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 {
 	defer tls.Free(80)
 
 	var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+37834,
+		ts+37881,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+37938,
+			ts+37985,
 			libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+37976,
+			ts+38023,
 			libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	return rc
@@ -193090,7 +193148,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin
 
 	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(pRc)) = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+38014,
+			ts+38061,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail))
 	}
 }
@@ -193102,14 +193160,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in
 	var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig
 	*(*int32)(unsafe.Pointer(bp)) = sqlite3Fts5StorageSync(tls, pStorage)
 
-	fts5StorageRenameOne(tls, pConfig, bp, ts+26432, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+26479, zName)
 	fts5StorageRenameOne(tls, pConfig, bp, ts+12840, zName)
-	fts5StorageRenameOne(tls, pConfig, bp, ts+37334, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+37381, zName)
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+35784, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+35831, zName)
 	}
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+35433, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+35480, zName)
 	}
 	return *(*int32)(unsafe.Pointer(bp))
 }
@@ -193121,17 +193179,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn
 	var rc int32
 	*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
-	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+38056,
+	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+38103,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn,
 			func() uintptr {
 				if bWithout != 0 {
-					return ts + 31085
+					return ts + 31132
 				}
 				return ts + 1544
 			}()))
 	if *(*uintptr)(unsafe.Pointer(bp + 64)) != 0 {
 		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-			ts+38086,
+			ts+38133,
 			libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64))))
 		Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
@@ -193168,27 +193226,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre
 			} else {
 				var i int32
 				var iOff int32
-				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+38130, 0)
+				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+38177, 0)
 				iOff = int32(libc.Xstrlen(tls, zDefn))
 				for i = 0; i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
-					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+38153, libc.VaList(bp, i))
+					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+38200, libc.VaList(bp, i))
 					iOff = iOff + int32(libc.Xstrlen(tls, zDefn+uintptr(iOff)))
 				}
-				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+35433, zDefn, 0, pzErr)
+				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+35480, zDefn, 0, pzErr)
 			}
 			Xsqlite3_free(tls, zDefn)
 		}
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+35784, ts+38159, 0, pzErr)
+				pConfig, ts+35831, ts+38206, 0, pzErr)
 		}
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+37334, ts+38191, 1, pzErr)
+				pConfig, ts+37381, ts+38238, 1, pzErr)
 		}
 		if rc == SQLITE_OK {
-			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+35930, uintptr(0), FTS5_CURRENT_VERSION)
+			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+35977, uintptr(0), FTS5_CURRENT_VERSION)
 		}
 	}
 
@@ -193394,12 +193452,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 	(*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0
 
 	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+38208,
+		ts+38255,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+38258,
+			ts+38305,
 			libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 
@@ -193407,7 +193465,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 		rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex)
 	}
 	if rc == SQLITE_OK {
-		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+35930, uintptr(0), FTS5_CURRENT_VERSION)
+		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+35977, uintptr(0), FTS5_CURRENT_VERSION)
 	}
 	return rc
 }
@@ -193583,7 +193641,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr)
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+38287,
+	zSql = Xsqlite3_mprintf(tls, ts+38334,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix))
 	if zSql == uintptr(0) {
 		rc = SQLITE_NOMEM
@@ -193765,14 +193823,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 {
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			*(*I64)(unsafe.Pointer(bp + 48)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+35433, bp+48)
+			rc = fts5StorageCount(tls, p, ts+35480, bp+48)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 48)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
 		}
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			*(*I64)(unsafe.Pointer(bp + 56)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+35784, bp+56)
+			rc = fts5StorageCount(tls, p, ts+35831, bp+56)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 56)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
@@ -193967,9 +194025,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32,
 			libc.Xmemcpy(tls, p, uintptr(unsafe.Pointer(&aAsciiTokenChar)), uint64(unsafe.Sizeof(aAsciiTokenChar)))
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38319) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38366) {
 					fts5AsciiAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38330) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38377) {
 					fts5AsciiAddExceptions(tls, p, zArg, 0)
 				} else {
 					rc = SQLITE_ERROR
@@ -194184,7 +194242,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 	} else {
 		p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Unicode61Tokenizer{})))
 		if p != 0 {
-			var zCat uintptr = ts + 38341
+			var zCat uintptr = ts + 38388
 			var i int32
 			libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{})))
 
@@ -194196,7 +194254,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 			}
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38350) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38397) {
 					zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
 				}
 			}
@@ -194207,18 +194265,18 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38361) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38408) {
 					if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' && int32(*(*int8)(unsafe.Pointer(zArg))) != '2' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 						rc = SQLITE_ERROR
 					} else {
 						(*Unicode61Tokenizer)(unsafe.Pointer(p)).FeRemoveDiacritic = int32(*(*int8)(unsafe.Pointer(zArg))) - '0'
 
 					}
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38319) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38366) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38330) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38377) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 0)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38350) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38397) {
 				} else {
 					rc = SQLITE_ERROR
 				}
@@ -194494,7 +194552,7 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp
 	var rc int32 = SQLITE_OK
 	var pRet uintptr
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
-	var zBase uintptr = ts + 38379
+	var zBase uintptr = ts + 38426
 
 	if nArg > 0 {
 		zBase = *(*uintptr)(unsafe.Pointer(azArg))
@@ -194636,7 +194694,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38389, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38436, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -194644,11 +194702,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38392, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38439, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38397, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38444, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -194656,7 +194714,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'e':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38402, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38449, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -194664,7 +194722,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38405, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38452, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -194672,11 +194730,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38408, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38455, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38413, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38460, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -194684,19 +194742,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38418, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38465, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38422, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38469, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38428, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38475, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38433, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38480, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -194704,11 +194762,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'o':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38437, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38484, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38441, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38488, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -194716,7 +194774,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 's':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38444, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38491, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -194724,11 +194782,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38448, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38495, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38452, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38499, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -194736,7 +194794,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38456, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38503, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -194744,7 +194802,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38460, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38507, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -194752,7 +194810,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38464, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38511, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -194768,24 +194826,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38468, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+38448, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38515, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+38495, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'b':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38471, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+38474, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38518, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+38521, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38478, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+38464, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38525, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+38511, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
@@ -194800,44 +194858,44 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+38481, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+38528, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+38448, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+38495, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+38489, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+38536, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+38496, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+38543, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 4
 			}
 		}
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38501, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38548, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38397, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38444, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38506, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38553, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38392, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38439, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
 		}
 		break
 
 	case 'e':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38511, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38558, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38464, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38511, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 'g':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38516, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38563, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+16837, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
@@ -194846,91 +194904,91 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38521, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38568, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+38474, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+38521, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38525, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38572, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38389, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38436, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38530, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38577, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38433, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38480, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38536, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38583, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+38540, uint64(1))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+38587, uint64(1))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 1
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38542, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38589, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38456, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38503, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
 		}
 		break
 
 	case 'o':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+38548, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+38595, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+38464, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+38511, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38556, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38603, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38448, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38495, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38562, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38609, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38448, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38495, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38567, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38614, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38389, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38436, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+38573, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+38620, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+38460, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+38507, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+38581, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+38628, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+38589, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+38636, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+38593, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+38640, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+38456, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+38503, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
 		}
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38601, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38648, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38389, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38436, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38607, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38654, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38460, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38507, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+38613, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+38660, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+38474, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+38521, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 3
 			}
 		}
@@ -194945,16 +195003,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38620, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38667, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38405, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38452, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38625, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38672, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -194962,21 +195020,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38630, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38677, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38405, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38452, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38636, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38683, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38405, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38452, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38589, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38636, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -194984,7 +195042,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38642, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38689, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
@@ -194992,9 +195050,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38648, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38695, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38389, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38436, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
@@ -195009,12 +195067,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'e':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38654, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38701, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+38658, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+38705, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 2
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38661, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38708, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 				ret = 1
@@ -195023,7 +195081,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38664, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38711, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 				ret = 1
@@ -195179,7 +195237,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp
 		(*TrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = 1
 		for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 			var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38668) {
+			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38715) {
 				if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 					rc = SQLITE_ERROR
 				} else {
@@ -195359,22 +195417,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(128)
 
 	*(*[4]BuiltinTokenizer)(unsafe.Pointer(bp)) = [4]BuiltinTokenizer{
-		{FzName: ts + 38379, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 38426, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5UnicodeCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5UnicodeDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5UnicodeTokenize}))}},
-		{FzName: ts + 38683, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 38730, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5AsciiCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5AsciiDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5AsciiTokenize}))}},
-		{FzName: ts + 38689, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 38736, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5PorterCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5PorterDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5PorterTokenize}))}},
-		{FzName: ts + 38696, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 38743, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5TriCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5TriDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
@@ -196517,14 +196575,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint
 	var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8, zType, -1)
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		sqlite3Fts5Dequote(tls, zCopy)
-		if Xsqlite3_stricmp(tls, zCopy, ts+38704) == 0 {
+		if Xsqlite3_stricmp(tls, zCopy, ts+38751) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+38708) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+38755) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+38712) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+38759) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38721, libc.VaList(bp, zCopy))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38768, libc.VaList(bp, zCopy))
 			*(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_ERROR
 		}
 		Xsqlite3_free(tls, zCopy)
@@ -196550,19 +196608,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	defer tls.Free(36)
 
 	*(*[3]uintptr)(unsafe.Pointer(bp + 8)) = [3]uintptr{
-		ts + 38755,
-		ts + 38795,
-		ts + 38830,
+		ts + 38802,
+		ts + 38842,
+		ts + 38877,
 	}
 
 	var pRet uintptr = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
 	var bDb int32
 
-	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+24721, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
+	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+24768, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
 
 	if argc != 5 && bDb == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38873, 0)
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38920, 0)
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 	} else {
 		var nByte int32
@@ -196695,11 +196753,11 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 
 	if (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 {
 		(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+38906, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+			ts+38953, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 		return SQLITE_ERROR
 	}
 	zSql = sqlite3Fts5Mprintf(tls, bp+64,
-		ts+38937,
+		ts+38984,
 		libc.VaList(bp+16, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 64)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+72, uintptr(0))
@@ -196723,7 +196781,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 			*(*uintptr)(unsafe.Pointer(bp + 72)) = uintptr(0)
 			if *(*int32)(unsafe.Pointer(bp + 64)) == SQLITE_OK {
 				(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-					ts+38988, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+					ts+39035, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 				*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 			}
 		} else {
@@ -197118,7 +197176,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32
 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 {
 	var p uintptr = pGlobal
 
-	return Xsqlite3_create_module_v2(tls, db, ts+39014, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
+	return Xsqlite3_create_module_v2(tls, db, ts+39061, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
 }
 
 var fts5Vocab = Sqlite3_module{
@@ -197140,7 +197198,7 @@ var fts5Vocab = Sqlite3_module{
 // ************* End of stmt.c ***********************************************
 // Return the source-id for this library
 func Xsqlite3_sourceid(tls *libc.TLS) uintptr {
-	return ts + 39024
+	return ts + 39071
 }
 
 func init() {
@@ -198207,5 +198265,5 @@ func init() {
 	*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 160)) = winNextSystemCall
 }
 
-var ts1 = "3.41.0\x00ATOMIC_INTRINSICS=1\x00COMPILER=msvc-1900\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00AreFileApisANSI\x00CharLowerW\x00CharUpperW\x00CloseHandle\x00CreateFileA\x00CreateFileW\x00CreateFileMappingA\x00CreateFileMappingW\x00CreateMutexW\x00DeleteFileA\x00DeleteFileW\x00FileTimeToLocalFileTime\x00FileTimeToSystemTime\x00FlushFileBuffers\x00FormatMessageA\x00FormatMessageW\x00FreeLibrary\x00GetCurrentProcessId\x00GetDiskFreeSpaceA\x00GetDiskFreeSpaceW\x00GetFileAttributesA\x00GetFileAttributesW\x00GetFileAttributesExW\x00GetFileSize\x00GetFullPathNameA\x00GetFullPathNameW\x00GetLastError\x00GetProcAddressA\x00GetSystemInfo\x00GetSystemTime\x00GetSystemTimeAsFileTime\x00GetTempPathA\x00GetTempPathW\x00GetTickCount\x00GetVersionExA\x00GetVersionExW\x00HeapAlloc\x00HeapCreate\x00HeapDestroy\x00HeapFree\x00HeapReAlloc\x00HeapSize\x00HeapValidate\x00HeapCompact\x00LoadLibraryA\x00LoadLibraryW\x00LocalFree\x00LockFile\x00LockFileEx\x00MapViewOfFile\x00MultiByteToWideChar\x00QueryPerformanceCounter\x00ReadFile\x00SetEndOfFile\x00SetFilePointer\x00Sleep\x00SystemTimeToFileTime\x00UnlockFile\x00UnlockFileEx\x00UnmapViewOfFile\x00WideCharToMultiByte\x00WriteFile\x00CreateEventExW\x00WaitForSingleObject\x00WaitForSingleObjectEx\x00SetFilePointerEx\x00GetFileInformationByHandleEx\x00MapViewOfFileFromApp\x00CreateFile2\x00LoadPackagedLibrary\x00GetTickCount64\x00GetNativeSystemInfo\x00OutputDebugStringA\x00OutputDebugStringW\x00GetProcessHeap\x00CreateFileMappingFromApp\x00InterlockedCompareExchange\x00UuidCreate\x00UuidCreateSequential\x00FlushViewOfFile\x00%s\x00OsError 0x%lx (%lu)\x00os_win.c:%d: (%lu) %s(%s) - %s\x00delayed %dms for lock/sharing conflict at line %d\x00winSeekFile\x00winClose\x00winRead\x00winWrite1\x00winWrite2\x00winTruncate1\x00winTruncate2\x00winSync1\x00winSync2\x00winFileSize\x00winUnlockReadLock\x00winUnlock\x00winLockSharedMemory\x00%s-shm\x00readonly_shm\x00winOpenShm\x00winShmMap1\x00winShmMap2\x00winShmMap3\x00winUnmapfile1\x00winUnmapfile2\x00winMapfile1\x00winMapfile2\x00etilqs_\x00winGetTempname1\x00winGetTempname2\x00winGetTempname3\x00winGetTempname4\x00winGetTempname5\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\x00exclusive\x00winOpen\x00psow\x00winDelete\x00winAccess\x00%s%c%s\x00winFullPathname1\x00winFullPathname2\x00winFullPathname3\x00winFullPathname4\x00win32\x00win32-longpath\x00win32-none\x00win32-longpath-none\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00stat\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00dll\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_store_directory\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00access\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00"
+var ts1 = "3.41.2\x00ATOMIC_INTRINSICS=1\x00COMPILER=msvc-1900\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00AreFileApisANSI\x00CharLowerW\x00CharUpperW\x00CloseHandle\x00CreateFileA\x00CreateFileW\x00CreateFileMappingA\x00CreateFileMappingW\x00CreateMutexW\x00DeleteFileA\x00DeleteFileW\x00FileTimeToLocalFileTime\x00FileTimeToSystemTime\x00FlushFileBuffers\x00FormatMessageA\x00FormatMessageW\x00FreeLibrary\x00GetCurrentProcessId\x00GetDiskFreeSpaceA\x00GetDiskFreeSpaceW\x00GetFileAttributesA\x00GetFileAttributesW\x00GetFileAttributesExW\x00GetFileSize\x00GetFullPathNameA\x00GetFullPathNameW\x00GetLastError\x00GetProcAddressA\x00GetSystemInfo\x00GetSystemTime\x00GetSystemTimeAsFileTime\x00GetTempPathA\x00GetTempPathW\x00GetTickCount\x00GetVersionExA\x00GetVersionExW\x00HeapAlloc\x00HeapCreate\x00HeapDestroy\x00HeapFree\x00HeapReAlloc\x00HeapSize\x00HeapValidate\x00HeapCompact\x00LoadLibraryA\x00LoadLibraryW\x00LocalFree\x00LockFile\x00LockFileEx\x00MapViewOfFile\x00MultiByteToWideChar\x00QueryPerformanceCounter\x00ReadFile\x00SetEndOfFile\x00SetFilePointer\x00Sleep\x00SystemTimeToFileTime\x00UnlockFile\x00UnlockFileEx\x00UnmapViewOfFile\x00WideCharToMultiByte\x00WriteFile\x00CreateEventExW\x00WaitForSingleObject\x00WaitForSingleObjectEx\x00SetFilePointerEx\x00GetFileInformationByHandleEx\x00MapViewOfFileFromApp\x00CreateFile2\x00LoadPackagedLibrary\x00GetTickCount64\x00GetNativeSystemInfo\x00OutputDebugStringA\x00OutputDebugStringW\x00GetProcessHeap\x00CreateFileMappingFromApp\x00InterlockedCompareExchange\x00UuidCreate\x00UuidCreateSequential\x00FlushViewOfFile\x00%s\x00OsError 0x%lx (%lu)\x00os_win.c:%d: (%lu) %s(%s) - %s\x00delayed %dms for lock/sharing conflict at line %d\x00winSeekFile\x00winClose\x00winRead\x00winWrite1\x00winWrite2\x00winTruncate1\x00winTruncate2\x00winSync1\x00winSync2\x00winFileSize\x00winUnlockReadLock\x00winUnlock\x00winLockSharedMemory\x00%s-shm\x00readonly_shm\x00winOpenShm\x00winShmMap1\x00winShmMap2\x00winShmMap3\x00winUnmapfile1\x00winUnmapfile2\x00winMapfile1\x00winMapfile2\x00etilqs_\x00winGetTempname1\x00winGetTempname2\x00winGetTempname3\x00winGetTempname4\x00winGetTempname5\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\x00exclusive\x00winOpen\x00psow\x00winDelete\x00winAccess\x00%s%c%s\x00winFullPathname1\x00winFullPathname2\x00winFullPathname3\x00winFullPathname4\x00win32\x00win32-longpath\x00win32-none\x00win32-longpath-none\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00stat\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00dll\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_store_directory\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00access\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00"
 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_windows_arm64.go b/vendor/modernc.org/sqlite/lib/sqlite_windows_arm64.go
index 57c8fcdb..ae250622 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_windows_arm64.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_windows_arm64.go
@@ -1,4 +1,4 @@
-// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_windows_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410000/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT.
+// Code generated by 'ccgo -DSQLITE_PRIVATE= -export-defines "" -export-enums "" -export-externs X -export-fields F -export-typedefs "" -ignore-unsupported-alignment -pkgname sqlite3 -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt,randomnessPid -o lib/sqlite_windows_amd64.go -trace-translation-units testdata/sqlite-amalgamation-3410200/sqlite3.c -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT.
 
 package sqlite3
 
@@ -10492,11 +10492,11 @@ const (
 	NC_OrderAgg                                                                    = 0x8000000
 	NC_PartIdx                                                                     = 0x000002
 	NC_SelfRef                                                                     = 0x00002e
+	NC_Subquery                                                                    = 0x000040
 	NC_UAggInfo                                                                    = 0x000100
 	NC_UBaseReg                                                                    = 0x000400
 	NC_UEList                                                                      = 0x000080
 	NC_UUpsert                                                                     = 0x000200
-	NC_VarSelect                                                                   = 0x000040
 	NDEBUG                                                                         = 1
 	NDR_ASCII_CHAR                                                                 = 0
 	NDR_BIG_ENDIAN                                                                 = 0
@@ -15089,7 +15089,7 @@ const (
 	SQLITE_SHM_UNLOCK                                                              = 1
 	SQLITE_SORTER_PMASZ                                                            = 250
 	SQLITE_SOUNDEX                                                                 = 1
-	SQLITE_SOURCE_ID                                                               = "2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d"
+	SQLITE_SOURCE_ID                                                               = "2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da"
 	SQLITE_SO_ASC                                                                  = 0
 	SQLITE_SO_DESC                                                                 = 1
 	SQLITE_SO_UNDEFINED                                                            = -1
@@ -15200,8 +15200,8 @@ const (
 	SQLITE_UTF8                                                                    = 1
 	SQLITE_VDBEINT_H                                                               = 0
 	SQLITE_VDBE_H                                                                  = 0
-	SQLITE_VERSION                                                                 = "3.41.0"
-	SQLITE_VERSION_NUMBER                                                          = 3041000
+	SQLITE_VERSION                                                                 = "3.41.2"
+	SQLITE_VERSION_NUMBER                                                          = 3041002
 	SQLITE_VTABRISK_High                                                           = 2
 	SQLITE_VTABRISK_Low                                                            = 0
 	SQLITE_VTABRISK_Normal                                                         = 1
@@ -24337,7 +24337,8 @@ type IndexedExpr1 = struct {
 	FiIdxCur       int32
 	FiIdxCol       int32
 	FbMaybeNullRow U8
-	F__ccgo_pad1   [3]byte
+	Faff           U8
+	F__ccgo_pad1   [2]byte
 	FpIENext       uintptr
 }
 
@@ -24982,17 +24983,18 @@ type Pager = Pager1
 
 // Handle type for pages.
 type PgHdr2 = struct {
-	FpPage      uintptr
-	FpData      uintptr
-	FpExtra     uintptr
-	FpCache     uintptr
-	FpDirty     uintptr
-	FpPager     uintptr
-	Fpgno       Pgno
-	Fflags      U16
-	FnRef       I16
-	FpDirtyNext uintptr
-	FpDirtyPrev uintptr
+	FpPage       uintptr
+	FpData       uintptr
+	FpExtra      uintptr
+	FpCache      uintptr
+	FpDirty      uintptr
+	FpPager      uintptr
+	Fpgno        Pgno
+	Fflags       U16
+	F__ccgo_pad1 [2]byte
+	FnRef        I64
+	FpDirtyNext  uintptr
+	FpDirtyPrev  uintptr
 }
 
 // Handle type for pages.
@@ -25213,14 +25215,14 @@ type PCache2 = struct {
 	FpDirty      uintptr
 	FpDirtyTail  uintptr
 	FpSynced     uintptr
-	FnRefSum     int32
+	FnRefSum     I64
 	FszCache     int32
 	FszSpill     int32
 	FszPage      int32
 	FszExtra     int32
 	FbPurgeable  U8
 	FeCreate     U8
-	F__ccgo_pad1 [2]byte
+	F__ccgo_pad1 [6]byte
 	FxStress     uintptr
 	FpStress     uintptr
 	FpCache      uintptr
@@ -26027,7 +26029,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
 	_ = pMutex
 
 	if op < 0 || op >= int32(uint64(unsafe.Sizeof([10]Sqlite3StatValueType{}))/uint64(unsafe.Sizeof(Sqlite3StatValueType(0)))) {
-		return Xsqlite3MisuseError(tls, 23229)
+		return Xsqlite3MisuseError(tls, 23233)
 	}
 	if statMutex[op] != 0 {
 		pMutex = Xsqlite3Pcache1Mutex(tls)
@@ -60911,7 +60913,7 @@ func winSeekFile(tls *libc.TLS, pFile uintptr, iOffset Sqlite3_int64) int32 {
 	if dwRet == libc.Uint32(libc.Uint32FromInt32(-1)) &&
 		libc.AssignUint32(&lastErrno, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)) != DWORD(0) {
 		(*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno
-		winLogErrorAtLine(tls, SQLITE_IOERR|int32(22)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4597, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 47684)
+		winLogErrorAtLine(tls, SQLITE_IOERR|int32(22)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4597, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 47688)
 
 		return 1
 	}
@@ -60937,7 +60939,7 @@ func winClose(tls *libc.TLS, id uintptr) int32 {
 	if rc != 0 {
 		return SQLITE_OK
 	}
-	return winLogErrorAtLine(tls, SQLITE_IOERR|int32(16)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4609, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 47780)
+	return winLogErrorAtLine(tls, SQLITE_IOERR|int32(16)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4609, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 47784)
 }
 
 func winRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3_int64) int32 {
@@ -60971,9 +60973,9 @@ func winRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3_
 		}
 		(*WinFile)(unsafe.Pointer(pFile)).FlastErrno = *(*DWORD)(unsafe.Pointer(bp + 40))
 
-		return winLogErrorAtLine(tls, SQLITE_IOERR|int32(1)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4618, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 47848)
+		return winLogErrorAtLine(tls, SQLITE_IOERR|int32(1)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4618, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 47852)
 	}
-	winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 36)), 47851)
+	winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 36)), 47855)
 	if *(*DWORD)(unsafe.Pointer(bp + 32)) < DWORD(amt) {
 		libc.Xmemset(tls, pBuf+uintptr(*(*DWORD)(unsafe.Pointer(bp + 32))), 0, uint64(DWORD(amt)-*(*DWORD)(unsafe.Pointer(bp + 32))))
 
@@ -61029,12 +61031,12 @@ func winWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3
 	if rc != 0 {
 		if (*WinFile)(unsafe.Pointer(pFile)).FlastErrno == DWORD(39) ||
 			(*WinFile)(unsafe.Pointer(pFile)).FlastErrno == DWORD(112) {
-			return winLogErrorAtLine(tls, SQLITE_FULL, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4626, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 47960)
+			return winLogErrorAtLine(tls, SQLITE_FULL, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4626, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 47964)
 		}
 
-		return winLogErrorAtLine(tls, SQLITE_IOERR|int32(3)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4636, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 47965)
+		return winLogErrorAtLine(tls, SQLITE_IOERR|int32(3)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4636, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 47969)
 	} else {
-		winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 36)), 47968)
+		winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 36)), 47972)
 	}
 
 	return SQLITE_OK
@@ -61061,10 +61063,10 @@ func winTruncate(tls *libc.TLS, id uintptr, nByte Sqlite3_int64) int32 {
 	winUnmapfile(tls, pFile)
 
 	if winSeekFile(tls, pFile, nByte) != 0 {
-		rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4646, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48031)
+		rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4646, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48035)
 	} else if 0 == (*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 53*24 + 8)))(tls, (*WinFile)(unsafe.Pointer(pFile)).Fh) && libc.AssignUint32(&lastErrno, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)) != DWORD(1224) {
 		(*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno
-		rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4659, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48036)
+		rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(6)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4659, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48040)
 	}
 
 	if rc == SQLITE_OK && oldMmapSize > int64(0) {
@@ -61090,7 +61092,7 @@ func winSync(tls *libc.TLS, id uintptr, flags int32) int32 {
 		} else {
 			(*WinFile)(unsafe.Pointer(pFile)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)
 
-			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4672, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48128)
+			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4672, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48132)
 		}
 	}
 	rc = (*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 13*24 + 8)))(tls, (*WinFile)(unsafe.Pointer(pFile)).Fh)
@@ -61100,7 +61102,7 @@ func winSync(tls *libc.TLS, id uintptr, flags int32) int32 {
 	} else {
 		(*WinFile)(unsafe.Pointer(pFile)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)
 
-		return winLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4681, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48143)
+		return winLogErrorAtLine(tls, SQLITE_IOERR|int32(4)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4681, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48147)
 	}
 	return int32(0)
 }
@@ -61121,7 +61123,7 @@ func winFileSize(tls *libc.TLS, id uintptr, pSize uintptr) int32 {
 		if lowerBits == 0xffffffff &&
 			libc.AssignUint32(&lastErrno, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)) != DWORD(0) {
 			(*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno
-			rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(7)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4690, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48184)
+			rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(7)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4690, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48188)
 		}
 
 	}
@@ -61163,7 +61165,7 @@ func winUnlockReadLock(tls *libc.TLS, pFile uintptr) int32 {
 	}
 	if res == 0 && libc.AssignUint32(&lastErrno, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)) != DWORD(158) {
 		(*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno
-		winLogErrorAtLine(tls, SQLITE_IOERR|int32(8)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4702, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48279)
+		winLogErrorAtLine(tls, SQLITE_IOERR|int32(8)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4702, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48283)
 	}
 
 	return res
@@ -61289,7 +61291,7 @@ func winUnlock(tls *libc.TLS, id uintptr, locktype int32) int32 {
 	if type1 >= EXCLUSIVE_LOCK {
 		winUnlockFile(tls, pFile+16, uint32(Xsqlite3PendingByte+2), uint32(0), uint32(SHARED_SIZE), uint32(0))
 		if locktype == SHARED_LOCK && !(winGetReadLock(tls, pFile) != 0) {
-			rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(8)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4720, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48505)
+			rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(8)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4720, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 48509)
 		}
 	}
 	if type1 >= RESERVED_LOCK {
@@ -61592,7 +61594,7 @@ func winLockSharedMemory(tls *libc.TLS, pShmNode uintptr) int32 {
 			return SQLITE_READONLY | int32(5)<<8
 		} else if winTruncate(tls, pShmNode+16, int64(0)) != 0 {
 			winShmSystemLock(tls, pShmNode, WINSHM_UNLCK, (22+SQLITE_SHM_NLOCK)*4+SQLITE_SHM_NLOCK, 1)
-			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4730, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 48971)
+			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(18)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4730, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 48975)
 		}
 	}
 
@@ -61699,7 +61701,7 @@ __12:
 	if !(rc != SQLITE_OK) {
 		goto __13
 	}
-	rc = winLogErrorAtLine(tls, rc, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4770, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 49053)
+	rc = winLogErrorAtLine(tls, rc, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4770, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 49057)
 	goto shm_open_err
 __13:
 	;
@@ -61927,7 +61929,7 @@ __3:
 	if !(rc != SQLITE_OK) {
 		goto __6
 	}
-	rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4781, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 49324)
+	rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4781, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 49328)
 	goto shmpage_out
 __6:
 	;
@@ -61945,7 +61947,7 @@ __8:
 	if !(rc != SQLITE_OK) {
 		goto __9
 	}
-	rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4792, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 49339)
+	rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(19)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4792, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 49343)
 	goto shmpage_out
 __9:
 	;
@@ -61993,7 +61995,7 @@ __14:
 		goto __15
 	}
 	(*WinShmNode)(unsafe.Pointer(pShmNode)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)
-	rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, (*WinShmNode)(unsafe.Pointer(pShmNode)).FlastErrno, ts+4803, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 49398)
+	rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(21)<<8, (*WinShmNode)(unsafe.Pointer(pShmNode)).FlastErrno, ts+4803, (*WinFile)(unsafe.Pointer(pDbFd)).FzPath, 49402)
 	if !(hMap != 0) {
 		goto __16
 	}
@@ -62039,7 +62041,7 @@ func winUnmapfile(tls *libc.TLS, pFile uintptr) int32 {
 		if !((*(*func(*libc.TLS, LPCVOID) WINBOOL)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 59*24 + 8)))(tls, (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion) != 0) {
 			(*WinFile)(unsafe.Pointer(pFile)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)
 
-			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4814, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 49447)
+			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4814, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 49451)
 		}
 		(*WinFile)(unsafe.Pointer(pFile)).FpMapRegion = uintptr(0)
 		(*WinFile)(unsafe.Pointer(pFile)).FmmapSize = int64(0)
@@ -62048,7 +62050,7 @@ func winUnmapfile(tls *libc.TLS, pFile uintptr) int32 {
 		if !((*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, (*WinFile)(unsafe.Pointer(pFile)).FhMap) != 0) {
 			(*WinFile)(unsafe.Pointer(pFile)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)
 
-			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4828, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 49458)
+			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+4828, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 49462)
 		}
 		(*WinFile)(unsafe.Pointer(pFile)).FhMap = uintptr(0)
 	}
@@ -62092,7 +62094,7 @@ func winMapfile(tls *libc.TLS, pFd uintptr, nByte Sqlite3_int64) int32 {
 			DWORD(*(*Sqlite3_int64)(unsafe.Pointer(bp))&int64(0xffffffff)), uintptr(0))
 		if (*WinFile)(unsafe.Pointer(pFd)).FhMap == uintptr(0) {
 			(*WinFile)(unsafe.Pointer(pFd)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)
-			rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFd)).FlastErrno, ts+4842, (*WinFile)(unsafe.Pointer(pFd)).FzPath, 49535)
+			rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFd)).FlastErrno, ts+4842, (*WinFile)(unsafe.Pointer(pFd)).FzPath, 49539)
 
 			return SQLITE_OK
 		}
@@ -62102,7 +62104,7 @@ func winMapfile(tls *libc.TLS, pFd uintptr, nByte Sqlite3_int64) int32 {
 			(*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8)))(tls, (*WinFile)(unsafe.Pointer(pFd)).FhMap)
 			(*WinFile)(unsafe.Pointer(pFd)).FhMap = uintptr(0)
 			(*WinFile)(unsafe.Pointer(pFd)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls)
-			rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFd)).FlastErrno, ts+4854, (*WinFile)(unsafe.Pointer(pFd)).FzPath, 49553)
+			rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(24)<<8, (*WinFile)(unsafe.Pointer(pFd)).FlastErrno, ts+4854, (*WinFile)(unsafe.Pointer(pFd)).FzPath, 49557)
 
 			return SQLITE_OK
 		}
@@ -62266,7 +62268,7 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 {
 				Xsqlite3_mutex_leave(tls, Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_VFS1))
 				Xsqlite3_free(tls, zBuf)
 
-				return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4874, uintptr(0), 49855)
+				return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4874, uintptr(0), 49859)
 			}
 			Xsqlite3_snprintf(tls, nMax, zBuf, ts+4493, libc.VaList(bp, Xsqlite3_temp_directory))
 		}
@@ -62283,7 +62285,7 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 {
 			Xsqlite3_free(tls, zWidePath)
 			Xsqlite3_free(tls, zBuf)
 
-			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(25)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4890, uintptr(0), 49955)
+			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(25)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4890, uintptr(0), 49959)
 		}
 		zMulti = winUnicodeToUtf8(tls, zWidePath)
 		if zMulti != 0 {
@@ -62307,7 +62309,7 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 {
 		if (*(*func(*libc.TLS, DWORD, LPSTR) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 31*24 + 8)))(tls, uint32(nMax), zMbcsPath) == DWORD(0) {
 			Xsqlite3_free(tls, zBuf)
 
-			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(25)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4906, uintptr(0), 49982)
+			return winLogErrorAtLine(tls, SQLITE_IOERR|int32(25)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+4906, uintptr(0), 49986)
 		}
 		zUtf8 = winMbcsToUtf8(tls, zMbcsPath, (*(*func(*libc.TLS) WINBOOL)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8)))(tls))
 		if zUtf8 != 0 {
@@ -62323,14 +62325,14 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 {
 	if !(winMakeEndInDirSep(tls, nDir+1, zBuf) != 0) {
 		Xsqlite3_free(tls, zBuf)
 
-		return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4922, uintptr(0), 50006)
+		return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4922, uintptr(0), 50010)
 	}
 
 	nLen = Xsqlite3Strlen30(tls, zBuf)
 	if nLen+nPre+17 > nBuf {
 		Xsqlite3_free(tls, zBuf)
 
-		return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4938, uintptr(0), 50024)
+		return winLogErrorAtLine(tls, SQLITE_ERROR, uint32(0), ts+4938, uintptr(0), 50028)
 	}
 
 	Xsqlite3_snprintf(tls, nBuf-16-nLen, zBuf+uintptr(nLen), ts+4866, 0)
@@ -62512,7 +62514,7 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32
 			}
 		}
 	}
-	winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 8)), 50313)
+	winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 8)), 50317)
 
 	if h == libc.UintptrFromInt64(int64(-1)) {
 		Xsqlite3_free(tls, zConverted)
@@ -62523,8 +62525,8 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32
 				pOutFlags)
 		} else {
 			(*WinFile)(unsafe.Pointer(pFile)).FlastErrno = *(*DWORD)(unsafe.Pointer(bp + 12))
-			winLogErrorAtLine(tls, SQLITE_CANTOPEN, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+5027, zUtf8Name, 50328)
-			return Xsqlite3CantopenError(tls, 50329)
+			winLogErrorAtLine(tls, SQLITE_CANTOPEN, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+5027, zUtf8Name, 50332)
+			return Xsqlite3CantopenError(tls, 50333)
 		}
 	}
 
@@ -62639,9 +62641,9 @@ func winDelete(tls *libc.TLS, pVfs uintptr, zFilename uintptr, syncDir int32) in
 		}
 	}
 	if rc != 0 && rc != SQLITE_IOERR|int32(23)<<8 {
-		rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, *(*DWORD)(unsafe.Pointer(bp + 4)), ts+5040, zFilename, 50501)
+		rc = winLogErrorAtLine(tls, SQLITE_IOERR|int32(10)<<8, *(*DWORD)(unsafe.Pointer(bp + 4)), ts+5040, zFilename, 50505)
 	} else {
-		winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp)), 50503)
+		winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp)), 50507)
 	}
 	Xsqlite3_free(tls, zConverted)
 
@@ -62679,10 +62681,10 @@ func winAccess(tls *libc.TLS, pVfs uintptr, zFilename uintptr, flags int32, pRes
 				attr = (*WIN32_FILE_ATTRIBUTE_DATA)(unsafe.Pointer(bp)).FdwFileAttributes
 			}
 		} else {
-			winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 36)), 50553)
+			winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 36)), 50557)
 			if *(*DWORD)(unsafe.Pointer(bp + 40)) != DWORD(2) && *(*DWORD)(unsafe.Pointer(bp + 40)) != DWORD(3) {
 				Xsqlite3_free(tls, zConverted)
-				return winLogErrorAtLine(tls, SQLITE_IOERR|int32(13)<<8, *(*DWORD)(unsafe.Pointer(bp + 40)), ts+5050, zFilename, 50556)
+				return winLogErrorAtLine(tls, SQLITE_IOERR|int32(13)<<8, *(*DWORD)(unsafe.Pointer(bp + 40)), ts+5050, zFilename, 50560)
 			} else {
 				attr = libc.Uint32(libc.Uint32FromInt32(-1))
 			}
@@ -62760,7 +62762,7 @@ func winFullPathnameNoMutex(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFul
 		nByte = (*(*func(*libc.TLS, LPCWSTR, DWORD, LPWSTR, uintptr) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 25*24 + 8)))(tls, zConverted, uint32(0), uintptr(0), uintptr(0))
 		if nByte == DWORD(0) {
 			Xsqlite3_free(tls, zConverted)
-			return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5067, zRelative, 50773)
+			return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5067, zRelative, 50777)
 		}
 		nByte = nByte + DWORD(3)
 		zTemp = Xsqlite3MallocZero(tls, uint64(nByte)*uint64(unsafe.Sizeof(WCHAR(0))))
@@ -62772,7 +62774,7 @@ func winFullPathnameNoMutex(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFul
 		if nByte == DWORD(0) {
 			Xsqlite3_free(tls, zConverted)
 			Xsqlite3_free(tls, zTemp)
-			return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5084, zRelative, 50786)
+			return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5084, zRelative, 50790)
 		}
 		Xsqlite3_free(tls, zConverted)
 		zOut = winUnicodeToUtf8(tls, zTemp)
@@ -62782,7 +62784,7 @@ func winFullPathnameNoMutex(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFul
 		nByte = (*(*func(*libc.TLS, LPCSTR, DWORD, LPSTR, uintptr) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 24*24 + 8)))(tls, zConverted, uint32(0), uintptr(0), uintptr(0))
 		if nByte == DWORD(0) {
 			Xsqlite3_free(tls, zConverted)
-			return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5101, zRelative, 50799)
+			return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5101, zRelative, 50803)
 		}
 		nByte = nByte + DWORD(3)
 		zTemp = Xsqlite3MallocZero(tls, uint64(nByte)*uint64(unsafe.Sizeof(int8(0))))
@@ -62794,7 +62796,7 @@ func winFullPathnameNoMutex(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFul
 		if nByte == DWORD(0) {
 			Xsqlite3_free(tls, zConverted)
 			Xsqlite3_free(tls, zTemp)
-			return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5118, zRelative, 50812)
+			return winLogErrorAtLine(tls, SQLITE_CANTOPEN|int32(3)<<8, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8)))(tls), ts+5118, zRelative, 50816)
 		}
 		Xsqlite3_free(tls, zConverted)
 		zOut = winMbcsToUtf8(tls, zTemp, (*(*func(*libc.TLS) WINBOOL)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 8)))(tls))
@@ -64424,7 +64426,7 @@ func pcacheFetchFinishWithInit(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 	libc.Xmemset(tls, pPgHdr+32, 0, uint64(unsafe.Sizeof(PgHdr{}))-uint64(uintptr(0)+32))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpPage = pPage
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpData = (*Sqlite3_pcache_page)(unsafe.Pointer(pPage)).FpBuf
-	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*72
+	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra = pPgHdr + 1*80
 	libc.Xmemset(tls, (*PgHdr)(unsafe.Pointer(pPgHdr)).FpExtra, 0, uint64(8))
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).FpCache = pCache
 	(*PgHdr)(unsafe.Pointer(pPgHdr)).Fpgno = pgno
@@ -64454,7 +64456,7 @@ func Xsqlite3PcacheFetchFinish(tls *libc.TLS, pCache uintptr, pgno Pgno, pPage u
 // reference count drops to 0, then it is made eligible for recycling.
 func Xsqlite3PcacheRelease(tls *libc.TLS, p uintptr) {
 	(*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum--
-	if int32(libc.PreDecInt16(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1)) == 0 {
+	if libc.PreDecInt64(&(*PgHdr)(unsafe.Pointer(p)).FnRef, 1) == int64(0) {
 		if int32((*PgHdr)(unsafe.Pointer(p)).Fflags)&PGHDR_CLEAN != 0 {
 			pcacheUnpin(tls, p)
 		} else {
@@ -64505,7 +64507,7 @@ func Xsqlite3PcacheMakeClean(tls *libc.TLS, p uintptr) {
 	*(*U16)(unsafe.Pointer(p + 52)) &= libc.Uint16FromInt32(libc.CplInt32(PGHDR_DIRTY | PGHDR_NEED_SYNC | PGHDR_WRITEABLE))
 	*(*U16)(unsafe.Pointer(p + 52)) |= U16(PGHDR_CLEAN)
 
-	if int32((*PgHdr)(unsafe.Pointer(p)).FnRef) == 0 {
+	if (*PgHdr)(unsafe.Pointer(p)).FnRef == int64(0) {
 		pcacheUnpin(tls, p)
 	}
 }
@@ -64609,8 +64611,8 @@ func Xsqlite3PcacheClear(tls *libc.TLS, pCache uintptr) {
 }
 
 func pcacheMergeDirtyList(tls *libc.TLS, pA uintptr, pB uintptr) uintptr {
-	bp := tls.Alloc(72)
-	defer tls.Free(72)
+	bp := tls.Alloc(80)
+	defer tls.Free(80)
 
 	var pTail uintptr
 	pTail = bp
@@ -64688,13 +64690,13 @@ func Xsqlite3PcacheDirtyList(tls *libc.TLS, pCache uintptr) uintptr {
 //
 // This is not the total number of pages referenced, but the sum of the
 // reference count for all pages.
-func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) int32 {
+func Xsqlite3PcacheRefCount(tls *libc.TLS, pCache uintptr) I64 {
 	return (*PCache)(unsafe.Pointer(pCache)).FnRefSum
 }
 
 // Return the number of references to the page supplied as an argument.
-func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 {
-	return int32((*PgHdr)(unsafe.Pointer(p)).FnRef)
+func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) I64 {
+	return (*PgHdr)(unsafe.Pointer(p)).FnRef
 }
 
 // Return the total number of pages in the cache.
@@ -66988,7 +66990,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 {
 
 	pPg = Xsqlite3PagerLookup(tls, pPager, iPg)
 	if pPg != 0 {
-		if Xsqlite3PcachePageRefcount(tls, pPg) == 1 {
+		if Xsqlite3PcachePageRefcount(tls, pPg) == int64(1) {
 			Xsqlite3PcacheDrop(tls, pPg)
 		} else {
 			rc = readDbPage(tls, pPg)
@@ -67421,7 +67423,7 @@ func Xsqlite3PagerSetPagesize(tls *libc.TLS, pPager uintptr, pPageSize uintptr,
 	var pageSize U32 = *(*U32)(unsafe.Pointer(pPageSize))
 
 	if (int32((*Pager)(unsafe.Pointer(pPager)).FmemDb) == 0 || (*Pager)(unsafe.Pointer(pPager)).FdbSize == Pgno(0)) &&
-		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 &&
+		Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) &&
 		pageSize != 0 && pageSize != U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) {
 		var pNew uintptr = uintptr(0)
 		*(*I64)(unsafe.Pointer(bp)) = int64(0)
@@ -67573,9 +67575,9 @@ func pagerAcquireMapPage(tls *libc.TLS, pPager uintptr, pgno Pgno, pData uintptr
 			Xsqlite3OsUnfetch(tls, (*Pager)(unsafe.Pointer(pPager)).Ffd, I64(pgno-Pgno(1))*(*Pager)(unsafe.Pointer(pPager)).FpageSize, pData)
 			return SQLITE_NOMEM
 		}
-		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*72
+		(*PgHdr)(unsafe.Pointer(p)).FpExtra = p + 1*80
 		(*PgHdr)(unsafe.Pointer(p)).Fflags = U16(PGHDR_MMAP)
-		(*PgHdr)(unsafe.Pointer(p)).FnRef = int16(1)
+		(*PgHdr)(unsafe.Pointer(p)).FnRef = int64(1)
 		(*PgHdr)(unsafe.Pointer(p)).FpPager = pPager
 	}
 
@@ -67907,7 +67909,7 @@ func Xsqlite3PagerFlush(tls *libc.TLS, pPager uintptr) int32 {
 
 		for rc == SQLITE_OK && pList != 0 {
 			var pNext uintptr = (*PgHdr)(unsafe.Pointer(pList)).FpDirty
-			if int32((*PgHdr)(unsafe.Pointer(pList)).FnRef) == 0 {
+			if (*PgHdr)(unsafe.Pointer(pList)).FnRef == int64(0) {
 				rc = pagerStress(tls, pPager, pList)
 			}
 			pList = pNext
@@ -68057,7 +68059,7 @@ __11:
 		goto __12
 	}
 
-	rc = Xsqlite3CantopenError(tls, 60235)
+	rc = Xsqlite3CantopenError(tls, 60239)
 __12:
 	;
 	if !(rc != SQLITE_OK) {
@@ -68438,7 +68440,7 @@ __7:
 	if !(rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&SQLITE_OPEN_READONLY != 0) {
 		goto __10
 	}
-	rc = Xsqlite3CantopenError(tls, 60754)
+	rc = Xsqlite3CantopenError(tls, 60758)
 	Xsqlite3OsClose(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd)
 __10:
 	;
@@ -68544,7 +68546,7 @@ __24:
 }
 
 func pagerUnlockIfUnused(tls *libc.TLS, pPager uintptr) {
-	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == 0 {
+	if Xsqlite3PcacheRefCount(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache) == int64(0) {
 		pagerUnlockAndRollback(tls, pPager)
 	}
 }
@@ -68562,7 +68564,7 @@ func getPageNormal(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, fla
 	if !(pgno == Pgno(0)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 60967)
+	return Xsqlite3CorruptError(tls, 60971)
 __1:
 	;
 	*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3PcacheFetch(tls, (*Pager)(unsafe.Pointer(pPager)).FpPCache, pgno, 3)
@@ -68601,7 +68603,7 @@ __5:
 	if !(pgno == (*Pager)(unsafe.Pointer(pPager)).FlckPgno) {
 		goto __7
 	}
-	rc = Xsqlite3CorruptError(tls, 60999)
+	rc = Xsqlite3CorruptError(tls, 61003)
 	goto pager_acquire_err
 __7:
 	;
@@ -68678,7 +68680,7 @@ func getPageMMap(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags
 		(int32((*Pager)(unsafe.Pointer(pPager)).FeState) == PAGER_READER || flags&PAGER_GET_READONLY != 0))
 
 	if pgno <= Pgno(1) && pgno == Pgno(0) {
-		return Xsqlite3CorruptError(tls, 61078)
+		return Xsqlite3CorruptError(tls, 61082)
 	}
 
 	if bMmapOk != 0 && (*Pager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
@@ -69436,7 +69438,7 @@ func Xsqlite3PagerMemUsed(tls *libc.TLS, pPager uintptr) int32 {
 
 // Return the number of references to the specified page.
 func Xsqlite3PagerPageRefcount(tls *libc.TLS, pPage uintptr) int32 {
-	return Xsqlite3PcachePageRefcount(tls, pPage)
+	return int32(Xsqlite3PcachePageRefcount(tls, pPage))
 }
 
 // Parameter eStat must be one of SQLITE_DBSTATUS_CACHE_HIT, _MISS, _WRITE,
@@ -69679,9 +69681,9 @@ func Xsqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno Pgno
 	pPgOld = Xsqlite3PagerLookup(tls, pPager, pgno)
 
 	if pPgOld != 0 {
-		if int32((*PgHdr)(unsafe.Pointer(pPgOld)).FnRef) > 1 {
+		if (*PgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
 			Xsqlite3PagerUnrefNotNull(tls, pPgOld)
-			return Xsqlite3CorruptError(tls, 62623)
+			return Xsqlite3CorruptError(tls, 62627)
 		}
 		*(*U16)(unsafe.Pointer(pPg + 52)) |= U16(int32((*PgHdr)(unsafe.Pointer(pPgOld)).Fflags) & PGHDR_NEED_SYNC)
 		if (*Pager)(unsafe.Pointer(pPager)).FtempFile != 0 {
@@ -70438,7 +70440,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 {
 		nCollide = idx
 		for iKey = walHash(tls, iPage); *(*Ht_slot)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaHash + uintptr(iKey)*2)) != 0; iKey = walNextHash(tls, iKey) {
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 64387)
+				return Xsqlite3CorruptError(tls, 64391)
 			}
 		}
 		*(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp)).FaPgno + uintptr(idx-1)*4)) = iPage
@@ -70537,7 +70539,7 @@ __6:
 	if !(version != U32(WAL_MAX_VERSION)) {
 		goto __7
 	}
-	rc = Xsqlite3CantopenError(tls, 64519)
+	rc = Xsqlite3CantopenError(tls, 64523)
 	goto finished
 __7:
 	;
@@ -71123,7 +71125,7 @@ __10:
 		goto __14
 	}
 
-	rc = Xsqlite3CorruptError(tls, 65333)
+	rc = Xsqlite3CorruptError(tls, 65337)
 	goto __15
 __14:
 	Xsqlite3OsFileControlHint(tls, (*Wal)(unsafe.Pointer(pWal)).FpDbFd, SQLITE_FCNTL_SIZE_HINT, bp+16)
@@ -71398,7 +71400,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 {
 	}
 
 	if badHdr == 0 && (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != U32(WALINDEX_MAX_VERSION) {
-		rc = Xsqlite3CantopenError(tls, 65682)
+		rc = Xsqlite3CantopenError(tls, 65686)
 	}
 	if (*Wal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
 		if rc != SQLITE_OK {
@@ -71871,7 +71873,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr
 				iRead = iFrame
 			}
 			if libc.PostDecInt32(&nCollide, 1) == 0 {
-				return Xsqlite3CorruptError(tls, 66419)
+				return Xsqlite3CorruptError(tls, 66423)
 			}
 			iKey = walNextHash(tls, iKey)
 		}
@@ -72376,7 +72378,7 @@ func Xsqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
 
 	if rc == SQLITE_OK {
 		if (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && walPagesize(tls, pWal) != nBuf {
-			rc = Xsqlite3CorruptError(tls, 67138)
+			rc = Xsqlite3CorruptError(tls, 67142)
 		} else {
 			rc = walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
 		}
@@ -73034,7 +73036,7 @@ func btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey I64, bias int32
 		}
 		Xsqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
 		if int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || int32((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
-			rc = Xsqlite3CorruptError(tls, 69249)
+			rc = Xsqlite3CorruptError(tls, 69253)
 		} else {
 			rc = Xsqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
 		}
@@ -73171,7 +73173,7 @@ __1:
 	if !(key == Pgno(0)) {
 		goto __2
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69430)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69434)
 	return
 __2:
 	;
@@ -73188,7 +73190,7 @@ __3:
 		goto __4
 	}
 
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69443)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69447)
 	goto ptrmap_exit
 __4:
 	;
@@ -73196,7 +73198,7 @@ __4:
 	if !(offset < 0) {
 		goto __5
 	}
-	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69448)
+	*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69452)
 	goto ptrmap_exit
 __5:
 	;
@@ -73239,7 +73241,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 	offset = int32(Pgno(5) * (key - Pgno(iPtrmap) - Pgno(1)))
 	if offset < 0 {
 		Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
-		return Xsqlite3CorruptError(tls, 69493)
+		return Xsqlite3CorruptError(tls, 69497)
 	}
 
 	*(*U8)(unsafe.Pointer(pEType)) = *(*U8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
@@ -73249,7 +73251,7 @@ func ptrmapGet(tls *libc.TLS, pBt uintptr, key Pgno, pEType uintptr, pPgno uintp
 
 	Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
 	if int32(*(*U8)(unsafe.Pointer(pEType))) < 1 || int32(*(*U8)(unsafe.Pointer(pEType))) > 5 {
-		return Xsqlite3CorruptError(tls, 69501)
+		return Xsqlite3CorruptError(tls, 69505)
 	}
 	return SQLITE_OK
 }
@@ -73499,7 +73501,7 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr,
 	if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 		var ovfl Pgno
 		if Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) >= Uptr(pCell) && Uptr((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd) < Uptr(pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnLocal)) {
-			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69893)
+			*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 69897)
 			return
 		}
 		ovfl = Xsqlite3Get4byte(tls, pCell+uintptr(int32((*CellInfo)(unsafe.Pointer(bp)).FnSize)-4))
@@ -73546,7 +73548,7 @@ func defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) int32 {
 	if !(iFree > usableSize-4) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 69951)
+	return Xsqlite3CorruptError(tls, 69955)
 __2:
 	;
 	if !(iFree != 0) {
@@ -73556,7 +73558,7 @@ __2:
 	if !(iFree2 > usableSize-4) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 69954)
+	return Xsqlite3CorruptError(tls, 69958)
 __4:
 	;
 	if !(0 == iFree2 || int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+1)))) == 0) {
@@ -73569,7 +73571,7 @@ __4:
 	if !(top >= iFree) {
 		goto __6
 	}
-	return Xsqlite3CorruptError(tls, 69962)
+	return Xsqlite3CorruptError(tls, 69966)
 __6:
 	;
 	if !(iFree2 != 0) {
@@ -73578,14 +73580,14 @@ __6:
 	if !(iFree+sz > iFree2) {
 		goto __9
 	}
-	return Xsqlite3CorruptError(tls, 69965)
+	return Xsqlite3CorruptError(tls, 69969)
 __9:
 	;
 	sz2 = int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+2) + 1)))
 	if !(iFree2+sz2 > usableSize) {
 		goto __10
 	}
-	return Xsqlite3CorruptError(tls, 69967)
+	return Xsqlite3CorruptError(tls, 69971)
 __10:
 	;
 	libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), uint64(iFree2-(iFree+sz)))
@@ -73595,7 +73597,7 @@ __7:
 	if !(iFree+sz > usableSize) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 69971)
+	return Xsqlite3CorruptError(tls, 69975)
 __11:
 	;
 __8:
@@ -73659,7 +73661,7 @@ __19:
 	if !(pc < iCellStart || pc > iCellLast) {
 		goto __22
 	}
-	return Xsqlite3CorruptError(tls, 70004)
+	return Xsqlite3CorruptError(tls, 70008)
 __22:
 	;
 	size = int32((*struct {
@@ -73669,7 +73671,7 @@ __22:
 	if !(cbrk < iCellStart || pc+size > usableSize) {
 		goto __23
 	}
-	return Xsqlite3CorruptError(tls, 70010)
+	return Xsqlite3CorruptError(tls, 70014)
 __23:
 	;
 	*(*U8)(unsafe.Pointer(pAddr1)) = U8(cbrk >> 8)
@@ -73691,7 +73693,7 @@ defragment_out:
 	if !(int32(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+7))))+cbrk-iCellFirst != (*MemPage)(unsafe.Pointer(pPage)).FnFree) {
 		goto __24
 	}
-	return Xsqlite3CorruptError(tls, 70024)
+	return Xsqlite3CorruptError(tls, 70028)
 __24:
 	;
 	*(*uint8)(unsafe.Pointer(data + uintptr(hdr+5))) = U8(cbrk >> 8)
@@ -73726,7 +73728,7 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 				*(*U8)(unsafe.Pointer(aData + uintptr(hdr+7))) += U8(int32(U8(x)))
 				return aData + uintptr(pc)
 			} else if x+pc > maxPC {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70081)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70085)
 				return uintptr(0)
 			} else {
 				*(*U8)(unsafe.Pointer(aData + uintptr(pc+2))) = U8(x >> 8)
@@ -73739,13 +73741,13 @@ func pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) uintptr
 		pc = int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1)))
 		if pc <= iAddr {
 			if pc != 0 {
-				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70096)
+				*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70100)
 			}
 			return uintptr(0)
 		}
 	}
 	if pc > maxPC+nByte-4 {
-		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70103)
+		*(*int32)(unsafe.Pointer(pRc)) = Xsqlite3CorruptError(tls, 70107)
 	}
 	return uintptr(0)
 }
@@ -73770,7 +73772,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 		if top == 0 && (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == U32(65536) {
 			top = 65536
 		} else {
-			return Xsqlite3CorruptError(tls, 70152)
+			return Xsqlite3CorruptError(tls, 70156)
 		}
 	}
 
@@ -73781,7 +73783,7 @@ func allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) int3
 
 			*(*int32)(unsafe.Pointer(pIdx)) = libc.AssignInt32(&g2, int32((int64(pSpace)-int64(data))/1))
 			if g2 <= gap {
-				return Xsqlite3CorruptError(tls, 70170)
+				return Xsqlite3CorruptError(tls, 70174)
 			} else {
 				return SQLITE_OK
 			}
@@ -73833,22 +73835,22 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 				if int32(iFreeBlk) == 0 {
 					break
 				}
-				return Xsqlite3CorruptError(tls, 70249)
+				return Xsqlite3CorruptError(tls, 70253)
 			}
 			iPtr = iFreeBlk
 		}
 		if U32(iFreeBlk) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize-U32(4) {
-			return Xsqlite3CorruptError(tls, 70254)
+			return Xsqlite3CorruptError(tls, 70258)
 		}
 
 		if iFreeBlk != 0 && iEnd+U32(3) >= U32(iFreeBlk) {
 			nFrag = U8(U32(iFreeBlk) - iEnd)
 			if iEnd > U32(iFreeBlk) {
-				return Xsqlite3CorruptError(tls, 70266)
+				return Xsqlite3CorruptError(tls, 70270)
 			}
 			iEnd = U32(int32(iFreeBlk) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iFreeBlk)+2) + 1)))))
 			if iEnd > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-				return Xsqlite3CorruptError(tls, 70269)
+				return Xsqlite3CorruptError(tls, 70273)
 			}
 			iSize = U16(iEnd - U32(iStart))
 			iFreeBlk = U16(int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk) + 1))))
@@ -73858,7 +73860,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			var iPtrEnd int32 = int32(iPtr) + (int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2))))<<8 | int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(iPtr)+2) + 1))))
 			if iPtrEnd+3 >= int32(iStart) {
 				if iPtrEnd > int32(iStart) {
-					return Xsqlite3CorruptError(tls, 70282)
+					return Xsqlite3CorruptError(tls, 70286)
 				}
 				nFrag = U8(int32(nFrag) + (int32(iStart) - iPtrEnd))
 				iSize = U16(iEnd - U32(iPtr))
@@ -73866,7 +73868,7 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 			}
 		}
 		if int32(nFrag) > int32(*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7)))) {
-			return Xsqlite3CorruptError(tls, 70288)
+			return Xsqlite3CorruptError(tls, 70292)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+7))) -= uint8(int32(nFrag))
 	}
@@ -73874,10 +73876,10 @@ func freeSpace(tls *libc.TLS, pPage uintptr, iStart U16, iSize U16) int32 {
 	x = U16(int32(*(*U8)(unsafe.Pointer(pTmp)))<<8 | int32(*(*U8)(unsafe.Pointer(pTmp + 1))))
 	if int32(iStart) <= int32(x) {
 		if int32(iStart) < int32(x) {
-			return Xsqlite3CorruptError(tls, 70297)
+			return Xsqlite3CorruptError(tls, 70301)
 		}
 		if int32(iPtr) != int32(hdr)+1 {
-			return Xsqlite3CorruptError(tls, 70298)
+			return Xsqlite3CorruptError(tls, 70302)
 		}
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1))) = U8(int32(iFreeBlk) >> 8)
 		*(*uint8)(unsafe.Pointer(data + uintptr(int32(hdr)+1) + 1)) = U8(iFreeBlk)
@@ -73937,7 +73939,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70357)
+			return Xsqlite3CorruptError(tls, 70361)
 		}
 	} else {
 		(*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize = U8(4)
@@ -73973,7 +73975,7 @@ func decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) int32 {
 			(*MemPage)(unsafe.Pointer(pPage)).FxParseCell = *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, uintptr, uintptr)
 			}{btreeParseCellPtrIndex}))
-			return Xsqlite3CorruptError(tls, 70381)
+			return Xsqlite3CorruptError(tls, 70385)
 		}
 	}
 	return SQLITE_OK
@@ -74003,11 +74005,11 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 		var next U32
 		var size U32
 		if pc < top {
-			return Xsqlite3CorruptError(tls, 70432)
+			return Xsqlite3CorruptError(tls, 70436)
 		}
 		for 1 != 0 {
 			if pc > iCellLast {
-				return Xsqlite3CorruptError(tls, 70437)
+				return Xsqlite3CorruptError(tls, 70441)
 			}
 			next = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc) + 1))))
 			size = U32(int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2))))<<8 | int32(*(*U8)(unsafe.Pointer(data + uintptr(pc+2) + 1))))
@@ -74018,15 +74020,15 @@ func btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) int32 {
 			pc = int32(next)
 		}
 		if next > U32(0) {
-			return Xsqlite3CorruptError(tls, 70447)
+			return Xsqlite3CorruptError(tls, 70451)
 		}
 		if U32(pc)+size > uint32(usableSize) {
-			return Xsqlite3CorruptError(tls, 70451)
+			return Xsqlite3CorruptError(tls, 70455)
 		}
 	}
 
 	if nFree > usableSize || nFree < iCellFirst {
-		return Xsqlite3CorruptError(tls, 70463)
+		return Xsqlite3CorruptError(tls, 70467)
 	}
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = int32(U16(nFree - iCellFirst))
 	return SQLITE_OK
@@ -74054,14 +74056,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 {
 		pc = int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(data + uintptr(cellOffset+i*2)))))
 
 		if pc < iCellFirst || pc > iCellLast {
-			return Xsqlite3CorruptError(tls, 70494)
+			return Xsqlite3CorruptError(tls, 70498)
 		}
 		sz = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
 		})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, data+uintptr(pc)))
 
 		if pc+sz > usableSize {
-			return Xsqlite3CorruptError(tls, 70499)
+			return Xsqlite3CorruptError(tls, 70503)
 		}
 	}
 	return SQLITE_OK
@@ -74075,7 +74077,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 	data = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if decodeFlags(tls, pPage, int32(*(*U8)(unsafe.Pointer(data)))) != 0 {
-		return Xsqlite3CorruptError(tls, 70531)
+		return Xsqlite3CorruptError(tls, 70535)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FmaskPage = U16((*BtShared)(unsafe.Pointer(pBt)).FpageSize - U32(1))
@@ -74087,7 +74089,7 @@ func btreeInitPage(tls *libc.TLS, pPage uintptr) int32 {
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnCell = U16(int32(*(*U8)(unsafe.Pointer(data + 3)))<<8 | int32(*(*U8)(unsafe.Pointer(data + 3 + 1))))
 	if U32((*MemPage)(unsafe.Pointer(pPage)).FnCell) > ((*BtShared)(unsafe.Pointer(pBt)).FpageSize-U32(8))/U32(6) {
-		return Xsqlite3CorruptError(tls, 70545)
+		return Xsqlite3CorruptError(tls, 70549)
 	}
 
 	(*MemPage)(unsafe.Pointer(pPage)).FnFree = -1
@@ -74190,7 +74192,7 @@ func getAndInitPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, pCur
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	rc = Xsqlite3CorruptError(tls, 70700)
+	rc = Xsqlite3CorruptError(tls, 70704)
 	goto getAndInitPage_error1
 __1:
 	;
@@ -74218,7 +74220,7 @@ __3:
 	if !(pCur != 0 && (int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FnCell) < 1 || int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FintKey) != int32((*BtCursor)(unsafe.Pointer(pCur)).FcurIntKey))) {
 		goto __5
 	}
-	rc = Xsqlite3CorruptError(tls, 70721)
+	rc = Xsqlite3CorruptError(tls, 70725)
 	goto getAndInitPage_error2
 __5:
 	;
@@ -74257,7 +74259,7 @@ func btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno Pgno, ppPage uintptr, f
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > 1 {
 			releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
 			*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
-			return Xsqlite3CorruptError(tls, 70787)
+			return Xsqlite3CorruptError(tls, 70791)
 		}
 		(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = U8(0)
 	} else {
@@ -75140,7 +75142,7 @@ __16:
 	if !(Xsqlite3WritableSchema(tls, (*BtShared)(unsafe.Pointer(pBt)).Fdb) == 0) {
 		goto __18
 	}
-	rc = Xsqlite3CorruptError(tls, 71722)
+	rc = Xsqlite3CorruptError(tls, 71726)
 	goto page1_init_failed
 	goto __19
 __18:
@@ -75555,7 +75557,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 	if int32(eType) == PTRMAP_OVERFLOW2 {
 		if Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
-			return Xsqlite3CorruptError(tls, 72143)
+			return Xsqlite3CorruptError(tls, 72147)
 		}
 		Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData, iTo)
 	} else {
@@ -75581,7 +75583,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				})(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp)
 				if U32((*CellInfo)(unsafe.Pointer(bp)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp)).FnPayload {
 					if pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-						return Xsqlite3CorruptError(tls, 72162)
+						return Xsqlite3CorruptError(tls, 72166)
 					}
 					if iFrom == Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4)) {
 						Xsqlite3Put4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(bp)).FnSize)-uintptr(4), iTo)
@@ -75590,7 +75592,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 				}
 			} else {
 				if pCell+uintptr(4) > (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
-					return Xsqlite3CorruptError(tls, 72171)
+					return Xsqlite3CorruptError(tls, 72175)
 				}
 				if Xsqlite3Get4byte(tls, pCell) == iFrom {
 					Xsqlite3Put4byte(tls, pCell, iTo)
@@ -75601,7 +75603,7 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType
 
 		if i == nCell {
 			if int32(eType) != PTRMAP_BTREE || Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8)) != iFrom {
-				return Xsqlite3CorruptError(tls, 72183)
+				return Xsqlite3CorruptError(tls, 72187)
 			}
 			Xsqlite3Put4byte(tls, (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8), iTo)
 		}
@@ -75617,7 +75619,7 @@ func relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType U8, iPtrPag
 	var pPager uintptr = (*BtShared)(unsafe.Pointer(pBt)).FpPager
 
 	if iDbPage < Pgno(3) {
-		return Xsqlite3CorruptError(tls, 72218)
+		return Xsqlite3CorruptError(tls, 72222)
 	}
 
 	*(*int32)(unsafe.Pointer(bp)) = Xsqlite3PagerMovepage(tls, pPager, (*MemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -75678,7 +75680,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 			return rc
 		}
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_ROOTPAGE {
-			return Xsqlite3CorruptError(tls, 72316)
+			return Xsqlite3CorruptError(tls, 72320)
 		}
 
 		if int32(*(*U8)(unsafe.Pointer(bp))) == PTRMAP_FREEPAGE {
@@ -75713,7 +75715,7 @@ func incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin Pgno, iLastPg Pgno, bCommit
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 				if *(*Pgno)(unsafe.Pointer(bp + 40)) > dbSize {
 					releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
-					return Xsqlite3CorruptError(tls, 72368)
+					return Xsqlite3CorruptError(tls, 72372)
 				}
 			}
 
@@ -75773,7 +75775,7 @@ func Xsqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) int32 {
 		var nFin Pgno = finalDbSize(tls, pBt, nOrig, nFree)
 
 		if nOrig < nFin || nFree >= nOrig {
-			rc = Xsqlite3CorruptError(tls, 72436)
+			rc = Xsqlite3CorruptError(tls, 72440)
 		} else if nFree > Pgno(0) {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
 			if rc == SQLITE_OK {
@@ -75812,7 +75814,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 
 		nOrig = btreePagecount(tls, pBt)
 		if ptrmapPageno(tls, pBt, nOrig) == nOrig || nOrig == U32(Xsqlite3PendingByte)/(*BtShared)(unsafe.Pointer(pBt)).FpageSize+U32(1) {
-			return Xsqlite3CorruptError(tls, 72487)
+			return Xsqlite3CorruptError(tls, 72491)
 		}
 
 		nFree = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
@@ -75843,7 +75845,7 @@ func autoVacuumCommit(tls *libc.TLS, p uintptr) int32 {
 		}
 		nFin = finalDbSize(tls, pBt, nOrig, nVac)
 		if nFin > nOrig {
-			return Xsqlite3CorruptError(tls, 72514)
+			return Xsqlite3CorruptError(tls, 72518)
 		}
 		if nFin < nOrig {
 			rc = saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -76184,7 +76186,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u
 
 	if iTable <= Pgno(1) {
 		if iTable < Pgno(1) {
-			return Xsqlite3CorruptError(tls, 72978)
+			return Xsqlite3CorruptError(tls, 72982)
 		} else if btreePagecount(tls, pBt) == Pgno(0) {
 			iTable = Pgno(0)
 		}
@@ -76428,14 +76430,14 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBt
 
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
-		return Xsqlite3CorruptError(tls, 73385)
+		return Xsqlite3CorruptError(tls, 73389)
 	}
 
 	getCellInfo(tls, pCur)
 	aPayload = (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
 
 	if Uptr((int64(aPayload)-int64((*MemPage)(unsafe.Pointer(pPage)).FaData))/1) > Uptr((*BtShared)(unsafe.Pointer(pBt)).FusableSize-U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal)) {
-		return Xsqlite3CorruptError(tls, 73400)
+		return Xsqlite3CorruptError(tls, 73404)
 	}
 
 	if offset < U32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -76480,7 +76482,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 
 		for *(*Pgno)(unsafe.Pointer(bp)) != 0 {
 			if *(*Pgno)(unsafe.Pointer(bp)) > (*BtShared)(unsafe.Pointer(pBt)).FnPage {
-				return Xsqlite3CorruptError(tls, 73462)
+				return Xsqlite3CorruptError(tls, 73466)
 			}
 
 			*(*Pgno)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*Pgno)(unsafe.Pointer(bp))
@@ -76529,7 +76531,7 @@ func accessPayload(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintpt
 	}
 
 	if rc == SQLITE_OK && amt > U32(0) {
-		return Xsqlite3CorruptError(tls, 73547)
+		return Xsqlite3CorruptError(tls, 73551)
 	}
 	return rc
 }
@@ -76609,7 +76611,7 @@ func Xsqlite3BtreePayloadFetch(tls *libc.TLS, pCur uintptr, pAmt uintptr) uintpt
 
 func moveToChild(tls *libc.TLS, pCur uintptr, newPgno U32) int32 {
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) >= BTCURSOR_MAX_DEPTH-1 {
-		return Xsqlite3CorruptError(tls, 73684)
+		return Xsqlite3CorruptError(tls, 73688)
 	}
 	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	*(*U8)(unsafe.Pointer(pCur + 1)) &= libc.Uint8FromInt32(libc.CplInt32(BTCF_ValidNKey | BTCF_ValidOvfl))
@@ -76700,7 +76702,7 @@ __2:
 	if !(int32((*MemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.Bool32((*BtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != int32((*MemPage)(unsafe.Pointer(pRoot)).FintKey)) {
 		goto __11
 	}
-	return Xsqlite3CorruptError(tls, 73823)
+	return Xsqlite3CorruptError(tls, 73827)
 __11:
 	;
 skip_init:
@@ -76720,7 +76722,7 @@ __12:
 	if !((*MemPage)(unsafe.Pointer(pRoot)).Fpgno != Pgno(1)) {
 		goto __16
 	}
-	return Xsqlite3CorruptError(tls, 73835)
+	return Xsqlite3CorruptError(tls, 73839)
 __16:
 	;
 	subpage = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(int32((*MemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+8))
@@ -76930,7 +76932,7 @@ __19:
 	if !(pCell >= (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __21
 	}
-	return Xsqlite3CorruptError(tls, 74077)
+	return Xsqlite3CorruptError(tls, 74081)
 __21:
 	;
 	goto __19
@@ -77134,7 +77136,7 @@ __2:
 	if !!(int32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).FisInit) != 0) {
 		goto __4
 	}
-	return Xsqlite3CorruptError(tls, 74273)
+	return Xsqlite3CorruptError(tls, 74277)
 __4:
 	;
 	goto bypass_moveto_root
@@ -77199,7 +77201,7 @@ __15:
 	if !(nCell < 2 || U32(nCell)/(*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FusableSize > (*BtShared)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage) {
 		goto __17
 	}
-	rc = Xsqlite3CorruptError(tls, 74360)
+	rc = Xsqlite3CorruptError(tls, 74364)
 	goto moveto_index_finish
 __17:
 	;
@@ -77247,7 +77249,7 @@ __22:
 	if !((*UnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0) {
 		goto __24
 	}
-	rc = Xsqlite3CorruptError(tls, 74392)
+	rc = Xsqlite3CorruptError(tls, 74396)
 __24:
 	;
 	goto moveto_index_finish
@@ -77366,7 +77368,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 {
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	idx = int32(libc.PreIncUint16(&(*BtCursor)(unsafe.Pointer(pCur)).Fix, 1))
 	if !(int32((*MemPage)(unsafe.Pointer(pPage)).FisInit) != 0) || Xsqlite3FaultSim(tls, 412) != 0 {
-		return Xsqlite3CorruptError(tls, 74508)
+		return Xsqlite3CorruptError(tls, 74512)
 	}
 
 	if idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) {
@@ -77526,7 +77528,7 @@ func allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintptr
 	if !(n >= mxPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74688)
+	return Xsqlite3CorruptError(tls, 74692)
 __1:
 	;
 	if !(n > U32(0)) {
@@ -77591,7 +77593,7 @@ __15:
 	if !(iTrunk > mxPage || libc.PostIncUint32(&nSearch, 1) > n) {
 		goto __16
 	}
-	rc = Xsqlite3CorruptError(tls, 74744)
+	rc = Xsqlite3CorruptError(tls, 74748)
 	goto __17
 __16:
 	rc = btreeGetUnusedPage(tls, pBt, iTrunk, bp+8, 0)
@@ -77627,7 +77629,7 @@ __19:
 		goto __22
 	}
 
-	rc = Xsqlite3CorruptError(tls, 74773)
+	rc = Xsqlite3CorruptError(tls, 74777)
 	goto end_allocate_page
 	goto __23
 __22:
@@ -77671,7 +77673,7 @@ __27:
 	if !(iNewTrunk > mxPage) {
 		goto __32
 	}
-	rc = Xsqlite3CorruptError(tls, 74807)
+	rc = Xsqlite3CorruptError(tls, 74811)
 	goto end_allocate_page
 __32:
 	;
@@ -77783,7 +77785,7 @@ __40:
 	if !(iPage > mxPage || iPage < Pgno(2)) {
 		goto __51
 	}
-	rc = Xsqlite3CorruptError(tls, 74872)
+	rc = Xsqlite3CorruptError(tls, 74876)
 	goto end_allocate_page
 __51:
 	;
@@ -77941,7 +77943,7 @@ func freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage Pgno) int32 {
 	if !(iPage < Pgno(2) || iPage > (*BtShared)(unsafe.Pointer(pBt)).FnPage) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 74999)
+	return Xsqlite3CorruptError(tls, 75003)
 __1:
 	;
 	if !(pMemPage != 0) {
@@ -77998,7 +78000,7 @@ __7:
 	if !(iTrunk > btreePagecount(tls, pBt)) {
 		goto __10
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75046)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75050)
 	goto freepage_out
 __10:
 	;
@@ -78014,7 +78016,7 @@ __11:
 	if !(nLeaf > (*BtShared)(unsafe.Pointer(pBt)).FusableSize/U32(4)-U32(2)) {
 		goto __12
 	}
-	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75057)
+	*(*int32)(unsafe.Pointer(bp + 8)) = Xsqlite3CorruptError(tls, 75061)
 	goto freepage_out
 __12:
 	;
@@ -78088,7 +78090,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 	var ovflPageSize U32
 
 	if pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 75146)
+		return Xsqlite3CorruptError(tls, 75150)
 	}
 	ovflPgno = Xsqlite3Get4byte(tls, pCell+uintptr((*CellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
 	pBt = (*MemPage)(unsafe.Pointer(pPage)).FpBt
@@ -78100,7 +78102,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 		*(*Pgno)(unsafe.Pointer(bp + 8)) = Pgno(0)
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 		if ovflPgno < Pgno(2) || ovflPgno > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 75163)
+			return Xsqlite3CorruptError(tls, 75167)
 		}
 		if nOvfl != 0 {
 			rc = getOverflowPage(tls, pBt, ovflPgno, bp, bp+8)
@@ -78111,7 +78113,7 @@ func clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt
 
 		if (*(*uintptr)(unsafe.Pointer(bp)) != 0 || libc.AssignPtrUintptr(bp, btreePageLookup(tls, pBt, ovflPgno)) != uintptr(0)) &&
 			Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 {
-			rc = Xsqlite3CorruptError(tls, 75183)
+			rc = Xsqlite3CorruptError(tls, 75187)
 		} else {
 			rc = freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp)), ovflPgno)
 		}
@@ -78276,7 +78278,7 @@ func dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
 	hdr = int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)
 
 	if pc+U32(sz) > (*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
-		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75436)
+		*(*int32)(unsafe.Pointer(pRC)) = Xsqlite3CorruptError(tls, 75440)
 		return
 	}
 	rc = freeSpace(tls, pPage, uint16(pc), uint16(sz))
@@ -78555,12 +78557,12 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 
 		if Uptr(pCell) >= Uptr(aData+uintptr(j)) && Uptr(pCell) < Uptr(pEnd) {
 			if Uptr(pCell+uintptr(sz)) > Uptr(pEnd) {
-				return Xsqlite3CorruptError(tls, 75737)
+				return Xsqlite3CorruptError(tls, 75741)
 			}
 			pCell = pTmp + uintptr((int64(pCell)-int64(aData))/1)
 		} else if Uptr(pCell+uintptr(sz)) > Uptr(pSrcEnd) &&
 			Uptr(pCell) < Uptr(pSrcEnd) {
-			return Xsqlite3CorruptError(tls, 75742)
+			return Xsqlite3CorruptError(tls, 75746)
 		}
 
 		pData -= uintptr(sz)
@@ -78568,7 +78570,7 @@ func rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
 		*(*U8)(unsafe.Pointer(pCellptr + 1)) = U8((int64(pData) - int64(aData)) / 1)
 		pCellptr += uintptr(2)
 		if pData < pCellptr {
-			return Xsqlite3CorruptError(tls, 75748)
+			return Xsqlite3CorruptError(tls, 75752)
 		}
 		libc.Xmemmove(tls, pData, pCell, uint64(sz))
 
@@ -78628,7 +78630,7 @@ func pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr,
 
 		if Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > Uptr(pEnd) &&
 			Uptr(*(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < Uptr(pEnd) {
-			Xsqlite3CorruptError(tls, 75833)
+			Xsqlite3CorruptError(tls, 75837)
 			return 1
 		}
 		libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), uint64(sz))
@@ -78717,7 +78719,7 @@ func editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, pC
 	if !(nShift > nCell) {
 		goto __2
 	}
-	return Xsqlite3CorruptError(tls, 75947)
+	return Xsqlite3CorruptError(tls, 75951)
 __2:
 	;
 	libc.Xmemmove(tls, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*MemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*2), uint64(nCell*2))
@@ -78833,7 +78835,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr
 	var pBt uintptr = (*MemPage)(unsafe.Pointer(pPage)).FpBt
 
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
-		return Xsqlite3CorruptError(tls, 76060)
+		return Xsqlite3CorruptError(tls, 76064)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 136)) = allocateBtreePage(tls, pBt, bp, bp+8, uint32(0), uint8(0))
@@ -79153,7 +79155,7 @@ __22:
 	if !(int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pOld)).FaData))) != int32(*(*U8)(unsafe.Pointer((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)))).FaData)))) {
 		goto __25
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76481)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76485)
 	goto balance_cleanup
 __25:
 	;
@@ -79164,7 +79166,7 @@ __25:
 	if !(limit < int32(*(*U16)(unsafe.Pointer(pOld + 28)))) {
 		goto __27
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76505)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76509)
 	goto balance_cleanup
 __27:
 	;
@@ -79322,7 +79324,7 @@ __52:
 	if !(k > NB+2) {
 		goto __55
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76606)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76610)
 	goto balance_cleanup
 __55:
 	;
@@ -79396,7 +79398,7 @@ __65:
 	}()) {
 		goto __67
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76639)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76643)
 	goto balance_cleanup
 __67:
 	;
@@ -79459,7 +79461,7 @@ __73:
 	}()) {
 		goto __75
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76683)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76687)
 	goto balance_cleanup
 __75:
 	;
@@ -79487,7 +79489,7 @@ __76:
 		*(*int32)(unsafe.Pointer(bp + 172)) == SQLITE_OK) {
 		goto __81
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76716)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76720)
 __81:
 	;
 	if !(*(*int32)(unsafe.Pointer(bp + 172)) != 0) {
@@ -79748,7 +79750,7 @@ __120:
 	if !(Uptr(pSrcEnd) >= Uptr(pCell1) && Uptr(pSrcEnd) < Uptr(pCell1+uintptr(sz2))) {
 		goto __121
 	}
-	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76916)
+	*(*int32)(unsafe.Pointer(bp + 172)) = Xsqlite3CorruptError(tls, 76920)
 	goto balance_cleanup
 __121:
 	;
@@ -79940,7 +79942,7 @@ func anotherValidCursor(tls *libc.TLS, pCur uintptr) int32 {
 		if pOther != pCur &&
 			int32((*BtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID &&
 			(*BtCursor)(unsafe.Pointer(pOther)).FpPage == (*BtCursor)(unsafe.Pointer(pCur)).FpPage {
-			return Xsqlite3CorruptError(tls, 77146)
+			return Xsqlite3CorruptError(tls, 77150)
 		}
 	}
 	return SQLITE_OK
@@ -79978,7 +79980,7 @@ func balance(tls *libc.TLS, pCur uintptr) int32 {
 				break
 			}
 		} else if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) > 1 {
-			rc = Xsqlite3CorruptError(tls, 77206)
+			rc = Xsqlite3CorruptError(tls, 77210)
 		} else {
 			var pParent uintptr = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-1)*8))
 			var iIdx int32 = int32(*(*U16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-1)*2)))
@@ -80084,7 +80086,7 @@ func btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 			return rc
 		}
 		if Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1 || (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
-			rc = Xsqlite3CorruptError(tls, 77370)
+			rc = Xsqlite3CorruptError(tls, 77374)
 		} else {
 			if U32(iOffset)+ovflPageSize < U32(nTotal) {
 				ovflPgno = Xsqlite3Get4byte(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -80109,7 +80111,7 @@ func btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) int32 {
 
 	if (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd ||
 		(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FcellOffset) {
-		return Xsqlite3CorruptError(tls, 77398)
+		return Xsqlite3CorruptError(tls, 77402)
 	}
 	if int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
 		return btreeOverwriteContent(tls, pPage, (*BtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload, pX,
@@ -80179,7 +80181,7 @@ __2:
 		goto __3
 	}
 
-	return Xsqlite3CorruptError(tls, 77479)
+	return Xsqlite3CorruptError(tls, 77483)
 __3:
 	;
 __1:
@@ -80292,7 +80294,7 @@ __7:
 		goto __21
 	}
 
-	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77602)
+	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3CorruptError(tls, 77606)
 	goto __22
 __21:
 	*(*int32)(unsafe.Pointer(bp + 120)) = btreeComputeFreeSpace(tls, pPage)
@@ -80352,6 +80354,7 @@ __30:
 __25:
 	;
 	idx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
+	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !(*(*int32)(unsafe.Pointer(bp)) == 0) {
 		goto __31
 	}
@@ -80359,7 +80362,7 @@ __25:
 	if !(idx >= int32((*MemPage)(unsafe.Pointer(pPage)).FnCell)) {
 		goto __33
 	}
-	return Xsqlite3CorruptError(tls, 77640)
+	return Xsqlite3CorruptError(tls, 77645)
 __33:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = Xsqlite3PagerWrite(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage)
@@ -80397,13 +80400,13 @@ __37:
 	if !(oldCell < (*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10)) {
 		goto __39
 	}
-	return Xsqlite3CorruptError(tls, 77667)
+	return Xsqlite3CorruptError(tls, 77672)
 __39:
 	;
 	if !(oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 124))) > (*MemPage)(unsafe.Pointer(pPage)).FaDataEnd) {
 		goto __40
 	}
-	return Xsqlite3CorruptError(tls, 77670)
+	return Xsqlite3CorruptError(tls, 77675)
 __40:
 	;
 	libc.Xmemcpy(tls, oldCell, newCell, uint64(*(*int32)(unsafe.Pointer(bp + 124))))
@@ -80434,7 +80437,6 @@ __32:
 	;
 	*(*int32)(unsafe.Pointer(bp + 120)) = insertCell(tls, pPage, idx, newCell, *(*int32)(unsafe.Pointer(bp + 124)), uintptr(0), uint32(0))
 
-	(*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = U16(0)
 	if !((*MemPage)(unsafe.Pointer(pPage)).FnOverflow != 0) {
 		goto __44
 	}
@@ -80509,7 +80511,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 	nIn = U32((*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
 	aIn = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
 	if aIn+uintptr(nIn) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-		return Xsqlite3CorruptError(tls, 77773)
+		return Xsqlite3CorruptError(tls, 77777)
 	}
 	nRem = (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
 	if nIn == nRem && nIn < U32((*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -80534,7 +80536,7 @@ func Xsqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey I
 
 		if nRem > nIn {
 			if aIn+uintptr(nIn)+uintptr(4) > (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
-				return Xsqlite3CorruptError(tls, 77798)
+				return Xsqlite3CorruptError(tls, 77802)
 			}
 			ovflIn = Xsqlite3Get4byte(tls, (*BtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
 		}
@@ -80635,7 +80637,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 				return *(*int32)(unsafe.Pointer(bp + 24))
 			}
 		} else {
-			return Xsqlite3CorruptError(tls, 77894)
+			return Xsqlite3CorruptError(tls, 77898)
 		}
 	}
 
@@ -80643,11 +80645,11 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 	iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)
 	pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage
 	if int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
-		return Xsqlite3CorruptError(tls, 77903)
+		return Xsqlite3CorruptError(tls, 77907)
 	}
 	pCell = (*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pPage)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(2*iCellIdx))))))
 	if (*MemPage)(unsafe.Pointer(pPage)).FnFree < 0 && btreeComputeFreeSpace(tls, pPage) != 0 {
-		return Xsqlite3CorruptError(tls, 77907)
+		return Xsqlite3CorruptError(tls, 77911)
 	}
 
 	bPreserve = U8(libc.Bool32(int32(flags)&BTREE_SAVEPOSITION != 0))
@@ -80722,7 +80724,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 {
 		}
 		pCell = (*MemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(int32((*MemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(2*(int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell)-1)))))))
 		if pCell < (*MemPage)(unsafe.Pointer(pLeaf)).FaData+4 {
-			return Xsqlite3CorruptError(tls, 77998)
+			return Xsqlite3CorruptError(tls, 78002)
 		}
 		nCell = int32((*struct {
 			f func(*libc.TLS, uintptr, uintptr) U16
@@ -80791,7 +80793,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 
 		Xsqlite3BtreeGetMeta(tls, p, BTREE_LARGEST_ROOT_PAGE, bp)
 		if *(*Pgno)(unsafe.Pointer(bp)) > btreePagecount(tls, pBt) {
-			return Xsqlite3CorruptError(tls, 78114)
+			return Xsqlite3CorruptError(tls, 78118)
 		}
 		*(*Pgno)(unsafe.Pointer(bp))++
 
@@ -80820,7 +80822,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
 			}
 			*(*int32)(unsafe.Pointer(bp + 40)) = ptrmapGet(tls, pBt, *(*Pgno)(unsafe.Pointer(bp)), bp+32, bp+36)
 			if int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_ROOTPAGE || int32(*(*U8)(unsafe.Pointer(bp + 32))) == PTRMAP_FREEPAGE {
-				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78162)
+				*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 78166)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 				releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -80896,7 +80898,7 @@ func clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno Pgno, freePageFlag int32
 	if !(pgno > btreePagecount(tls, pBt)) {
 		goto __1
 	}
-	return Xsqlite3CorruptError(tls, 78252)
+	return Xsqlite3CorruptError(tls, 78256)
 __1:
 	;
 	*(*int32)(unsafe.Pointer(bp + 32)) = getAndInitPage(tls, pBt, pgno, bp, uintptr(0), 0)
@@ -80910,7 +80912,7 @@ __2:
 		Xsqlite3PagerPageRefcount(tls, (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != 1+libc.Bool32(pgno == Pgno(1))) {
 		goto __3
 	}
-	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78259)
+	*(*int32)(unsafe.Pointer(bp + 32)) = Xsqlite3CorruptError(tls, 78263)
 	goto cleardatabasepage_out
 __3:
 	;
@@ -81044,7 +81046,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3
 	var pBt uintptr = (*Btree)(unsafe.Pointer(p)).FpBt
 
 	if iTable > btreePagecount(tls, pBt) {
-		return Xsqlite3CorruptError(tls, 78363)
+		return Xsqlite3CorruptError(tls, 78367)
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 12)) = Xsqlite3BtreeClearTable(tls, p, int32(iTable), uintptr(0))
@@ -83514,7 +83516,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32,
 	var rc int32
 	(*Mem)(unsafe.Pointer(pMem)).Fflags = U16(MEM_Null)
 	if Xsqlite3BtreeMaxRecordSize(tls, pCur) < Sqlite3_int64(offset+amt) {
-		return Xsqlite3CorruptError(tls, 81630)
+		return Xsqlite3CorruptError(tls, 81634)
 	}
 	if SQLITE_OK == libc.AssignInt32(&rc, Xsqlite3VdbeMemClearAndResize(tls, pMem, int32(amt+U32(1)))) {
 		rc = Xsqlite3BtreePayload(tls, pCur, offset, amt, (*Mem)(unsafe.Pointer(pMem)).Fz)
@@ -84163,7 +84165,7 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		return Xsqlite3GetVarint32(tls, a, bp)
 	}())
 	if *(*int32)(unsafe.Pointer(bp)) > nRec || iHdr >= *(*int32)(unsafe.Pointer(bp)) {
-		return Xsqlite3CorruptError(tls, 82270)
+		return Xsqlite3CorruptError(tls, 82274)
 	}
 	iField = *(*int32)(unsafe.Pointer(bp))
 	for i = 0; i <= iCol; i++ {
@@ -84178,14 +84180,14 @@ func Xsqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
 		}())
 
 		if iHdr > *(*int32)(unsafe.Pointer(bp)) {
-			return Xsqlite3CorruptError(tls, 82276)
+			return Xsqlite3CorruptError(tls, 82280)
 		}
 		szField = int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 4))))
 		iField = iField + szField
 	}
 
 	if iField > nRec {
-		return Xsqlite3CorruptError(tls, 82282)
+		return Xsqlite3CorruptError(tls, 82286)
 	}
 	if pMem == uintptr(0) {
 		pMem = libc.AssignPtrUintptr(ppVal, Xsqlite3ValueNew(tls, db))
@@ -86489,7 +86491,7 @@ func Xsqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) int32 {
 		return rc
 	}
 	if *(*int32)(unsafe.Pointer(bp)) != 0 {
-		return Xsqlite3CorruptError(tls, 86058)
+		return Xsqlite3CorruptError(tls, 86062)
 	}
 	(*VdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = U8(0)
 	(*VdbeCursor)(unsafe.Pointer(p)).FcacheStatus = U32(CACHE_STALE)
@@ -87040,7 +87042,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		i = 0
 	}
 	if d1 > uint32(nKey1) {
-		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86985))
+		(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 86989))
 		return 0
 	}
 
@@ -87105,7 +87107,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 
 				if d1+U32((*Mem)(unsafe.Pointer(bp+8)).Fn) > uint32(nKey1) ||
 					int32((*KeyInfo)(unsafe.Pointer(libc.AssignUintptr(&pKeyInfo, (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FpKeyInfo))).FnAllField) <= i {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87062))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87066))
 					return 0
 				} else if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 {
 					(*Mem)(unsafe.Pointer(bp + 8)).Fenc = (*KeyInfo)(unsafe.Pointer(pKeyInfo)).Fenc
@@ -87139,7 +87141,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 				var nStr int32 = int32((*(*U32)(unsafe.Pointer(bp + 64)) - U32(12)) / U32(2))
 
 				if d1+U32(nStr) > uint32(nKey1) {
-					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87092))
+					(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87096))
 					return 0
 				} else if int32((*Mem)(unsafe.Pointer(pRhs)).Fflags)&MEM_Zero != 0 {
 					if !(isAllZero(tls, aKey1+uintptr(d1), nStr) != 0) {
@@ -87189,7 +87191,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
 		}
 		idx1 = idx1 + U32(Xsqlite3VarintLen(tls, uint64(*(*U32)(unsafe.Pointer(bp + 64)))))
 		if idx1 >= *(*U32)(unsafe.Pointer(bp + 4)) {
-			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87136))
+			(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87140))
 			return 0
 		}
 	}
@@ -87335,7 +87337,7 @@ __5:
 	if !(szHdr+nStr > nKey1) {
 		goto __7
 	}
-	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87299))
+	(*UnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = U8(Xsqlite3CorruptError(tls, 87303))
 	return 0
 __7:
 	;
@@ -87506,7 +87508,7 @@ __6:
 idx_rowid_corruption:
 	;
 	Xsqlite3VdbeMemReleaseMalloc(tls, bp)
-	return Xsqlite3CorruptError(tls, 87457)
+	return Xsqlite3CorruptError(tls, 87461)
 }
 
 // Compare the key of the index entry that cursor pC is pointing to against
@@ -87532,7 +87534,7 @@ func Xsqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
 
 	if nCellKey <= int64(0) || nCellKey > int64(0x7fffffff) {
 		*(*int32)(unsafe.Pointer(res)) = 0
-		return Xsqlite3CorruptError(tls, 87490)
+		return Xsqlite3CorruptError(tls, 87494)
 	}
 	Xsqlite3VdbeMemInit(tls, bp, db, uint16(0))
 	rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, U32(nCellKey), bp)
@@ -87806,7 +87808,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) int32 {
 		var v uintptr = pStmt
 		var db uintptr = (*Vdbe)(unsafe.Pointer(v)).Fdb
 		if vdbeSafety(tls, v) != 0 {
-			return Xsqlite3MisuseError(tls, 87854)
+			return Xsqlite3MisuseError(tls, 87858)
 		}
 		Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		if (*Vdbe)(unsafe.Pointer(v)).FstartTime > int64(0) {
@@ -88421,7 +88423,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) int32 {
 	var db uintptr
 
 	if vdbeSafetyNotNull(tls, v) != 0 {
-		return Xsqlite3MisuseError(tls, 88544)
+		return Xsqlite3MisuseError(tls, 88548)
 	}
 	db = (*Vdbe)(unsafe.Pointer(v)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -88941,7 +88943,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 
 	var pVar uintptr
 	if vdbeSafetyNotNull(tls, p) != 0 {
-		return Xsqlite3MisuseError(tls, 89208)
+		return Xsqlite3MisuseError(tls, 89212)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 	if int32((*Vdbe)(unsafe.Pointer(p)).FeVdbeState) != VDBE_READY_STATE {
@@ -88949,7 +88951,7 @@ func vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) int32 {
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
 		Xsqlite3_log(tls, SQLITE_MISUSE,
 			ts+6709, libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzSql))
-		return Xsqlite3MisuseError(tls, 89216)
+		return Xsqlite3MisuseError(tls, 89220)
 	}
 	if i >= uint32((*Vdbe)(unsafe.Pointer(p)).FnVar) {
 		Xsqlite3Error(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, SQLITE_RANGE)
@@ -89354,7 +89356,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_INSERT) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89707)
+	rc = Xsqlite3MisuseError(tls, 89711)
 	goto preupdate_old_out
 __1:
 	;
@@ -89498,7 +89500,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
 	if !(!(p != 0) || (*PreUpdate)(unsafe.Pointer(p)).Fop == SQLITE_DELETE) {
 		goto __1
 	}
-	rc = Xsqlite3MisuseError(tls, 89809)
+	rc = Xsqlite3MisuseError(tls, 89813)
 	goto preupdate_new_out
 __1:
 	;
@@ -89942,10 +89944,6 @@ func filterHash(tls *libc.TLS, aMem uintptr, pOp uintptr) U64 {
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Real != 0 {
 			h = h + U64(Xsqlite3VdbeIntValue(tls, p))
 		} else if int32((*Mem)(unsafe.Pointer(p)).Fflags)&(MEM_Str|MEM_Blob) != 0 {
-			h = h + U64((*Mem)(unsafe.Pointer(p)).Fn)
-			if int32((*Mem)(unsafe.Pointer(p)).Fflags)&MEM_Zero != 0 {
-				h = h + U64(*(*int32)(unsafe.Pointer(p)))
-			}
 		}
 	}
 	return h
@@ -92593,7 +92591,7 @@ op_column_corrupt:
 	goto __9
 	goto __425
 __424:
-	rc = Xsqlite3CorruptError(tls, 93317)
+	rc = Xsqlite3CorruptError(tls, 93320)
 	goto abort_due_to_error
 __425:
 	;
@@ -94353,7 +94351,7 @@ notExistsWithKey:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp2 == 0) {
 		goto __682
 	}
-	rc = Xsqlite3CorruptError(tls, 95560)
+	rc = Xsqlite3CorruptError(tls, 95563)
 	goto __683
 __682:
 	goto jump_to_p2
@@ -95131,7 +95129,7 @@ __767:
 	if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0 && !(Xsqlite3WritableSchema(tls, db) != 0)) {
 		goto __770
 	}
-	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96635, ts+7218)
+	rc = Xsqlite3ReportError(tls, SQLITE_CORRUPT|int32(3)<<8, 96638, ts+7218)
 	goto abort_due_to_error
 __770:
 	;
@@ -95241,7 +95239,7 @@ __780:
 	if !(nCellKey <= int64(0) || nCellKey > int64(0x7fffffff)) {
 		goto __781
 	}
-	rc = Xsqlite3CorruptError(tls, 96840)
+	rc = Xsqlite3CorruptError(tls, 96843)
 	goto abort_due_to_error
 __781:
 	;
@@ -95435,7 +95433,7 @@ __802:
 		goto __803
 	}
 
-	rc = Xsqlite3CorruptError(tls, 97092)
+	rc = Xsqlite3CorruptError(tls, 97095)
 __803:
 	;
 	Xsqlite3DbFreeNN(tls, db, zSql)
@@ -96802,7 +96800,7 @@ __955:
 	if !(rc == SQLITE_IOERR|int32(33)<<8) {
 		goto __957
 	}
-	rc = Xsqlite3CorruptError(tls, 99031)
+	rc = Xsqlite3CorruptError(tls, 99034)
 __957:
 	;
 __956:
@@ -97322,7 +97320,7 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99516)
+		return Xsqlite3MisuseError(tls, 99519)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -97405,7 +97403,7 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3
 	var db uintptr
 
 	if p == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 99616)
+		return Xsqlite3MisuseError(tls, 99619)
 	}
 	db = (*Incrblob)(unsafe.Pointer(p)).Fdb
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -100845,14 +100843,10 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			;
 			Xsqlite3WalkExpr(tls, pWalker, (*Expr)(unsafe.Pointer(pExpr)).FpLeft)
 			if 0 == Xsqlite3ExprCanBeNull(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
-				if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 8116
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsTrue)
-				} else {
-					*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 8121
-					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
-				}
-				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
+				*(*int32)(unsafe.Pointer(pExpr + 8)) = libc.Bool32(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_NOTNULL)
+				*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IntValue)
+				(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_INTEGER)
+
 				i = 0
 				p = pNC
 			__4:
@@ -100896,7 +100890,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var pLeft uintptr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_GenCol) != 0 {
-					notValidImpl(tls, pParse, pNC, ts+8127, uintptr(0), pExpr)
+					notValidImpl(tls, pParse, pNC, ts+8116, uintptr(0), pExpr)
 				}
 
 				pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight
@@ -100960,7 +100954,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 						(*Expr)(unsafe.Pointer(pExpr)).FiTable = exprProbability(tls, (*ExprList_item)(unsafe.Pointer(pList+8+1*32)).FpExpr)
 						if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 {
 							Xsqlite3ErrorMsg(tls, pParse,
-								ts+8144, libc.VaList(bp, pExpr))
+								ts+8133, libc.VaList(bp, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
 					} else {
@@ -100976,7 +100970,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 					var auth int32 = Xsqlite3AuthCheck(tls, pParse, SQLITE_FUNCTION, uintptr(0), (*FuncDef)(unsafe.Pointer(pDef)).FzName, uintptr(0))
 					if auth != SQLITE_OK {
 						if auth == SQLITE_DENY {
-							Xsqlite3ErrorMsg(tls, pParse, ts+8208,
+							Xsqlite3ErrorMsg(tls, pParse, ts+8197,
 								libc.VaList(bp+8, pExpr))
 							(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 						}
@@ -100990,7 +100984,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				}
 				if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_CONSTANT) == U32(0) {
 					if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IdxExpr|NC_PartIdx|NC_GenCol) != 0 {
-						notValidImpl(tls, pParse, pNC, ts+8244, uintptr(0), pExpr)
+						notValidImpl(tls, pParse, pNC, ts+8233, uintptr(0), pExpr)
 					}
 
 				} else {
@@ -101013,30 +101007,30 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 			if 0 == libc.Bool32(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 				if pDef != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0) && pWin != 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+8272, libc.VaList(bp+16, pExpr))
+						ts+8261, libc.VaList(bp+16, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowAgg == 0 ||
 					is_agg != 0 && (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 && !(pWin != 0) ||
 					is_agg != 0 && pWin != 0 && (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_AllowWin == 0 {
 					var zType uintptr
 					if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 || pWin != 0 {
-						zType = ts + 8315
+						zType = ts + 8304
 					} else {
-						zType = ts + 8322
+						zType = ts + 8311
 					}
-					Xsqlite3ErrorMsg(tls, pParse, ts+8332, libc.VaList(bp+24, zType, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+8321, libc.VaList(bp+24, zType, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 					is_agg = 0
 				} else if no_such_func != 0 && int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+8360, libc.VaList(bp+40, pExpr))
+					Xsqlite3ErrorMsg(tls, pParse, ts+8349, libc.VaList(bp+40, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if wrong_num_args != 0 {
-					Xsqlite3ErrorMsg(tls, pParse, ts+8382,
+					Xsqlite3ErrorMsg(tls, pParse, ts+8371,
 						libc.VaList(bp+48, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				} else if is_agg == 0 && (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_WinFunc) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+8426,
+						ts+8415,
 						libc.VaList(bp+56, pExpr))
 					(*NameContext)(unsafe.Pointer(pNC)).FnNcErr++
 				}
@@ -101108,15 +101102,15 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 				var nRef int32 = (*NameContext)(unsafe.Pointer(pNC)).FnRef
 
 				if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&NC_SelfRef != 0 {
-					notValidImpl(tls, pParse, pNC, ts+8474, pExpr, pExpr)
+					notValidImpl(tls, pParse, pNC, ts+8463, pExpr, pExpr)
 				} else {
 					Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32)))
 				}
 
 				if nRef != (*NameContext)(unsafe.Pointer(pNC)).FnRef {
 					*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_VarSelect)
-					*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_VarSelect
 				}
+				*(*int32)(unsafe.Pointer(pNC + 40)) |= NC_Subquery
 			}
 			break
 
@@ -101124,7 +101118,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 {
 	case TK_VARIABLE:
 		{
 			if (*NameContext)(unsafe.Pointer(pNC)).FncFlags&(NC_IsCheck|NC_PartIdx|NC_IdxExpr|NC_GenCol) != 0 {
-				notValidImpl(tls, pParse, pNC, ts+8485, pExpr, pExpr)
+				notValidImpl(tls, pParse, pNC, ts+8474, pExpr, pExpr)
 			}
 
 			break
@@ -101255,7 +101249,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3
 	defer tls.Free(24)
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+8496, libc.VaList(bp, i, zType, mx))
+		ts+8485, libc.VaList(bp, i, zType, mx))
 	Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pError)
 }
 
@@ -101275,7 +101269,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	}
 	db = (*Parse)(unsafe.Pointer(pParse)).Fdb
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+8552, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+8541, 0)
 		return 1
 	}
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
@@ -101310,7 +101304,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 			}
 			if Xsqlite3ExprIsInteger(tls, pE, bp+8) != 0 {
 				if *(*int32)(unsafe.Pointer(bp + 8)) <= 0 || *(*int32)(unsafe.Pointer(bp + 8)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr {
-					resolveOutOfRangeError(tls, pParse, ts+8586, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
+					resolveOutOfRangeError(tls, pParse, ts+8575, i+1, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pE)
 					return 1
 				}
 			} else {
@@ -101367,7 +101361,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3
 	for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ {
 		if int32(*(*uint16)(unsafe.Pointer(pOrderBy + 8 + uintptr(i)*32 + 16 + 4))&0x4>>2) == 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+8592, libc.VaList(bp, i+1))
+				ts+8581, libc.VaList(bp, i+1))
 			return 1
 		}
 	}
@@ -101395,7 +101389,7 @@ func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr,
 		return 0
 	}
 	if (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+8653, libc.VaList(bp, zType))
+		Xsqlite3ErrorMsg(tls, pParse, ts+8642, libc.VaList(bp, zType))
 		return 1
 	}
 	pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList
@@ -101609,7 +101603,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		*(*int32)(unsafe.Pointer(bp + 40)) |= NC_UEList
 		if (*Select)(unsafe.Pointer(p)).FpHaving != 0 {
 			if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Aggregate) == U32(0) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+8684, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+8673, 0)
 				return WRC_Abort
 			}
 			if Xsqlite3ResolveExprNames(tls, bp, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 {
@@ -101649,7 +101643,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 
 		if (*Select)(unsafe.Pointer(p)).FpOrderBy != uintptr(0) &&
 			isCompound <= nCompound &&
-			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+8586) != 0 {
+			resolveOrderGroupBy(tls, bp, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+8575) != 0 {
 			return WRC_Abort
 		}
 		if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -101660,7 +101654,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 		if pGroupBy != 0 {
 			var pItem uintptr
 
-			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+8723) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
+			if resolveOrderGroupBy(tls, bp, p, pGroupBy, ts+8712) != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 				return WRC_Abort
 			}
 			i = 0
@@ -101672,7 +101666,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 {
 			{
 				if (*Expr)(unsafe.Pointer((*ExprList_item)(unsafe.Pointer(pItem)).FpExpr)).Fflags&U32(EP_Agg) != U32(0) {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+8729, 0)
+						ts+8718, 0)
 					return WRC_Abort
 				}
 
@@ -102536,7 +102530,7 @@ func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32
 	var mxHeight int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 3*4))
 	if nHeight > mxHeight {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+8788, libc.VaList(bp, mxHeight))
+			ts+8777, libc.VaList(bp, mxHeight))
 		rc = SQLITE_ERROR
 	}
 	return rc
@@ -102785,10 +102779,10 @@ func Xsqlite3ExprListToValues(tls *libc.TLS, pParse uintptr, nElem int32, pEList
 			nExprElem = 1
 		}
 		if nExprElem != nElem {
-			Xsqlite3ErrorMsg(tls, pParse, ts+8836,
+			Xsqlite3ErrorMsg(tls, pParse, ts+8825,
 				libc.VaList(bp, nExprElem, func() uintptr {
 					if nExprElem > 1 {
-						return ts + 8880
+						return ts + 8869
 					}
 					return ts + 1544
 				}(), nElem))
@@ -102829,7 +102823,7 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt
 		!(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) {
 		Xsqlite3ExprDeferredDelete(tls, pParse, pLeft)
 		Xsqlite3ExprDeferredDelete(tls, pParse, pRight)
-		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+8882)
+		return Xsqlite3Expr(tls, db, TK_INTEGER, ts+8871)
 	} else {
 		return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight)
 	}
@@ -102855,7 +102849,7 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u
 	if pList != 0 &&
 		(*ExprList)(unsafe.Pointer(pList)).FnExpr > *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 6*4)) &&
 		!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+8884, libc.VaList(bp, pToken))
+		Xsqlite3ErrorMsg(tls, pParse, ts+8873, libc.VaList(bp, pToken))
 	}
 	*(*uintptr)(unsafe.Pointer(pNew + 32)) = pList
 	*(*U32)(unsafe.Pointer(pNew + 4)) |= U32(EP_HasFunc)
@@ -102883,7 +102877,7 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD
 	if (*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_FromDDL) != U32(0) {
 		if (*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags&U32(SQLITE_FUNC_DIRECT) != U32(0) ||
 			(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fflags&uint64(SQLITE_TrustedSchema) == uint64(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+8918, libc.VaList(bp, pExpr))
+			Xsqlite3ErrorMsg(tls, pParse, ts+8907, libc.VaList(bp, pExpr))
 		}
 	}
 }
@@ -102930,7 +102924,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 			}
 
 			if bOk == 0 || *(*I64)(unsafe.Pointer(bp + 8)) < int64(1) || *(*I64)(unsafe.Pointer(bp + 8)) > I64(*(*int32)(unsafe.Pointer(db + 136 + 9*4))) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+8938,
+				Xsqlite3ErrorMsg(tls, pParse, ts+8927,
 					libc.VaList(bp, *(*int32)(unsafe.Pointer(db + 136 + 9*4))))
 				Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 				return
@@ -102955,7 +102949,7 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n
 	}
 	(*Expr)(unsafe.Pointer(pExpr)).FiColumn = x
 	if int32(x) > *(*int32)(unsafe.Pointer(db + 136 + 9*4)) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+8981, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+8970, 0)
 		Xsqlite3RecordErrorOffsetOfExpr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr)
 	}
 }
@@ -103530,7 +103524,7 @@ __2:
 	if !(int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_SELECT && (*IdList)(unsafe.Pointer(pColumns)).FnId != libc.AssignInt32(&n, Xsqlite3ExprVectorSize(tls, pExpr))) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+9004,
+	Xsqlite3ErrorMsg(tls, pParse, ts+8993,
 		libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n))
 	goto vector_append_error
 __3:
@@ -103653,7 +103647,7 @@ func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr,
 	var mx int32 = *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 2*4))
 
 	if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr > mx {
-		Xsqlite3ErrorMsg(tls, pParse, ts+9034, libc.VaList(bp, zObject))
+		Xsqlite3ErrorMsg(tls, pParse, ts+9023, libc.VaList(bp, zObject))
 	}
 }
 
@@ -103709,10 +103703,10 @@ func Xsqlite3SelectWalkFail(tls *libc.TLS, pWalker uintptr, NotUsed uintptr) int
 //	  "false"                        EP_IsFalse
 //	  anything else                  0
 func Xsqlite3IsTrueOrFalse(tls *libc.TLS, zIn uintptr) U32 {
-	if Xsqlite3StrICmp(tls, zIn, ts+8116) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+9046) == 0 {
 		return U32(EP_IsTrue)
 	}
-	if Xsqlite3StrICmp(tls, zIn, ts+8121) == 0 {
+	if Xsqlite3StrICmp(tls, zIn, ts+9051) == 0 {
 		return U32(EP_IsFalse)
 	}
 	return U32(0)
@@ -104786,7 +104780,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 {
 	}
 	if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
-		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+8882)
+		pLimit = Xsqlite3Expr(tls, db, TK_INTEGER, ts+8871)
 		if pLimit != 0 {
 			(*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC)
 			pLimit = Xsqlite3PExpr(tls, pParse, TK_NE,
@@ -105224,6 +105218,7 @@ func Xsqlite3ExprCodeLoadIndexColumn(tls *libc.TLS, pParse uintptr, pIdx uintptr
 func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr, pCol uintptr, regOut int32) {
 	var iAddr int32
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
+	var nErr int32 = (*Parse)(unsafe.Pointer(pParse)).FnErr
 
 	if (*Parse)(unsafe.Pointer(pParse)).FiSelfTab > 0 {
 		iAddr = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Parse)(unsafe.Pointer(pParse)).FiSelfTab-1, 0, regOut)
@@ -105237,6 +105232,9 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pTab uintptr
 	if iAddr != 0 {
 		Xsqlite3VdbeJumpHere(tls, v, iAddr)
 	}
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr > nErr {
+		(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FerrByteOffset = -1
+	}
 }
 
 // Generate code to extract the value of the iCol-th column of a table.
@@ -105455,6 +105453,7 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 	var p uintptr
 	var v uintptr
 	for p = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr; p != 0; p = (*IndexedExpr)(unsafe.Pointer(p)).FpIENext {
+		var exprAff U8
 		var iDataCur int32 = (*IndexedExpr)(unsafe.Pointer(p)).FiDataCur
 		if iDataCur < 0 {
 			continue
@@ -105468,6 +105467,14 @@ func sqlite3IndexedExprLookup(tls *libc.TLS, pParse uintptr, pExpr uintptr, targ
 		if Xsqlite3ExprCompare(tls, uintptr(0), pExpr, (*IndexedExpr)(unsafe.Pointer(p)).FpExpr, iDataCur) != 0 {
 			continue
 		}
+
+		exprAff = U8(Xsqlite3ExprAffinity(tls, pExpr))
+		if int32(exprAff) <= SQLITE_AFF_BLOB && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_BLOB ||
+			int32(exprAff) == SQLITE_AFF_TEXT && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_TEXT ||
+			int32(exprAff) >= SQLITE_AFF_NUMERIC && int32((*IndexedExpr)(unsafe.Pointer(p)).Faff) != SQLITE_AFF_NUMERIC {
+			continue
+		}
+
 		v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 
 		if (*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow != 0 {
@@ -106241,7 +106248,7 @@ __121:
 	if !((*Expr)(unsafe.Pointer(pExpr)).FiTable != n1) {
 		goto __122
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+9004,
+	Xsqlite3ErrorMsg(tls, pParse, ts+8993,
 		libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1))
 __122:
 	;
@@ -106263,11 +106270,10 @@ __49:
 	return target
 
 __50:
-	if !(!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) &&
-		(*Expr)(unsafe.Pointer(pExpr)).FpLeft != 0 &&
-		int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).Fop) == TK_FUNCTION) {
+	if !!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_Collate) != U32(0)) {
 		goto __123
 	}
+
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	if !(inReg != target) {
 		goto __125
@@ -106338,13 +106344,19 @@ __129:
 	;
 __127:
 	;
-	addrINR = Xsqlite3VdbeAddOp1(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable)
+	addrINR = Xsqlite3VdbeAddOp3(tls, v, OP_IfNullRow, (*Expr)(unsafe.Pointer(pExpr)).FiTable, 0, target)
 
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = U8(0)
 	inReg = Xsqlite3ExprCodeTarget(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, target)
 	(*Parse)(unsafe.Pointer(pParse)).FokConstFactor = okConstFactor
+	if !(inReg != target) {
+		goto __130
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, inReg, target)
+	inReg = target
+__130:
+	;
 	Xsqlite3VdbeJumpHere(tls, v, addrINR)
-	Xsqlite3VdbeChangeP3(tls, v, addrINR, inReg)
 	goto __5
 
 __56:
@@ -106357,15 +106369,15 @@ __56:
 	nExpr = (*ExprList)(unsafe.Pointer(pEList)).FnExpr
 	endLabel = Xsqlite3VdbeMakeLabel(tls, pParse)
 	if !(libc.AssignUintptr(&pX, (*Expr)(unsafe.Pointer(pExpr)).FpLeft) != uintptr(0)) {
-		goto __130
+		goto __131
 	}
 	pDel = Xsqlite3ExprDup(tls, db1, pX, 0)
 	if !((*Sqlite3)(unsafe.Pointer(db1)).FmallocFailed != 0) {
-		goto __131
+		goto __132
 	}
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	goto __5
-__131:
+__132:
 	;
 	exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+40))
 
@@ -106375,22 +106387,22 @@ __131:
 	pTest = bp + 120
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = 0
-__130:
+__131:
 	;
 	i1 = 0
-__132:
+__133:
 	if !(i1 < nExpr-1) {
-		goto __134
+		goto __135
 	}
 	if !(pX != 0) {
-		goto __135
+		goto __136
 	}
 
 	(*Expr)(unsafe.Pointer(bp + 120)).FpRight = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
-	goto __136
-__135:
-	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+	goto __137
 __136:
+	pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr
+__137:
 	;
 	nextCase = Xsqlite3VdbeMakeLabel(tls, pParse)
 
@@ -106399,21 +106411,21 @@ __136:
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(aListelem+uintptr(i1+1)*32)).FpExpr, target)
 	Xsqlite3VdbeGoto(tls, v, endLabel)
 	Xsqlite3VdbeResolveLabel(tls, v, nextCase)
-	goto __133
-__133:
-	i1 = i1 + 2
-	goto __132
 	goto __134
 __134:
+	i1 = i1 + 2
+	goto __133
+	goto __135
+__135:
 	;
 	if !(nExpr&1 != 0) {
-		goto __137
+		goto __138
 	}
 	Xsqlite3ExprCode(tls, pParse, (*ExprList_item)(unsafe.Pointer(pEList+8+uintptr(nExpr-1)*32)).FpExpr, target)
-	goto __138
-__137:
-	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+	goto __139
 __138:
+	Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, target)
+__139:
 	;
 	Xsqlite3ExprDelete(tls, db1, pDel)
 	setDoNotMergeFlagOnCopy(tls, v)
@@ -106423,27 +106435,27 @@ __138:
 __57:
 	;
 	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).FpTriggerTab) != 0) && !(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0)) {
-		goto __139
+		goto __140
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
 		ts+9434, 0)
 	return 0
-__139:
-	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
-		goto __140
-	}
-	Xsqlite3MayAbort(tls, pParse)
 __140:
 	;
-	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Abort) {
 		goto __141
 	}
+	Xsqlite3MayAbort(tls, pParse)
+__141:
+	;
+	if !(int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr) == OE_Ignore) {
+		goto __142
+	}
 	Xsqlite3VdbeAddOp4(tls,
 		v, OP_Halt, SQLITE_OK, OE_Ignore, 0, *(*uintptr)(unsafe.Pointer(pExpr + 8)), 0)
 
-	goto __142
-__141:
+	goto __143
+__142:
 	Xsqlite3HaltConstraint(tls, pParse,
 		func() int32 {
 			if (*Parse)(unsafe.Pointer(pParse)).FpTriggerTab != 0 {
@@ -106452,7 +106464,7 @@ __141:
 			return SQLITE_ERROR
 		}(),
 		int32((*Expr)(unsafe.Pointer(pExpr)).FaffExpr), *(*uintptr)(unsafe.Pointer(pExpr + 8)), int8(0), uint8(0))
-__142:
+__143:
 	;
 	goto __5
 
@@ -109120,7 +109132,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 		return SQLITE_NOMEM
 	}
 	if Xsqlite3_strnicmp(tls, zSql, ts+12274, 7) != 0 {
-		return Xsqlite3CorruptError(tls, 113494)
+		return Xsqlite3CorruptError(tls, 113516)
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = func() uint8 {
 		if bTemp != 0 {
@@ -109137,7 +109149,7 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint
 	}
 	if rc == SQLITE_OK &&
 		((*Parse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*Parse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
-		rc = Xsqlite3CorruptError(tls, 113505)
+		rc = Xsqlite3CorruptError(tls, 113527)
 	}
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
@@ -110058,7 +110070,7 @@ __1:
 		goto __2
 	}
 
-	rc = Xsqlite3CorruptError(tls, 114441)
+	rc = Xsqlite3CorruptError(tls, 114463)
 	goto drop_column_done
 __2:
 	;
@@ -114421,6 +114433,12 @@ __10:
 
 	pExpr = Xsqlite3PExpr(tls, pParse, TK_UPLUS, pExpr, uintptr(0))
 __11:
+	;
+	if !(pExpr != 0 && int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_RAISE) {
+		goto __12
+	}
+	(*Expr)(unsafe.Pointer(pExpr)).FaffExpr = (*Column)(unsafe.Pointer(pCol)).Faffinity
+__12:
 	;
 	Xsqlite3ColumnSetExpr(tls, pParse, pTab, pCol, pExpr)
 	pExpr = uintptr(0)
@@ -115586,7 +115604,7 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 {
 		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+14829, 4) == 0 {
 			return 0
 		}
-		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+8485, 10) == 0 {
+		if Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7), ts+8474, 10) == 0 {
 			return 0
 		}
 		return 1
@@ -116832,7 +116850,7 @@ __81:
 		goto __101
 	}
 	Xsqlite3ErrorMsg(tls, pParse, ts+15497, 0)
-	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121835)
+	(*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 121859)
 	goto exit_create_index
 __101:
 	;
@@ -118877,7 +118895,7 @@ __20:
 	goto __16
 __15:
 	wcf = U16(WHERE_ONEPASS_DESIRED | WHERE_DUPLICATES_OK)
-	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_VarSelect != 0) {
+	if !((*NameContext)(unsafe.Pointer(bp+16)).FncFlags&NC_Subquery != 0) {
 		goto __23
 	}
 	bComplex = 1
@@ -125345,7 +125363,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Sqlite3_ca
 	if !!(Xsqlite3SafetyCheckOk(tls, db) != 0) {
 		goto __1
 	}
-	return Xsqlite3MisuseError(tls, 131895)
+	return Xsqlite3MisuseError(tls, 131931)
 __1:
 	;
 	if !(zSql == uintptr(0)) {
@@ -126747,7 +126765,7 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh
 		} else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) {
 			zType = ts + 18882
 		} else {
-			zType = ts + 8880
+			zType = ts + 8869
 		}
 		Xsqlite3VdbeMultiLoad(tls, v, 1, ts+18884,
 			libc.VaList(bp, (*FuncDef)(unsafe.Pointer(p)).FzName, isBuiltin,
@@ -126908,6 +126926,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p
 	var zErr2 uintptr
 	var k3 int32
 	var pCheck uintptr
+	var jmp7 int32
 	var jmp6 int32
 	var iCol1 int32
 	var uniqOk int32
@@ -128266,7 +128285,7 @@ __222:
 		goto __224
 	}
 	pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+8880, libc.VaList(bp+272, (*Module)(unsafe.Pointer(pMod)).FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+8869, libc.VaList(bp+272, (*Module)(unsafe.Pointer(pMod)).FzName))
 	goto __223
 __223:
 	j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext
@@ -128282,7 +128301,7 @@ __225:
 	if !(i6 < int32(uint64(unsafe.Sizeof(aPragmaName))/uint64(unsafe.Sizeof(PragmaName{})))) {
 		goto __227
 	}
-	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+8880, libc.VaList(bp+280, aPragmaName[i6].FzName))
+	Xsqlite3VdbeMultiLoad(tls, v, 1, ts+8869, libc.VaList(bp+280, aPragmaName[i6].FzName))
 	goto __226
 __226:
 	i6++
@@ -129087,80 +129106,94 @@ __351:
 	jmp4 = integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, jmp21)
 
+	if !((*Table)(unsafe.Pointer(pTab9)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) {
+		goto __352
+	}
+	Xsqlite3VdbeAddOp2(tls, v, OP_IdxRowid, *(*int32)(unsafe.Pointer(bp + 624))+j4, 3)
+	jmp7 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 3, 0, r1+int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)-1)
+
+	Xsqlite3VdbeLoadString(tls, v, 3,
+		ts+19298)
+	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+19334)
+	Xsqlite3VdbeGoto(tls, v, jmp5-1)
+	Xsqlite3VdbeJumpHere(tls, v, jmp7)
+__352:
+	;
 	label6 = 0
 	kk = 0
-__352:
+__353:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __354
-	}
-	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __355
 	}
-	goto __353
-__355:
-	;
-	if !(label6 == 0) {
+	if !(*(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FazColl + uintptr(kk)*8)) == uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))) {
 		goto __356
 	}
-	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+	goto __354
 __356:
+	;
+	if !(label6 == 0) {
+		goto __357
+	}
+	label6 = Xsqlite3VdbeMakeLabel(tls, pParse)
+__357:
 	;
 	Xsqlite3VdbeAddOp3(tls, v, OP_Column, *(*int32)(unsafe.Pointer(bp + 624))+j4, kk, 3)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Ne, 3, label6, r1+kk)
-	goto __353
-__353:
-	kk++
-	goto __352
 	goto __354
 __354:
+	kk++
+	goto __353
+	goto __355
+__355:
 	;
 	if !(label6 != 0) {
-		goto __357
+		goto __358
 	}
 	jmp6 = Xsqlite3VdbeAddOp0(tls, v, OP_Goto)
 	Xsqlite3VdbeResolveLabel(tls, v, label6)
 	Xsqlite3VdbeLoadString(tls, v, 3, ts+19272)
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3)
-	Xsqlite3VdbeLoadString(tls, v, 4, ts+19298)
+	Xsqlite3VdbeLoadString(tls, v, 4, ts+19345)
 	Xsqlite3VdbeGoto(tls, v, jmp5-1)
 	Xsqlite3VdbeJumpHere(tls, v, jmp6)
-__357:
+__358:
 	;
 	if !(int32((*Index)(unsafe.Pointer(pIdx5)).FonError) != OE_None) {
-		goto __358
+		goto __359
 	}
 	uniqOk = Xsqlite3VdbeMakeLabel(tls, pParse)
 	kk = 0
-__359:
+__360:
 	if !(kk < int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) {
-		goto __361
+		goto __362
 	}
 	iCol1 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx5)).FaiColumn + uintptr(kk)*2)))
 
 	if !(iCol1 >= 0 && uint32(int32(*(*uint8)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab9)).FaCol + uintptr(iCol1)*24 + 8))&0xf>>0)) != 0) {
-		goto __362
+		goto __363
 	}
-	goto __360
-__362:
+	goto __361
+__363:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_IsNull, r1+kk, uniqOk)
 
-	goto __360
-__360:
-	kk++
-	goto __359
 	goto __361
 __361:
+	kk++
+	goto __360
+	goto __362
+__362:
 	;
 	jmp61 = Xsqlite3VdbeAddOp1(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 624))+j4)
 	Xsqlite3VdbeGoto(tls, v, uniqOk)
 	Xsqlite3VdbeJumpHere(tls, v, jmp61)
 	Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, *(*int32)(unsafe.Pointer(bp + 624))+j4, uniqOk, r1,
 		int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol))
-	Xsqlite3VdbeLoadString(tls, v, 3, ts+19325)
+	Xsqlite3VdbeLoadString(tls, v, 3, ts+19372)
 	Xsqlite3VdbeGoto(tls, v, jmp5)
 	Xsqlite3VdbeResolveLabel(tls, v, uniqOk)
-__358:
+__359:
 	;
 	Xsqlite3VdbeJumpHere(tls, v, jmp4)
 	Xsqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 640)))
@@ -129177,20 +129210,20 @@ __347:
 	Xsqlite3VdbeAddOp2(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 620)), loopTop)
 	Xsqlite3VdbeJumpHere(tls, v, loopTop-1)
 	if !!(isQuick != 0) {
-		goto __363
+		goto __364
 	}
-	Xsqlite3VdbeLoadString(tls, v, 2, ts+19352)
+	Xsqlite3VdbeLoadString(tls, v, 2, ts+19399)
 	j4 = 0
 	pIdx5 = (*Table)(unsafe.Pointer(pTab9)).FpIndex
-__364:
+__365:
 	if !(pIdx5 != 0) {
-		goto __366
-	}
-	if !(pPk1 == pIdx5) {
 		goto __367
 	}
-	goto __365
-__367:
+	if !(pPk1 == pIdx5) {
+		goto __368
+	}
+	goto __366
+__368:
 	;
 	Xsqlite3VdbeAddOp2(tls, v, OP_Count, *(*int32)(unsafe.Pointer(bp + 624))+j4, 3)
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, 8+j4, 0, 3)
@@ -129199,21 +129232,21 @@ __367:
 	Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 4, 2, 3)
 	integrityCheckResultRow(tls, v)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
-	goto __365
-__365:
-	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
-	j4++
-	goto __364
 	goto __366
 __366:
+	pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext
+	j4++
+	goto __365
+	goto __367
+__367:
 	;
 	if !(pPk1 != 0) {
-		goto __368
+		goto __369
 	}
 	Xsqlite3ReleaseTempRange(tls, pParse, r2, int32((*Index)(unsafe.Pointer(pPk1)).FnKeyCol))
-__368:
+__369:
 	;
-__363:
+__364:
 	;
 	goto __298
 __298:
@@ -129231,14 +129264,14 @@ __273:
 	;
 	aOp2 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(endCode))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&endCode)), iLn5)
 	if !(aOp2 != 0) {
-		goto __369
+		goto __370
 	}
 	(*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = 1 - *(*int32)(unsafe.Pointer(bp + 616))
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1)
-	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 19381
+	*(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16)) = ts + 19428
 	(*VdbeOp)(unsafe.Pointer(aOp2 + 5*24)).Fp4type = int8(-1)
 	*(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT)
-__369:
+__370:
 	;
 	Xsqlite3VdbeChangeP3(tls, v, 0, Xsqlite3VdbeCurrentAddr(tls, v)-2)
 
@@ -129246,27 +129279,27 @@ __369:
 
 __46:
 	if !!(zRight != 0) {
-		goto __370
+		goto __371
 	}
 	if !(Xsqlite3ReadSchema(tls, pParse) != 0) {
-		goto __372
-	}
-	goto pragma_out
-__372:
-	;
-	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
-	goto __371
-__370:
-	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
 		goto __373
 	}
+	goto pragma_out
+__373:
+	;
+	returnSingleText(tls, v, encnames1[(*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Fenc].FzName)
+	goto __372
+__371:
+	if !((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags&U32(DBFLAG_EncodingFixed) == U32(0)) {
+		goto __374
+	}
 	pEnc = uintptr(unsafe.Pointer(&encnames1))
-__374:
+__375:
 	if !((*EncName)(unsafe.Pointer(pEnc)).FzName != 0) {
-		goto __376
+		goto __377
 	}
 	if !(0 == Xsqlite3StrICmp(tls, zRight, (*EncName)(unsafe.Pointer(pEnc)).FzName)) {
-		goto __377
+		goto __378
 	}
 	if (*EncName)(unsafe.Pointer(pEnc)).Fenc != 0 {
 		enc = (*EncName)(unsafe.Pointer(pEnc)).Fenc
@@ -129275,25 +129308,25 @@ __374:
 	}
 	(*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema)).Fenc = enc
 	Xsqlite3SetTextEncoding(tls, db, enc)
-	goto __376
-__377:
-	;
-	goto __375
-__375:
-	pEnc += 16
-	goto __374
-	goto __376
-__376:
-	;
-	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
-		goto __378
-	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+19384, libc.VaList(bp+464, zRight))
+	goto __377
 __378:
 	;
-__373:
+	goto __376
+__376:
+	pEnc += 16
+	goto __375
+	goto __377
+__377:
 	;
-__371:
+	if !!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0) {
+		goto __379
+	}
+	Xsqlite3ErrorMsg(tls, pParse, ts+19431, libc.VaList(bp+464, zRight))
+__379:
+	;
+__374:
+	;
+__372:
 	;
 	goto __15
 
@@ -129301,15 +129334,15 @@ __47:
 	iCookie = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiArg)
 	Xsqlite3VdbeUsesBtree(tls, v, iDb)
 	if !(zRight != 0 && int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_ReadOnly == 0) {
-		goto __379
+		goto __380
 	}
 
 	aOp3 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(setCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&setCookie)), 0)
 	if !(0 != 0) {
-		goto __381
+		goto __382
 	}
 	goto __15
-__381:
+__382:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp3)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp1 = iDb
@@ -129317,41 +129350,41 @@ __381:
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp3 = Xsqlite3Atoi(tls, zRight)
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fp5 = U16(1)
 	if !(iCookie == BTREE_SCHEMA_VERSION && (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_Defensive) != uint64(0)) {
-		goto __382
+		goto __383
 	}
 
 	(*VdbeOp)(unsafe.Pointer(aOp3 + 1*24)).Fopcode = U8(OP_Noop)
-__382:
+__383:
 	;
-	goto __380
-__379:
+	goto __381
+__380:
 	;
 	aOp4 = Xsqlite3VdbeAddOpList(tls, v, int32(uint64(unsafe.Sizeof(readCookie))/uint64(unsafe.Sizeof(VdbeOpList{}))), uintptr(unsafe.Pointer(&readCookie)), 0)
 	if !(0 != 0) {
-		goto __383
+		goto __384
 	}
 	goto __15
-__383:
+__384:
 	;
 	(*VdbeOp)(unsafe.Pointer(aOp4)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp1 = iDb
 	(*VdbeOp)(unsafe.Pointer(aOp4 + 1*24)).Fp3 = iCookie
 	Xsqlite3VdbeReusable(tls, v)
-__380:
+__381:
 	;
 	goto __15
 
 __48:
 	i10 = 0
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 1
-__384:
+__385:
 	if !(libc.AssignUintptr(&zOpt, Xsqlite3_compileoption_get(tls, libc.PostIncInt32(&i10, 1))) != uintptr(0)) {
-		goto __385
+		goto __386
 	}
 	Xsqlite3VdbeLoadString(tls, v, 1, zOpt)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, 1, 1)
-	goto __384
-__385:
+	goto __385
+__386:
 	;
 	Xsqlite3VdbeReusable(tls, v)
 
@@ -129366,31 +129399,31 @@ __49:
 	}()
 	eMode2 = SQLITE_CHECKPOINT_PASSIVE
 	if !(zRight != 0) {
-		goto __386
-	}
-	if !(Xsqlite3StrICmp(tls, zRight, ts+18714) == 0) {
 		goto __387
 	}
+	if !(Xsqlite3StrICmp(tls, zRight, ts+18714) == 0) {
+		goto __388
+	}
 	eMode2 = SQLITE_CHECKPOINT_FULL
-	goto __388
-__387:
-	if !(Xsqlite3StrICmp(tls, zRight, ts+19409) == 0) {
-		goto __389
+	goto __389
+__388:
+	if !(Xsqlite3StrICmp(tls, zRight, ts+19456) == 0) {
+		goto __390
 	}
 	eMode2 = SQLITE_CHECKPOINT_RESTART
-	goto __390
-__389:
+	goto __391
+__390:
 	if !(Xsqlite3StrICmp(tls, zRight, ts+18867) == 0) {
-		goto __391
+		goto __392
 	}
 	eMode2 = SQLITE_CHECKPOINT_TRUNCATE
+__392:
+	;
 __391:
 	;
-__390:
+__389:
 	;
-__388:
-	;
-__386:
+__387:
 	;
 	(*Parse)(unsafe.Pointer(pParse)).FnMem = 3
 	Xsqlite3VdbeAddOp3(tls, v, OP_Checkpoint, iBt, eMode2, 1)
@@ -129400,10 +129433,10 @@ __386:
 
 __50:
 	if !(zRight != 0) {
-		goto __392
+		goto __393
 	}
 	Xsqlite3_wal_autocheckpoint(tls, db, Xsqlite3Atoi(tls, zRight))
-__392:
+__393:
 	;
 	returnSingleInt(tls, v,
 		func() int64 {
@@ -129423,19 +129456,19 @@ __51:
 
 __52:
 	if !(zRight != 0) {
-		goto __393
+		goto __394
 	}
 	opMask = U32(Xsqlite3Atoi(tls, zRight))
 	if !(opMask&U32(0x02) == U32(0)) {
-		goto __395
+		goto __396
 	}
 	goto __15
-__395:
+__396:
 	;
-	goto __394
-__393:
-	opMask = U32(0xfffe)
+	goto __395
 __394:
+	opMask = U32(0xfffe)
+__395:
 	;
 	iTabCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1)
 	iDbLast = func() int32 {
@@ -129444,86 +129477,86 @@ __394:
 		}
 		return (*Sqlite3)(unsafe.Pointer(db)).FnDb - 1
 	}()
-__396:
+__397:
 	if !(iDb <= iDbLast) {
-		goto __398
-	}
-	if !(iDb == 1) {
 		goto __399
 	}
-	goto __397
-__399:
+	if !(iDb == 1) {
+		goto __400
+	}
+	goto __398
+__400:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
 	pSchema = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpSchema
 	k4 = (*Hash)(unsafe.Pointer(pSchema + 8)).Ffirst
-__400:
+__401:
 	if !(k4 != 0) {
-		goto __402
+		goto __403
 	}
 	pTab10 = (*HashElem)(unsafe.Pointer(k4)).Fdata
 
 	if !((*Table)(unsafe.Pointer(pTab10)).FtabFlags&U32(TF_StatsUsed) == U32(0)) {
-		goto __403
+		goto __404
 	}
-	goto __401
-__403:
+	goto __402
+__404:
 	;
 	szThreshold = LogEst(int32((*Table)(unsafe.Pointer(pTab10)).FnRowLogEst) + 46)
 	pIdx6 = (*Table)(unsafe.Pointer(pTab10)).FpIndex
-__404:
+__405:
 	if !(pIdx6 != 0) {
-		goto __406
-	}
-	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
 		goto __407
 	}
+	if !!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100))&0x80>>7) != 0) {
+		goto __408
+	}
 	szThreshold = int16(0)
-	goto __406
-__407:
+	goto __407
+__408:
 	;
-	goto __405
-__405:
-	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
-	goto __404
 	goto __406
 __406:
+	pIdx6 = (*Index)(unsafe.Pointer(pIdx6)).FpNext
+	goto __405
+	goto __407
+__407:
 	;
 	if !(szThreshold != 0) {
-		goto __408
+		goto __409
 	}
 	Xsqlite3OpenTable(tls, pParse, iTabCur, iDb, pTab10, OP_OpenRead)
 	Xsqlite3VdbeAddOp3(tls, v, OP_IfSmaller, iTabCur,
 		int32(U32(Xsqlite3VdbeCurrentAddr(tls, v)+2)+opMask&U32(1)), int32(szThreshold))
 
-__408:
+__409:
 	;
-	zSubSql = Xsqlite3MPrintf(tls, db, ts+19417,
+	zSubSql = Xsqlite3MPrintf(tls, db, ts+19464,
 		libc.VaList(bp+472, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab10)).FzName))
 	if !(opMask&U32(0x01) != 0) {
-		goto __409
+		goto __410
 	}
 	r11 = Xsqlite3GetTempReg(tls, pParse)
 	Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, r11, 0, zSubSql, -6)
 	Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, r11, 1)
-	goto __410
-__409:
-	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+	goto __411
 __410:
+	Xsqlite3VdbeAddOp4(tls, v, OP_SqlExec, 0, 0, 0, zSubSql, -6)
+__411:
 	;
-	goto __401
-__401:
-	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
-	goto __400
 	goto __402
 __402:
+	k4 = (*HashElem)(unsafe.Pointer(k4)).Fnext
+	goto __401
+	goto __403
+__403:
 	;
-	goto __397
-__397:
-	iDb++
-	goto __396
 	goto __398
 __398:
+	iDb++
+	goto __397
+	goto __399
+__399:
 	;
 	Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
 	goto __15
@@ -129531,36 +129564,36 @@ __398:
 __53:
 	;
 	if !(zRight != 0) {
-		goto __411
+		goto __412
 	}
 	Xsqlite3_busy_timeout(tls, db, Xsqlite3Atoi(tls, zRight))
-__411:
+__412:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FbusyTimeout))
 	goto __15
 
 __54:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+648) == SQLITE_OK) {
-		goto __412
+		goto __413
 	}
 	Xsqlite3_soft_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 648)))
-__412:
+__413:
 	;
 	returnSingleInt(tls, v, Xsqlite3_soft_heap_limit64(tls, int64(-1)))
 	goto __15
 
 __55:
 	if !(zRight != 0 && Xsqlite3DecOrHexToI64(tls, zRight, bp+656) == SQLITE_OK) {
-		goto __413
+		goto __414
 	}
 	iPrior = Xsqlite3_hard_heap_limit64(tls, int64(-1))
 	if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 656)) > int64(0) && (iPrior == int64(0) || iPrior > *(*Sqlite3_int64)(unsafe.Pointer(bp + 656)))) {
-		goto __414
+		goto __415
 	}
 	Xsqlite3_hard_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 656)))
-__414:
+__415:
 	;
-__413:
+__414:
 	;
 	returnSingleInt(tls, v, Xsqlite3_hard_heap_limit64(tls, int64(-1)))
 	goto __15
@@ -129569,10 +129602,10 @@ __56:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+664) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 664)) >= int64(0)) {
-		goto __415
+		goto __416
 	}
 	Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 664))&int64(0x7fffffff)))
-__415:
+__416:
 	;
 	returnSingleInt(tls, v, int64(Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, -1)))
 	goto __15
@@ -129581,10 +129614,10 @@ __57:
 	if !(zRight != 0 &&
 		Xsqlite3DecOrHexToI64(tls, zRight, bp+672) == SQLITE_OK &&
 		*(*Sqlite3_int64)(unsafe.Pointer(bp + 672)) >= int64(0)) {
-		goto __416
+		goto __417
 	}
 	(*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 672)) & int64(0x7fffffff))
-__416:
+__417:
 	;
 	returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit))
 	goto __15
@@ -129592,10 +129625,10 @@ __416:
 __15:
 	;
 	if !(int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_NoColumns1 != 0 && zRight != 0) {
-		goto __417
+		goto __418
 	}
 
-__417:
+__418:
 	;
 pragma_out:
 	Xsqlite3DbFree(tls, db, zLeft)
@@ -129647,14 +129680,14 @@ var endCode = [7]VdbeOpList{
 	{Fopcode: U8(OP_Goto), Fp2: int8(3)},
 }
 var encnames1 = [9]EncName{
-	{FzName: ts + 19435, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 19440, Fenc: U8(SQLITE_UTF8)},
-	{FzName: ts + 19446, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 19455, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 19464, Fenc: U8(SQLITE_UTF16LE)},
-	{FzName: ts + 19472, Fenc: U8(SQLITE_UTF16BE)},
-	{FzName: ts + 19480},
-	{FzName: ts + 19487},
+	{FzName: ts + 19482, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 19487, Fenc: U8(SQLITE_UTF8)},
+	{FzName: ts + 19493, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 19502, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 19511, Fenc: U8(SQLITE_UTF16LE)},
+	{FzName: ts + 19519, Fenc: U8(SQLITE_UTF16BE)},
+	{FzName: ts + 19527},
+	{FzName: ts + 19534},
 	{},
 }
 var setCookie = [2]VdbeOpList{
@@ -129706,7 +129739,7 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	_ = argc
 	_ = argv
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), bp+64, int32(unsafe.Sizeof([200]int8{})), 0)
-	Xsqlite3_str_appendall(tls, bp+32, ts+19493)
+	Xsqlite3_str_appendall(tls, bp+32, ts+19540)
 	i = 0
 	j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName)
 __1:
@@ -129714,7 +129747,7 @@ __1:
 		goto __3
 	}
 	{
-		Xsqlite3_str_appendf(tls, bp+32, ts+19508, libc.VaList(bp, int32(cSep), pragCName[j]))
+		Xsqlite3_str_appendf(tls, bp+32, ts+19555, libc.VaList(bp, int32(cSep), pragCName[j]))
 		cSep = int8(',')
 
 	}
@@ -129727,16 +129760,16 @@ __2:
 __3:
 	;
 	if i == 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+19515, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
+		Xsqlite3_str_appendf(tls, bp+32, ts+19562, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName))
 		i++
 	}
 	j = 0
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&PragFlg_Result1 != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+19521)
+		Xsqlite3_str_appendall(tls, bp+32, ts+19568)
 		j++
 	}
 	if int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg)&(PragFlg_SchemaOpt|PragFlg_SchemaReq) != 0 {
-		Xsqlite3_str_appendall(tls, bp+32, ts+19533)
+		Xsqlite3_str_appendall(tls, bp+32, ts+19580)
 		j++
 	}
 	Xsqlite3_str_append(tls, bp+32, ts+6309, 1)
@@ -129919,13 +129952,13 @@ __2:
 __3:
 	;
 	Xsqlite3StrAccumInit(tls, bp+32, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 136 + 1*4)))
-	Xsqlite3_str_appendall(tls, bp+32, ts+19548)
+	Xsqlite3_str_appendall(tls, bp+32, ts+19595)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+19556, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+19603, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pCsr + 24 + 1*8))))
 	}
 	Xsqlite3_str_appendall(tls, bp+32, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName)
 	if *(*uintptr)(unsafe.Pointer(pCsr + 24)) != 0 {
-		Xsqlite3_str_appendf(tls, bp+32, ts+19560, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
+		Xsqlite3_str_appendf(tls, bp+32, ts+19607, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pCsr + 24))))
 	}
 	zSql = Xsqlite3StrAccumFinish(tls, bp+32)
 	if zSql == uintptr(0) {
@@ -130002,12 +130035,12 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 	} else if *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) != uintptr(0) {
 	} else if (*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask) != 0 {
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = Xsqlite3MPrintf(tls, db,
-			ts+19564, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
+			ts+19611, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azObj)), *(*uintptr)(unsafe.Pointer(azObj + 1*8)),
 				azAlterType[(*InitData)(unsafe.Pointer(pData)).FmInitFlags&U32(INITFLAG_AlterMask)-U32(1)],
 				zExtra))
 		(*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR
 	} else if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137196)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137249)
 	} else {
 		var z uintptr
 		var zObj uintptr
@@ -130016,19 +130049,19 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
 		} else {
 			zObj = ts + 6360
 		}
-		z = Xsqlite3MPrintf(tls, db, ts+19592, libc.VaList(bp+32, zObj))
+		z = Xsqlite3MPrintf(tls, db, ts+19639, libc.VaList(bp+32, zObj))
 		if zExtra != 0 && *(*int8)(unsafe.Pointer(zExtra)) != 0 {
-			z = Xsqlite3MPrintf(tls, db, ts+19623, libc.VaList(bp+40, z, zExtra))
+			z = Xsqlite3MPrintf(tls, db, ts+19670, libc.VaList(bp+40, z, zExtra))
 		}
 		*(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
-		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137203)
+		(*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 137256)
 	}
 }
 
 var azAlterType = [3]uintptr{
-	ts + 19631,
-	ts + 19638,
-	ts + 19650,
+	ts + 19678,
+	ts + 19685,
+	ts + 19697,
 }
 
 // Check to see if any sibling index (another index on the same table)
@@ -130120,7 +130153,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr
 		var pIndex uintptr
 		pIndex = Xsqlite3FindIndex(tls, db, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName)
 		if pIndex == uintptr(0) {
-			corruptSchema(tls, pData, argv, ts+19661)
+			corruptSchema(tls, pData, argv, ts+19708)
 		} else if Xsqlite3GetUInt32(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)), pIndex+88) == 0 ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum < Pgno(2) ||
 			(*Index)(unsafe.Pointer(pIndex)).Ftnum > (*InitData)(unsafe.Pointer(pData)).FmxPage ||
@@ -130168,7 +130201,7 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl
 	}())
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 16 + 1*8))
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 3*8)) = ts + 9290
-	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 19674
+	*(*uintptr)(unsafe.Pointer(bp + 16 + 4*8)) = ts + 19721
 	*(*uintptr)(unsafe.Pointer(bp + 16 + 5*8)) = uintptr(0)
 	(*InitData)(unsafe.Pointer(bp + 64)).Fdb = db
 	(*InitData)(unsafe.Pointer(bp + 64)).FiDb = iDb
@@ -130297,7 +130330,7 @@ __18:
 	if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) > SQLITE_MAX_FILE_FORMAT) {
 		goto __19
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+19746)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+19793)
 	rc = SQLITE_ERROR
 	goto initone_error_out
 __19:
@@ -130311,7 +130344,7 @@ __20:
 	(*InitData)(unsafe.Pointer(bp + 64)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt)
 
 	zSql = Xsqlite3MPrintf(tls, db,
-		ts+19770,
+		ts+19817,
 		libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zSchemaTabName))
 
 	xAuth = (*Sqlite3)(unsafe.Pointer(db)).FxAuth
@@ -130643,7 +130676,7 @@ __4:
 		goto __8
 	}
 	zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName
-	Xsqlite3ErrorWithMsg(tls, db, rc, ts+19804, libc.VaList(bp, zDb))
+	Xsqlite3ErrorWithMsg(tls, db, rc, ts+19851, libc.VaList(bp, zDb))
 
 	goto end_prepare
 __8:
@@ -130673,7 +130706,7 @@ __9:
 	if !(nBytes > mxLen) {
 		goto __12
 	}
-	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+19834, 0)
+	Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+19881, 0)
 	rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG)
 	goto end_prepare
 __12:
@@ -130769,7 +130802,7 @@ func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 137995)
+		return Xsqlite3MisuseError(tls, 138048)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	Xsqlite3BtreeEnterAll(tls, db)
@@ -130868,7 +130901,7 @@ func sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pre
 
 	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 	if !(Xsqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
-		return Xsqlite3MisuseError(tls, 138143)
+		return Xsqlite3MisuseError(tls, 138196)
 	}
 	if nBytes >= 0 {
 		var sz int32
@@ -131195,13 +131228,13 @@ func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC
 			zSp2++
 		}
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+19853, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
+			ts+19900, libc.VaList(bp, pA, zSp1, pB, zSp2, pC))
 		jointype = JT_INNER
 	}
 	return jointype
 }
 
-var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 19883))
+var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 19930))
 var aKeyword = [7]struct {
 	Fi     U8
 	FnChar U8
@@ -131376,7 +131409,7 @@ __1:
 			var pUsing uintptr = uintptr(0)
 			if uint32(int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x400>>10)) != 0 || *(*uintptr)(unsafe.Pointer(pRight + 72)) != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+19917, libc.VaList(bp, 0))
+					ts+19964, libc.VaList(bp, 0))
 				return 1
 			}
 			for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ {
@@ -131421,7 +131454,7 @@ __1:
 					tableAndColumnIndex(tls, pSrc, 0, i, zName, bp+24, bp+28,
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) == 0 {
 					Xsqlite3ErrorMsg(tls, pParse,
-						ts+19967, libc.VaList(bp+8, zName))
+						ts+20014, libc.VaList(bp+8, zName))
 					return 1
 				}
 				pE1 = Xsqlite3CreateColumnExpr(tls, db, pSrc, *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 28)))
@@ -131432,7 +131465,7 @@ __1:
 						int32(*(*uint16)(unsafe.Pointer(pRight + 60 + 4))&0x1000>>12)) != 0 {
 						if int32(*(*uint16)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 60 + 4))&0x400>>10) == 0 ||
 							Xsqlite3IdListIndex(tls, *(*uintptr)(unsafe.Pointer(pSrc + 8 + uintptr(*(*int32)(unsafe.Pointer(bp + 24)))*104 + 72)), zName) < 0 {
-							Xsqlite3ErrorMsg(tls, pParse, ts+20031,
+							Xsqlite3ErrorMsg(tls, pParse, ts+20078,
 								libc.VaList(bp+16, zName))
 							break
 						}
@@ -132060,16 +132093,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr {
 	var z uintptr
 	switch id {
 	case TK_ALL:
-		z = ts + 20068
+		z = ts + 20115
 		break
 	case TK_INTERSECT:
-		z = ts + 20078
+		z = ts + 20125
 		break
 	case TK_EXCEPT:
-		z = ts + 20088
+		z = ts + 20135
 		break
 	default:
-		z = ts + 20095
+		z = ts + 20142
 		break
 	}
 	return z
@@ -132079,7 +132112,7 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20101, libc.VaList(bp, zUsage))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20148, libc.VaList(bp, zUsage))
 }
 
 func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) {
@@ -132105,9 +132138,9 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n
 	var nRefKey int32 = 0
 	var aOutEx uintptr = (*Select)(unsafe.Pointer(p)).FpEList + 8
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20124, libc.VaList(bp, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20171, libc.VaList(bp, func() uintptr {
 		if (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat > 0 {
-			return ts + 20155
+			return ts + 20202
 		}
 		return ts + 1544
 	}()))
@@ -132451,7 +132484,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr)
 		} else {
 			var z uintptr = (*ExprList_item)(unsafe.Pointer(pEList + 8 + uintptr(i)*32)).FzEName
 			if z == uintptr(0) {
-				z = Xsqlite3MPrintf(tls, db, ts+20170, libc.VaList(bp+16, i+1))
+				z = Xsqlite3MPrintf(tls, db, ts+20217, libc.VaList(bp+16, i+1))
 			} else {
 				z = Xsqlite3DbStrDup(tls, db, z)
 			}
@@ -132551,7 +132584,7 @@ __1:
 		if zName != 0 && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) {
 			zName = Xsqlite3DbStrDup(tls, db, zName)
 		} else {
-			zName = Xsqlite3MPrintf(tls, db, ts+20170, libc.VaList(bp, i+1))
+			zName = Xsqlite3MPrintf(tls, db, ts+20217, libc.VaList(bp, i+1))
 		}
 
 		*(*U32)(unsafe.Pointer(bp + 56)) = U32(0)
@@ -132567,7 +132600,7 @@ __1:
 					nName = j
 				}
 			}
-			zName = Xsqlite3MPrintf(tls, db, ts+20179, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
+			zName = Xsqlite3MPrintf(tls, db, ts+20226, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56)), 1)))
 			Xsqlite3ProgressCheck(tls, pParse)
 			if *(*U32)(unsafe.Pointer(bp + 56)) > U32(3) {
 				Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56)
@@ -132650,8 +132683,6 @@ __1:
 		(*Column)(unsafe.Pointer(pCol)).Faffinity = Xsqlite3ExprAffinity(tls, p)
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) <= SQLITE_AFF_NONE {
 			(*Column)(unsafe.Pointer(pCol)).Faffinity = aff
-		} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
-			(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
 		}
 		if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_TEXT && (*Select)(unsafe.Pointer(pSelect)).FpNext != 0 {
 			var m int32 = 0
@@ -132666,12 +132697,15 @@ __1:
 			} else if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && m&0x02 != 0 {
 				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_BLOB)
 			}
+			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) >= SQLITE_AFF_NUMERIC && int32((*Expr)(unsafe.Pointer(p)).Fop) == TK_CAST {
+				(*Column)(unsafe.Pointer(pCol)).Faffinity = int8(SQLITE_AFF_FLEXNUM)
+			}
 		}
 		zType = columnTypeImpl(tls, bp, p, uintptr(0), uintptr(0), uintptr(0))
 		if zType == uintptr(0) || int32((*Column)(unsafe.Pointer(pCol)).Faffinity) != int32(Xsqlite3AffinityType(tls, zType, uintptr(0))) {
 			if int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_NUMERIC ||
 				int32((*Column)(unsafe.Pointer(pCol)).Faffinity) == SQLITE_AFF_FLEXNUM {
-				zType = ts + 20187
+				zType = ts + 20234
 			} else {
 				zType = uintptr(0)
 				for j = 1; j < SQLITE_N_STDTYPE; j++ {
@@ -132887,7 +132921,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest
 	if !((*Select)(unsafe.Pointer(p)).FpWin != 0) {
 		goto __1
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20191, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20238, 0)
 	return
 __1:
 	;
@@ -132978,7 +133012,7 @@ __12:
 	if !((*Select)(unsafe.Pointer(pFirstRec)).FselFlags&U32(SF_Aggregate) != 0) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+20240, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+20287, 0)
 	goto end_of_recursive_query
 __15:
 	;
@@ -132998,7 +133032,7 @@ __14:
 	;
 	pSetup = (*Select)(unsafe.Pointer(pFirstRec)).FpPrior
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20282, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20329, 0)
 	rc = Xsqlite3Select(tls, pParse, pSetup, bp)
 	(*Select)(unsafe.Pointer(pSetup)).FpNext = p
 	if !(rc != 0) {
@@ -133035,7 +133069,7 @@ __20:
 	Xsqlite3VdbeResolveLabel(tls, v, addrCont)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = uintptr(0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20288, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20335, 0)
 	Xsqlite3Select(tls, pParse, p, bp)
 
 	(*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup
@@ -133069,11 +133103,11 @@ func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 		p = (*Select)(unsafe.Pointer(p)).FpPrior
 		nRow = nRow + bShowAll
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20303, libc.VaList(bp, nRow, func() uintptr {
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20350, libc.VaList(bp, nRow, func() uintptr {
 		if nRow == 1 {
 			return ts + 1544
 		}
-		return ts + 20326
+		return ts + 20373
 	}()))
 	for p != 0 {
 		selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1)
@@ -133174,8 +133208,8 @@ __6:
 	if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) {
 		goto __8
 	}
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20328, 0)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20343, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20375, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20390, 0)
 __8:
 	;
 	switch int32((*Select)(unsafe.Pointer(p)).Fop) {
@@ -133222,7 +133256,7 @@ __16:
 	;
 __15:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20068, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20115, 0)
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+16)
 
@@ -133289,7 +133323,7 @@ __23:
 	pLimit = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 64)).FeDest = op
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20362, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20409, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+64)
 
@@ -133351,7 +133385,7 @@ __26:
 	pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit
 	(*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0)
 	(*SelectDest)(unsafe.Pointer(bp + 104)).FiSDParm = tab2
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20362, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20409, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	rc = Xsqlite3Select(tls, pParse, p, bp+104)
 
@@ -133504,10 +133538,10 @@ func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr)
 	defer tls.Free(8)
 
 	if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Values) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+20383, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+20430, 0)
 	} else {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+20429,
+			ts+20476,
 			libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 	}
 }
@@ -133761,8 +133795,8 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	(*Select)(unsafe.Pointer(pPrior)).FpNext = uintptr(0)
 
 	(*Select)(unsafe.Pointer(pPrior)).FpOrderBy = Xsqlite3ExprListDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pOrderBy, 0)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+8586)
-	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+8586)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, p, (*Select)(unsafe.Pointer(p)).FpOrderBy, ts+8575)
+	Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+8575)
 
 	computeLimitRegisters(tls, pParse, p, labelEnd)
 	if (*Select)(unsafe.Pointer(p)).FiLimit != 0 && op == TK_ALL {
@@ -133789,13 +133823,13 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	Xsqlite3SelectDestInit(tls, bp+8, SRT_Coroutine, regAddrA)
 	Xsqlite3SelectDestInit(tls, bp+48, SRT_Coroutine, regAddrB)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20511, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20558, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop))))
 
 	addrSelectA = Xsqlite3VdbeCurrentAddr(tls, v) + 1
 	addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regAddrA, 0, addrSelectA)
 
 	(*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20522, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20569, 0)
 	Xsqlite3Select(tls, pParse, pPrior, bp+8)
 	Xsqlite3VdbeEndCoroutine(tls, v, regAddrA)
 	Xsqlite3VdbeJumpHere(tls, v, addr1)
@@ -133807,7 +133841,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr)
 	savedOffset = (*Select)(unsafe.Pointer(p)).FiOffset
 	(*Select)(unsafe.Pointer(p)).FiLimit = regLimitB
 	(*Select)(unsafe.Pointer(p)).FiOffset = 0
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20527, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20574, 0)
 	Xsqlite3Select(tls, pParse, p, bp+48)
 	(*Select)(unsafe.Pointer(p)).FiLimit = savedLimit
 	(*Select)(unsafe.Pointer(p)).FiOffset = savedOffset
@@ -133995,7 +134029,8 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr {
 				Xsqlite3VectorErrorMsg(tls, (*SubstContext)(unsafe.Pointer(pSubst)).FpParse, pCopy)
 			} else {
 				var db uintptr = (*Parse)(unsafe.Pointer((*SubstContext)(unsafe.Pointer(pSubst)).FpParse)).Fdb
-				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 && int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN {
+				if (*SubstContext)(unsafe.Pointer(pSubst)).FisOuterJoin != 0 &&
+					(int32((*Expr)(unsafe.Pointer(pCopy)).Fop) != TK_COLUMN || (*Expr)(unsafe.Pointer(pCopy)).FiTable != (*SubstContext)(unsafe.Pointer(pSubst)).FiNewTable) {
 					libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(Expr{})))
 					(*Expr)(unsafe.Pointer(bp)).Fop = U8(TK_IF_NULL_ROW)
 					(*Expr)(unsafe.Pointer(bp)).FpLeft = pCopy
@@ -134894,7 +134929,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	for pIdx = (*Table)(unsafe.Pointer(pTab)).FpIndex; pIdx != 0 && Xsqlite3StrICmp(tls, (*Index)(unsafe.Pointer(pIdx)).FzName, zIndexedBy) != 0; pIdx = (*Index)(unsafe.Pointer(pIdx)).FpNext {
 	}
 	if !(pIdx != 0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+20533, libc.VaList(bp, zIndexedBy, 0))
+		Xsqlite3ErrorMsg(tls, pParse, ts+20580, libc.VaList(bp, zIndexedBy, 0))
 		(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 		return SQLITE_ERROR
 	}
@@ -134977,7 +135012,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 {
 	defer tls.Free(8)
 
 	if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x4>>2)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+20551, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+20598, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName))
 		return 1
 	}
 	return 0
@@ -135106,7 +135141,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		*(*U32)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pFrom)).FpSelect + 4)) |= U32(SF_CopyCte)
 
 		if uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 + 4))&0x2>>1)) != 0 {
-			Xsqlite3ErrorMsg(tls, pParse, ts+20574, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
+			Xsqlite3ErrorMsg(tls, pParse, ts+20621, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pFrom + 88))))
 			return 2
 		}
 		libc.SetBitFieldPtr16Uint32(pFrom+60+4, uint32(1), 8, 0x100)
@@ -135129,7 +135164,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 					libc.SetBitFieldPtr16Uint32(pItem+60+4, uint32(1), 6, 0x40)
 					if (*Select)(unsafe.Pointer(pRecTerm)).FselFlags&U32(SF_Recursive) != 0 {
 						Xsqlite3ErrorMsg(tls, pParse,
-							ts+20594, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
+							ts+20641, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName))
 						return 2
 					}
 					*(*U32)(unsafe.Pointer(pRecTerm + 4)) |= U32(SF_Recursive)
@@ -135145,7 +135180,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 			pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior
 		}
 
-		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 20637
+		(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 20684
 		pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith
 		(*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 48))
 		if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
@@ -135171,7 +135206,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		pEList = (*Select)(unsafe.Pointer(pLeft)).FpEList
 		if (*Cte)(unsafe.Pointer(pCte)).FpCols != 0 {
 			if pEList != 0 && (*ExprList)(unsafe.Pointer(pEList)).FnExpr != (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr {
-				Xsqlite3ErrorMsg(tls, pParse, ts+20660,
+				Xsqlite3ErrorMsg(tls, pParse, ts+20707,
 					libc.VaList(bp+24, (*Cte)(unsafe.Pointer(pCte)).FzName, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr))
 				(*Parse)(unsafe.Pointer(pParse)).FpWith = pSavedWith
 				return 2
@@ -135182,9 +135217,9 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom
 		Xsqlite3ColumnsFromExprList(tls, pParse, pEList, pTab+54, pTab+8)
 		if bMayRecursive != 0 {
 			if (*Select)(unsafe.Pointer(pSel)).FselFlags&U32(SF_Recursive) != 0 {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 20698
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 20745
 			} else {
-				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 20732
+				(*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 20779
 			}
 			Xsqlite3WalkSelect(tls, pWalker, pSel)
 		}
@@ -135231,7 +135266,7 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32
 	if (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias != 0 {
 		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3DbStrDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*SrcItem)(unsafe.Pointer(pFrom)).FzAlias)
 	} else {
-		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+20770, libc.VaList(bp, pFrom))
+		(*Table)(unsafe.Pointer(pTab)).FzName = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+20817, libc.VaList(bp, pFrom))
 	}
 	for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 {
 		pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior
@@ -135343,7 +135378,7 @@ __1:
 				return WRC_Abort
 			}
 			if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) {
-				Xsqlite3ErrorMsg(tls, pParse, ts+20774,
+				Xsqlite3ErrorMsg(tls, pParse, ts+20821,
 					libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 				(*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0)
 				return WRC_Abort
@@ -135362,7 +135397,7 @@ __1:
 				if int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW {
 					if (*Sqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_EnableView) == uint64(0) &&
 						(*Table)(unsafe.Pointer(pTab)).FpSchema != (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema {
-						Xsqlite3ErrorMsg(tls, pParse, ts+20813,
+						Xsqlite3ErrorMsg(tls, pParse, ts+20860,
 							libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName))
 					}
 					(*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, *(*uintptr)(unsafe.Pointer(pTab + 64)), 0)
@@ -135486,7 +135521,7 @@ __3:
 							if pNew != 0 {
 								var pX uintptr = pNew + 8 + uintptr((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1)*32
 
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+20844, libc.VaList(bp+24, zUName))
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+20891, libc.VaList(bp+24, zUName))
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(ENAME_TAB), 0, 0x3)
 								libc.SetBitFieldPtr16Uint32(pX+16+4, uint32(1), 7, 0x80)
 							}
@@ -135551,7 +135586,7 @@ __3:
 								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(pNestedFrom+8+uintptr(j)*32)).FzEName)
 
 							} else {
-								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+20849,
+								(*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+20896,
 									libc.VaList(bp+32, zSchemaName, zTabName, zName))
 
 							}
@@ -135582,9 +135617,9 @@ __3:
 				;
 				if !(tableSeen != 0) {
 					if zTName != 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+20858, libc.VaList(bp+72, zTName))
+						Xsqlite3ErrorMsg(tls, pParse, ts+20905, libc.VaList(bp+72, zTName))
 					} else {
-						Xsqlite3ErrorMsg(tls, pParse, ts+20876, 0)
+						Xsqlite3ErrorMsg(tls, pParse, ts+20923, 0)
 					}
 				}
 			}
@@ -135594,7 +135629,7 @@ __3:
 	}
 	if (*Select)(unsafe.Pointer(p)).FpEList != 0 {
 		if (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr > *(*int32)(unsafe.Pointer(db + 136 + 2*4)) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+20896, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+20943, 0)
 			return WRC_Abort
 		}
 		if elistFlags&U32(EP_HasFunc|EP_Subquery) != U32(0) {
@@ -135732,7 +135767,7 @@ func optimizeAggregateUseOfIndexedExpr(tls *libc.TLS, pParse uintptr, pSelect ui
 	(*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn = (*AggInfo)(unsafe.Pointer(pAggInfo)).FnAccumulator
 	if int32((*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn) > 0 {
 		if (*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn == 0 {
-			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(0)
+			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSelect)).FpGroupBy)).FnExpr)
 		} else {
 			(*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = U16(int32((*AggInfo_col)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaCol+uintptr((*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn-1)*24)).FiSorterColumn) + 1)
 		}
@@ -135816,13 +135851,13 @@ __1:
 
 			if *(*uintptr)(unsafe.Pointer(pE + 32)) == uintptr(0) || (*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pE + 32)))).FnExpr != 1 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+20927, 0)
+					ts+20974, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct = -1
 			} else {
 				var pKeyInfo uintptr = Xsqlite3KeyInfoFromExprList(tls, pParse, *(*uintptr)(unsafe.Pointer(pE + 32)), 0, 0)
 				(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistAddr = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral,
 					(*AggInfo_func)(unsafe.Pointer(pFunc)).FiDistinct, 0, 0, pKeyInfo, -8)
-				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20978, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
+				Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21025, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName))
 			}
 		}
 
@@ -136011,11 +136046,11 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt
 
 	if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 {
 		var bCover int32 = libc.Bool32(pIdx != uintptr(0) && ((*Table)(unsafe.Pointer(pTab)).FtabFlags&U32(TF_WithoutRowid) == U32(0) || !(int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY)))
-		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21011,
+		Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+21058,
 			libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName,
 				func() uintptr {
 					if bCover != 0 {
-						return ts + 21023
+						return ts + 21070
 					}
 					return ts + 1544
 				}(),
@@ -136343,7 +136378,7 @@ __5:
 		goto __7
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+21046,
+		ts+21093,
 		libc.VaList(bp, func() uintptr {
 			if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 {
 				return (*SrcItem)(unsafe.Pointer(p0)).FzAlias
@@ -136404,7 +136439,7 @@ __14:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) {
 		goto __15
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+21100,
+	Xsqlite3ErrorMsg(tls, pParse, ts+21147,
 		libc.VaList(bp+8, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr))
 	goto select_end
 __15:
@@ -136546,7 +136581,7 @@ __33:
 
 	(*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn)
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21140, libc.VaList(bp+32, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21187, libc.VaList(bp+32, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	libc.SetBitFieldPtr16Uint32(pItem1+60+4, uint32(1), 5, 0x20)
@@ -136605,7 +136640,7 @@ __43:
 	;
 	Xsqlite3SelectDestInit(tls, bp+96, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor)
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21155, libc.VaList(bp+40, pItem1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21202, libc.VaList(bp+40, pItem1))
 	Xsqlite3Select(tls, pParse, pSub1, bp+96)
 	(*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow
 	if !(onceAddr != 0) {
@@ -137076,9 +137111,9 @@ __101:
 	explainTempTable(tls, pParse,
 		func() uintptr {
 			if (*DistinctCtx)(unsafe.Pointer(bp+136)).FisTnct != 0 && (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_Distinct) == U32(0) {
-				return ts + 21171
+				return ts + 21218
 			}
-			return ts + 21180
+			return ts + 21227
 		}())
 
 	groupBySort = 1
@@ -137429,7 +137464,7 @@ __65:
 	if !(int32((*DistinctCtx)(unsafe.Pointer(bp+136)).FeTnctType) == WHERE_DISTINCT_UNORDERED) {
 		goto __146
 	}
-	explainTempTable(tls, pParse, ts+21171)
+	explainTempTable(tls, pParse, ts+21218)
 __146:
 	;
 	if !((*SortCtx)(unsafe.Pointer(bp+48)).FpOrderBy != 0) {
@@ -137534,7 +137569,7 @@ __5:
 	}
 	Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg)
 	(*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+21189, 0)
+		ts+21236, 0)
 	(*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 	return 1
 __11:
@@ -137767,7 +137802,7 @@ func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2
 	if !((*Token)(unsafe.Pointer(pName2)).Fn > uint32(0)) {
 		goto __3
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+21254, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+21301, 0)
 	goto trigger_cleanup
 __3:
 	;
@@ -137811,7 +137846,7 @@ __7:
 	goto trigger_cleanup
 __8:
 	;
-	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+21300, *(*uintptr)(unsafe.Pointer(bp + 32)))
+	Xsqlite3FixInit(tls, bp+40, pParse, iDb, ts+21347, *(*uintptr)(unsafe.Pointer(bp + 32)))
 	if !(Xsqlite3FixSrcList(tls, bp+40, pTableName) != 0) {
 		goto __9
 	}
@@ -137829,7 +137864,7 @@ __10:
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VTAB) {
 		goto __11
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+21308, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+21355, 0)
 	goto trigger_orphan_error
 __11:
 	;
@@ -137841,7 +137876,7 @@ __11:
 	goto trigger_cleanup
 __12:
 	;
-	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+21300, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
+	if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+21347, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) {
 		goto __13
 	}
 	goto trigger_cleanup
@@ -137856,11 +137891,12 @@ __13:
 	if !!(noErr != 0) {
 		goto __16
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+21349, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+21396, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32))))
 	goto __17
 __16:
 	;
 	Xsqlite3CodeVerifySchema(tls, pParse, iDb)
+
 __17:
 	;
 	goto trigger_cleanup
@@ -137871,19 +137907,19 @@ __14:
 	if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7733, 7) == 0) {
 		goto __18
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+21375, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+21422, 0)
 	goto trigger_cleanup
 __18:
 	;
 	if !(int32((*Table)(unsafe.Pointer(pTab)).FeTabType) == TABTYP_VIEW && tr_tm != TK_INSTEAD) {
 		goto __19
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+21413,
+	Xsqlite3ErrorMsg(tls, pParse, ts+21460,
 		libc.VaList(bp+8, func() uintptr {
 			if tr_tm == TK_BEFORE {
-				return ts + 21450
+				return ts + 21497
 			}
-			return ts + 21457
+			return ts + 21504
 		}(), pTableName+8))
 	goto trigger_orphan_error
 __19:
@@ -137892,7 +137928,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+21463, libc.VaList(bp+24, pTableName+8))
+		ts+21510, libc.VaList(bp+24, pTableName+8))
 	goto trigger_orphan_error
 __20:
 	;
@@ -138041,7 +138077,7 @@ __2:
 __3:
 	;
 	Xsqlite3TokenInit(tls, bp+56, (*Trigger)(unsafe.Pointer(pTrig)).FzName)
-	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+21300, bp+56)
+	Xsqlite3FixInit(tls, bp+72, pParse, iDb, ts+21347, bp+56)
 	if !(Xsqlite3FixTriggerStep(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0 ||
 		Xsqlite3FixExpr(tls, bp+72, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0) {
 		goto __4
@@ -138074,7 +138110,7 @@ __9:
 		goto __12
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+21509,
+		ts+21556,
 		libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrig)).FzName, (*TriggerStep)(unsafe.Pointer(pStep)).FzTarget))
 	goto triggerfinish_cleanup
 __12:
@@ -138099,13 +138135,13 @@ __13:
 	z = Xsqlite3DbStrNDup(tls, db, (*Token)(unsafe.Pointer(pAll)).Fz, uint64((*Token)(unsafe.Pointer(pAll)).Fn))
 
 	Xsqlite3NestedParse(tls, pParse,
-		ts+21557,
+		ts+21604,
 		libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zName,
 			(*Trigger)(unsafe.Pointer(pTrig)).Ftable, z))
 	Xsqlite3DbFree(tls, db, z)
 	Xsqlite3ChangeCookie(tls, pParse, iDb)
 	Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb,
-		Xsqlite3MPrintf(tls, db, ts+21632, libc.VaList(bp+48, zName)), uint16(0))
+		Xsqlite3MPrintf(tls, db, ts+21679, libc.VaList(bp+48, zName)), uint16(0))
 __7:
 	;
 __6:
@@ -138361,7 +138397,7 @@ __5:
 	if !!(noErr != 0) {
 		goto __9
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+21661, libc.VaList(bp, pName+8))
+	Xsqlite3ErrorMsg(tls, pParse, ts+21708, libc.VaList(bp, pName+8))
 	goto __10
 __9:
 	Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb)
@@ -138414,7 +138450,7 @@ func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) {
 
 	if libc.AssignUintptr(&v, Xsqlite3GetVdbe(tls, pParse)) != uintptr(0) {
 		Xsqlite3NestedParse(tls, pParse,
-			ts+21681,
+			ts+21728,
 			libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Trigger)(unsafe.Pointer(pTrigger)).FzName))
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 		Xsqlite3VdbeAddOp4(tls, v, OP_DropTrigger, iDb, 0, 0, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, 0)
@@ -138528,12 +138564,12 @@ __9:
 		goto __15
 	}
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+21743,
+		ts+21790,
 		libc.VaList(bp, func() uintptr {
 			if op == TK_DELETE {
-				return ts + 21791
+				return ts + 21838
 			}
-			return ts + 21798
+			return ts + 21845
 		}()))
 __15:
 	;
@@ -138647,7 +138683,7 @@ func isAsteriskTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr) int32 {
 	if int32((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pTerm)).FpRight)).Fop) != TK_ASTERISK {
 		return 0
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+21805, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+21852, 0)
 	return 1
 }
 
@@ -138713,7 +138749,7 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab
 	}
 	Xsqlite3ExprListDelete(tls, db, (*Select)(unsafe.Pointer(bp)).FpEList)
 	pNew = sqlite3ExpandReturning(tls, pParse, (*Returning)(unsafe.Pointer(pReturning)).FpReturnEL, pTab)
-	if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) {
+	if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 {
 		libc.Xmemset(tls, bp+240, 0, uint64(unsafe.Sizeof(NameContext{})))
 		if (*Returning)(unsafe.Pointer(pReturning)).FnRetCol == 0 {
 			(*Returning)(unsafe.Pointer(pReturning)).FnRetCol = (*ExprList)(unsafe.Pointer(pNew)).FnExpr
@@ -138877,7 +138913,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt
 	if v != 0 {
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 {
 			Xsqlite3VdbeChangeP4(tls, v, -1,
-				Xsqlite3MPrintf(tls, db, ts+21847, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
+				Xsqlite3MPrintf(tls, db, ts+21894, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -6)
 		}
 
 		if (*Trigger)(unsafe.Pointer(pTrigger)).FpWhen != 0 {
@@ -139470,7 +139506,7 @@ __25:
 	}
 
 	Xsqlite3ErrorMsg(tls, pParse,
-		ts+21861,
+		ts+21908,
 		libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*24)).FzCnName))
 	goto update_cleanup
 __27:
@@ -139502,7 +139538,7 @@ __21:
 	iRowidExpr = i
 	goto __30
 __29:
-	Xsqlite3ErrorMsg(tls, pParse, ts+21897, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
+	Xsqlite3ErrorMsg(tls, pParse, ts+21944, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer(pChanges+8+uintptr(i)*32)).FzEName))
 	(*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1)
 	goto update_cleanup
 __30:
@@ -139828,7 +139864,12 @@ __74:
 	goto __77
 __76:
 	flags = WHERE_ONEPASS_DESIRED
-	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) && !(pTrigger != 0) && !(hasFK != 0) && !(chngKey != 0) && !(*(*int32)(unsafe.Pointer(bp + 104)) != 0)) {
+	if !(!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) &&
+		!(pTrigger != 0) &&
+		!(hasFK != 0) &&
+		!(chngKey != 0) &&
+		!(*(*int32)(unsafe.Pointer(bp + 104)) != 0) &&
+		(*NameContext)(unsafe.Pointer(bp+40)).FncFlags&NC_Subquery == 0) {
 		goto __78
 	}
 	flags = flags | WHERE_ONEPASS_MULTIROW
@@ -140382,7 +140423,7 @@ __168:
 	if !(regRowCount != 0) {
 		goto __169
 	}
-	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+21916)
+	Xsqlite3CodeChangeCount(tls, v, regRowCount, ts+21963)
 __169:
 	;
 update_cleanup:
@@ -140688,10 +140729,10 @@ __1:
 			if nClause == 0 && (*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0) {
 				*(*int8)(unsafe.Pointer(bp + 216)) = int8(0)
 			} else {
-				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216, ts+21929, libc.VaList(bp, nClause+1))
+				Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216, ts+21976, libc.VaList(bp, nClause+1))
 			}
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+21933, libc.VaList(bp+8, bp+216))
+				ts+21980, libc.VaList(bp+8, bp+216))
 			return SQLITE_ERROR
 		}
 
@@ -140814,7 +140855,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 {
 		var zSubSql uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
 
 		if zSubSql != 0 &&
-			(libc.Xstrncmp(tls, zSubSql, ts+22006, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+22010, uint64(3)) == 0) {
+			(libc.Xstrncmp(tls, zSubSql, ts+22053, uint64(3)) == 0 || libc.Xstrncmp(tls, zSubSql, ts+22057, uint64(3)) == 0) {
 			rc = execSql(tls, db, pzErrMsg, zSubSql)
 			if rc != SQLITE_OK {
 				break
@@ -140962,14 +141003,14 @@ func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p
 	if !!(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0) {
 		goto __1
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+22014)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+22061)
 	return SQLITE_ERROR
 __1:
 	;
 	if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive > 1) {
 		goto __2
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+22054)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+22101)
 	return SQLITE_ERROR
 __2:
 	;
@@ -140980,7 +141021,7 @@ __2:
 	if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) {
 		goto __5
 	}
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+22097)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+22144)
 	return SQLITE_ERROR
 __5:
 	;
@@ -141008,7 +141049,7 @@ __4:
 	isMemDb = Xsqlite3PagerIsMemdb(tls, Xsqlite3BtreePager(tls, pMain))
 
 	nDb = (*Sqlite3)(unsafe.Pointer(db)).FnDb
-	rc = execSqlF(tls, db, pzErrMsg, ts+22115, libc.VaList(bp, zOut))
+	rc = execSqlF(tls, db, pzErrMsg, ts+22162, libc.VaList(bp, zOut))
 	(*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags
 	if !(rc != SQLITE_OK) {
 		goto __6
@@ -141028,7 +141069,7 @@ __6:
 		goto __8
 	}
 	rc = SQLITE_ERROR
-	Xsqlite3SetString(tls, pzErrMsg, db, ts+22138)
+	Xsqlite3SetString(tls, pzErrMsg, db, ts+22185)
 	goto end_of_vacuum
 __8:
 	;
@@ -141088,7 +141129,7 @@ __12:
 
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb)
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+22165,
+		ts+22212,
 		libc.VaList(bp+8, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __13
@@ -141097,7 +141138,7 @@ __12:
 __13:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+22273,
+		ts+22320,
 		libc.VaList(bp+16, zDbMain))
 	if !(rc != SQLITE_OK) {
 		goto __14
@@ -141108,7 +141149,7 @@ __14:
 	(*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0)
 
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+22327,
+		ts+22374,
 		libc.VaList(bp+24, zDbMain))
 
 	*(*U32)(unsafe.Pointer(db + 44)) &= libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))
@@ -141119,7 +141160,7 @@ __14:
 __15:
 	;
 	rc = execSqlF(tls, db, pzErrMsg,
-		ts+22478,
+		ts+22525,
 		libc.VaList(bp+32, zDbMain))
 	if !(rc != 0) {
 		goto __16
@@ -141548,11 +141589,11 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		if pEnd != 0 {
 			(*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fn = uint32(int32((int64((*Token)(unsafe.Pointer(pEnd)).Fz)-int64((*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz))/1)) + (*Token)(unsafe.Pointer(pEnd)).Fn
 		}
-		zStmt = Xsqlite3MPrintf(tls, db, ts+22608, libc.VaList(bp, pParse+272))
+		zStmt = Xsqlite3MPrintf(tls, db, ts+22655, libc.VaList(bp, pParse+272))
 
 		iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema)
 		Xsqlite3NestedParse(tls, pParse,
-			ts+22632,
+			ts+22679,
 			libc.VaList(bp+8, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
 				(*Table)(unsafe.Pointer(pTab)).FzName,
@@ -141562,7 +141603,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) {
 		Xsqlite3ChangeCookie(tls, pParse, iDb)
 
 		Xsqlite3VdbeAddOp0(tls, v, OP_Expire)
-		zWhere = Xsqlite3MPrintf(tls, db, ts+22731, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
+		zWhere = Xsqlite3MPrintf(tls, db, ts+22778, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt))
 		Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0))
 		Xsqlite3DbFree(tls, db, zStmt)
 
@@ -141623,7 +141664,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	for pCtx = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx; pCtx != 0; pCtx = (*VtabCtx)(unsafe.Pointer(pCtx)).FpPrior {
 		if (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab == pTab {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db,
-				ts+22750, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
+				ts+22797, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName))
 			return SQLITE_LOCKED
 		}
 	}
@@ -141651,9 +141692,11 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	(*VtabCtx)(unsafe.Pointer(bp + 32)).FbDeclared = 0
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32
+	(*Table)(unsafe.Pointer(pTab)).FnTabRef++
 	rc = (*struct {
 		f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32
 	})(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+64)
+	Xsqlite3DeleteTable(tls, db, pTab)
 	(*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32)).FpPrior
 	if rc == SQLITE_NOMEM {
 		Xsqlite3OomFault(tls, db)
@@ -141661,7 +141704,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 
 	if SQLITE_OK != rc {
 		if *(*uintptr)(unsafe.Pointer(bp + 64)) == uintptr(0) {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+22792, libc.VaList(bp+8, zModuleName))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+22839, libc.VaList(bp+8, zModuleName))
 		} else {
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+4493, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64))))
 			Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
@@ -141673,7 +141716,7 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
 		(*Module)(unsafe.Pointer(pMod)).FnRefModule++
 		(*VTable)(unsafe.Pointer(pVTable)).FnRef = 1
 		if (*VtabCtx)(unsafe.Pointer(bp+32)).FbDeclared == 0 {
-			var zFormat uintptr = ts + 22822
+			var zFormat uintptr = ts + 22869
 			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName))
 			Xsqlite3VtabUnlock(tls, pVTable)
 			rc = SQLITE_ERROR
@@ -141747,7 +141790,7 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32
 
 	if !(pMod != 0) {
 		var zModule uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pTab + 64 + 8))))
-		Xsqlite3ErrorMsg(tls, pParse, ts+22868, libc.VaList(bp, zModule))
+		Xsqlite3ErrorMsg(tls, pParse, ts+22915, libc.VaList(bp, zModule))
 		rc = SQLITE_ERROR
 	} else {
 		*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
@@ -141805,7 +141848,7 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr,
 	pMod = Xsqlite3HashFind(tls, db+576, zMod)
 
 	if pMod == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate == uintptr(0) || (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxDestroy == uintptr(0) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+22868, libc.VaList(bp, zMod))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+22915, libc.VaList(bp, zMod))
 		rc = SQLITE_ERROR
 	} else {
 		rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxCreate, pzErr)
@@ -141839,7 +141882,7 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3
 	if !(pCtx != 0) || (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
 		Xsqlite3Error(tls, db, SQLITE_MISUSE)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
-		return Xsqlite3MisuseError(tls, 151030)
+		return Xsqlite3MisuseError(tls, 151102)
 	}
 	pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab
 
@@ -142292,7 +142335,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	p = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx
 	if !(p != 0) {
-		rc = Xsqlite3MisuseError(tls, 151521)
+		rc = Xsqlite3MisuseError(tls, 151593)
 	} else {
 		ap = va
 		switch op {
@@ -142319,7 +142362,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32
 			fallthrough
 		default:
 			{
-				rc = Xsqlite3MisuseError(tls, 151539)
+				rc = Xsqlite3MisuseError(tls, 151611)
 				break
 
 			}
@@ -142550,7 +142593,7 @@ type InLoop = struct {
 func explainIndexColumnName(tls *libc.TLS, pIdx uintptr, i int32) uintptr {
 	i = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2)))
 	if i == -2 {
-		return ts + 22887
+		return ts + 22934
 	}
 	if i == -1 {
 		return ts + 17625
@@ -142562,11 +142605,11 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	var i int32
 
 	if bAnd != 0 {
-		Xsqlite3_str_append(tls, pStr, ts+22894, 5)
+		Xsqlite3_str_append(tls, pStr, ts+22941, 5)
 	}
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+22900, 1)
+		Xsqlite3_str_append(tls, pStr, ts+22947, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -142581,7 +142624,7 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i
 	Xsqlite3_str_append(tls, pStr, zOp, 1)
 
 	if nTerm > 1 {
-		Xsqlite3_str_append(tls, pStr, ts+22900, 1)
+		Xsqlite3_str_append(tls, pStr, ts+22947, 1)
 	}
 	for i = 0; i < nTerm; i++ {
 		if i != 0 {
@@ -142607,27 +142650,27 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) {
 	if int32(nEq) == 0 && (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT|WHERE_TOP_LIMIT) == U32(0) {
 		return
 	}
-	Xsqlite3_str_append(tls, pStr, ts+22902, 2)
+	Xsqlite3_str_append(tls, pStr, ts+22949, 2)
 	for i = 0; i < int32(nEq); i++ {
 		var z uintptr = explainIndexColumnName(tls, pIndex, i)
 		if i != 0 {
-			Xsqlite3_str_append(tls, pStr, ts+22894, 5)
+			Xsqlite3_str_append(tls, pStr, ts+22941, 5)
 		}
 		Xsqlite3_str_appendf(tls, pStr, func() uintptr {
 			if i >= int32(nSkip) {
-				return ts + 22905
+				return ts + 22952
 			}
-			return ts + 22910
+			return ts + 22957
 		}(), libc.VaList(bp, z))
 	}
 
 	j = i
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_BTM_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+22918)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 2))), j, i, ts+22965)
 		i = 1
 	}
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_TOP_LIMIT) != 0 {
-		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+22920)
+		explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 + 4))), j, i, ts+22967)
 	}
 	Xsqlite3_str_append(tls, pStr, ts+6309, 1)
 }
@@ -142670,11 +142713,11 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 
 		Xsqlite3StrAccumInit(tls, bp+64, db, bp+96, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 		(*StrAccum)(unsafe.Pointer(bp + 64)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-		Xsqlite3_str_appendf(tls, bp+64, ts+22922, libc.VaList(bp, func() uintptr {
+		Xsqlite3_str_appendf(tls, bp+64, ts+22969, libc.VaList(bp, func() uintptr {
 			if isSearch != 0 {
-				return ts + 22928
+				return ts + 22975
 			}
-			return ts + 22935
+			return ts + 22982
 		}(), pItem))
 		if flags&U32(WHERE_IPK|WHERE_VIRTUALTABLE) == U32(0) {
 			var zFmt uintptr = uintptr(0)
@@ -142687,40 +142730,40 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
 					zFmt = ts + 12328
 				}
 			} else if flags&U32(WHERE_PARTIALIDX) != 0 {
-				zFmt = ts + 22940
+				zFmt = ts + 22987
 			} else if flags&U32(WHERE_AUTO_INDEX) != 0 {
-				zFmt = ts + 22973
+				zFmt = ts + 23020
 			} else if flags&U32(WHERE_IDX_ONLY) != 0 {
-				zFmt = ts + 22998
+				zFmt = ts + 23045
 			} else {
-				zFmt = ts + 23016
+				zFmt = ts + 23063
 			}
 			if zFmt != 0 {
-				Xsqlite3_str_append(tls, bp+64, ts+23025, 7)
+				Xsqlite3_str_append(tls, bp+64, ts+23072, 7)
 				Xsqlite3_str_appendf(tls, bp+64, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName))
 				explainIndexRange(tls, bp+64, pLoop)
 			}
 		} else if flags&U32(WHERE_IPK) != U32(0) && flags&U32(WHERE_CONSTRAINT) != U32(0) {
 			var cRangeOp int8
 			var zRowid uintptr = ts + 17625
-			Xsqlite3_str_appendf(tls, bp+64, ts+23033, libc.VaList(bp+24, zRowid))
+			Xsqlite3_str_appendf(tls, bp+64, ts+23080, libc.VaList(bp+24, zRowid))
 			if flags&U32(WHERE_COLUMN_EQ|WHERE_COLUMN_IN) != 0 {
 				cRangeOp = int8('=')
 			} else if flags&U32(WHERE_BOTH_LIMIT) == U32(WHERE_BOTH_LIMIT) {
-				Xsqlite3_str_appendf(tls, bp+64, ts+23064, libc.VaList(bp+32, zRowid))
+				Xsqlite3_str_appendf(tls, bp+64, ts+23111, libc.VaList(bp+32, zRowid))
 				cRangeOp = int8('<')
 			} else if flags&U32(WHERE_BTM_LIMIT) != 0 {
 				cRangeOp = int8('>')
 			} else {
 				cRangeOp = int8('<')
 			}
-			Xsqlite3_str_appendf(tls, bp+64, ts+23074, libc.VaList(bp+40, int32(cRangeOp)))
+			Xsqlite3_str_appendf(tls, bp+64, ts+23121, libc.VaList(bp+40, int32(cRangeOp)))
 		} else if flags&U32(WHERE_VIRTUALTABLE) != U32(0) {
-			Xsqlite3_str_appendf(tls, bp+64, ts+23079,
+			Xsqlite3_str_appendf(tls, bp+64, ts+23126,
 				libc.VaList(bp+48, *(*int32)(unsafe.Pointer(pLoop + 24)), *(*uintptr)(unsafe.Pointer(pLoop + 24 + 16))))
 		}
 		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&JT_LEFT != 0 {
-			Xsqlite3_str_appendf(tls, bp+64, ts+23106, 0)
+			Xsqlite3_str_appendf(tls, bp+64, ts+23153, 0)
 		}
 		zMsg = Xsqlite3StrAccumFinish(tls, bp+64)
 
@@ -142752,22 +142795,22 @@ func Xsqlite3WhereExplainBloomFilter(tls *libc.TLS, pParse uintptr, pWInfo uintp
 
 	Xsqlite3StrAccumInit(tls, bp+24, db, bp+56, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH)
 	(*StrAccum)(unsafe.Pointer(bp + 24)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL)
-	Xsqlite3_str_appendf(tls, bp+24, ts+23117, libc.VaList(bp, pItem))
+	Xsqlite3_str_appendf(tls, bp+24, ts+23164, libc.VaList(bp, pItem))
 	pLoop = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	if (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags&U32(WHERE_IPK) != 0 {
 		var pTab uintptr = (*SrcItem)(unsafe.Pointer(pItem)).FpTab
 		if int32((*Table)(unsafe.Pointer(pTab)).FiPKey) >= 0 {
-			Xsqlite3_str_appendf(tls, bp+24, ts+22905, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
+			Xsqlite3_str_appendf(tls, bp+24, ts+22952, libc.VaList(bp+8, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*24)).FzCnName))
 		} else {
-			Xsqlite3_str_appendf(tls, bp+24, ts+23138, 0)
+			Xsqlite3_str_appendf(tls, bp+24, ts+23185, 0)
 		}
 	} else {
 		for i = int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip); i < int32(*(*U16)(unsafe.Pointer(pLoop + 24))); i++ {
 			var z uintptr = explainIndexColumnName(tls, *(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)), i)
 			if i > int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip) {
-				Xsqlite3_str_append(tls, bp+24, ts+22894, 5)
+				Xsqlite3_str_append(tls, bp+24, ts+22941, 5)
 			}
-			Xsqlite3_str_appendf(tls, bp+24, ts+22905, libc.VaList(bp+16, z))
+			Xsqlite3_str_appendf(tls, bp+24, ts+22952, libc.VaList(bp+16, z))
 		}
 	}
 	Xsqlite3_str_append(tls, bp+24, ts+6309, 1)
@@ -144364,7 +144407,7 @@ __134:
 	;
 __126:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+23146, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+23193, 0)
 	ii = 0
 __135:
 	if !(ii < (*WhereClause)(unsafe.Pointer(pOrWc)).FnTerm) {
@@ -144392,7 +144435,7 @@ __139:
 	pOrExpr = pAndExpr
 __140:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+23161, libc.VaList(bp, ii+1))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+23208, libc.VaList(bp, ii+1))
 
 	pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uintptr(0),
 		uint16(WHERE_OR_SUBCLAUSE), iCovCur)
@@ -144910,7 +144953,7 @@ func Xsqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
 	var mAll Bitmask = uint64(0)
 	var k int32
 
-	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+23170, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
+	Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+23217, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName))
 
 	for k = 0; k < iLevel; k++ {
 		var iIdxCur int32
@@ -145271,7 +145314,7 @@ var aOp = [4]Op2{
 	{FzOp: ts + 17474, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)},
 	{FzOp: ts + 16804, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)},
 	{FzOp: ts + 16324, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)},
-	{FzOp: ts + 23184, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
+	{FzOp: ts + 23231, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)},
 }
 
 func transferJoinMarkings(tls *libc.TLS, pDerived uintptr, pBase uintptr) {
@@ -145761,12 +145804,12 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			extraRight = x - uint64(1)
 
 			if prereqAll>>1 >= x {
-				Xsqlite3ErrorMsg(tls, pParse, ts+23191, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+23238, 0)
 				return
 			}
 		} else if prereqAll>>1 >= x {
 			if (*SrcList)(unsafe.Pointer(pSrc)).FnSrc > 0 && int32((*SrcItem)(unsafe.Pointer(pSrc+8)).Ffg.Fjointype)&JT_LTORJ != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+23191, 0)
+				Xsqlite3ErrorMsg(tls, pParse, ts+23238, 0)
 				return
 			}
 			*(*U32)(unsafe.Pointer(pExpr + 4)) &= libc.Uint32FromInt32(libc.CplInt32(EP_InnerON))
@@ -145845,7 +145888,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 			!((*Expr)(unsafe.Pointer(pExpr)).Fflags&U32(EP_OuterON) != U32(0)) &&
 			0 == Xsqlite3ExprCanBeNull(tls, pLeft) {
 			(*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE)
-			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 8121
+			*(*uintptr)(unsafe.Pointer(pExpr + 8)) = ts + 9051
 			*(*U32)(unsafe.Pointer(pExpr + 4)) |= U32(EP_IsFalse)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0)
 			(*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0)
@@ -145939,7 +145982,7 @@ func exprAnalyze(tls *libc.TLS, pSrc uintptr, pWC uintptr, idxTerm int32) {
 		}
 		zCollSeqName = func() uintptr {
 			if *(*int32)(unsafe.Pointer(bp + 20)) != 0 {
-				return ts + 23232
+				return ts + 23279
 			}
 			return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY))
 		}()
@@ -146315,7 +146358,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 			k++
 		}
 		if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+23239,
+			Xsqlite3ErrorMsg(tls, pParse, ts+23286,
 				libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j))
 			return
 		}
@@ -146331,7 +146374,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC
 		pRhs = Xsqlite3PExpr(tls, pParse, TK_UPLUS,
 			Xsqlite3ExprDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*ExprList_item)(unsafe.Pointer(pArgs+8+uintptr(j)*32)).FpExpr, 0), uintptr(0))
 		pTerm = Xsqlite3PExpr(tls, pParse, TK_EQ, pColRef, pRhs)
-		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ) != 0 {
+		if int32((*SrcItem)(unsafe.Pointer(pItem)).Ffg.Fjointype)&(JT_LEFT|JT_LTORJ|JT_RIGHT) != 0 {
 			joinType = U32(EP_OuterON)
 		} else {
 			joinType = U32(EP_InnerON)
@@ -147049,7 +147092,7 @@ __4:
 		goto __6
 	}
 	Xsqlite3_log(tls, SQLITE_WARNING|int32(1)<<8,
-		ts+23275, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
+		ts+23322, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName,
 			(*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTable)).FaCol+uintptr(iCol)*24)).FzCnName))
 	sentWarning = U8(1)
 __6:
@@ -147120,7 +147163,7 @@ __13:
 __14:
 	;
 	*(*uintptr)(unsafe.Pointer(pLoop + 24 + 8)) = pIdx
-	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 23301
+	(*Index)(unsafe.Pointer(pIdx)).FzName = ts + 23348
 	(*Index)(unsafe.Pointer(pIdx)).FpTable = pTable
 	n = 0
 	idxCols = uint64(0)
@@ -147294,6 +147337,10 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 	var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe
 	var pLoop uintptr = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop
 	var iCur int32
+	var saved_pIdxEpr uintptr
+
+	saved_pIdxEpr = (*Parse)(unsafe.Pointer(pParse)).FpIdxEpr
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = uintptr(0)
 
 	addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once)
 	for __ccgo := true; __ccgo; __ccgo = iLevel < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel) {
@@ -147337,9 +147384,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 			var r1 int32 = Xsqlite3GetTempRange(tls, pParse, n)
 			var jj int32
 			for jj = 0; jj < n; jj++ {
-				var iCol int32 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(jj)*2)))
-
-				Xsqlite3ExprCodeGetColumnOfTable(tls, v, (*Index)(unsafe.Pointer(pIdx)).FpTable, iCur, iCol, r1+jj)
+				Xsqlite3ExprCodeLoadIndexColumn(tls, pParse, pIdx, iCur, jj, r1+jj)
 			}
 			Xsqlite3VdbeAddOp4Int(tls, v, OP_FilterAdd, (*WhereLevel)(unsafe.Pointer(pLevel)).FregFilter, 0, r1, n)
 			Xsqlite3ReleaseTempRange(tls, pParse, r1, n)
@@ -147373,6 +147418,7 @@ func sqlite3ConstructBloomFilter(tls *libc.TLS, pWInfo uintptr, iLevel int32, pL
 		}
 	}
 	Xsqlite3VdbeJumpHere(tls, v, addrOnce)
+	(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = saved_pIdxEpr
 }
 
 func allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable Bitmask, pSrc uintptr, pmNoOmit uintptr) uintptr {
@@ -147631,11 +147677,16 @@ func whereKeyStats(tls *libc.TLS, pParse uintptr, pIdx uintptr, pRec uintptr, ro
 
 	_ = pParse
 
+	if !((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FtabFlags&U32(TF_WithoutRowid) == U32(0)) && int32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x3>>0) == SQLITE_IDXTYPE_PRIMARYKEY {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol)
+	} else {
+		nField = int32((*Index)(unsafe.Pointer(pIdx)).FnColumn)
+	}
 	nField = func() int32 {
-		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < (*Index)(unsafe.Pointer(pIdx)).FnSample {
+		if int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField) < nField {
 			return int32((*UnpackedRecord)(unsafe.Pointer(pRec)).FnField)
 		}
-		return (*Index)(unsafe.Pointer(pIdx)).FnSample
+		return nField
 	}()
 	iCol = 0
 	iSample = (*Index)(unsafe.Pointer(pIdx)).FnSample * nField
@@ -149216,7 +149267,7 @@ __4:
 				j >= (*WhereClause)(unsafe.Pointer(pWC)).FnTerm ||
 				*(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(iTerm)*8)) != uintptr(0) ||
 				int32((*sqlite3_index_constraint)(unsafe.Pointer(pIdxCons)).Fusable) == 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+23312, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+				Xsqlite3ErrorMsg(tls, pParse, ts+23359, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 				return SQLITE_ERROR
 			}
@@ -149274,7 +149325,7 @@ __6:
 	(*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm = U16(mxTerm + 1)
 	for i = 0; i <= mxTerm; i++ {
 		if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) {
-			Xsqlite3ErrorMsg(tls, pParse, ts+23312, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
+			Xsqlite3ErrorMsg(tls, pParse, ts+23359, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName))
 
 			return SQLITE_ERROR
 		}
@@ -149672,7 +149723,7 @@ __1:
 		mPrior = mPrior | (*WhereLoop)(unsafe.Pointer(pNew)).FmaskSelf
 		if rc != 0 || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 			if rc == SQLITE_DONE {
-				Xsqlite3_log(tls, SQLITE_WARNING, ts+23338, 0)
+				Xsqlite3_log(tls, SQLITE_WARNING, ts+23385, 0)
 				rc = SQLITE_OK
 			} else {
 				goto __3
@@ -150279,7 +150330,7 @@ __3:
 	}
 
 	if nFrom == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23373, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+23420, 0)
 		Xsqlite3DbFreeNN(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pSpace)
 		return SQLITE_ERROR
 	}
@@ -150314,6 +150365,10 @@ __3:
 			if int32((*WherePath)(unsafe.Pointer(pFrom)).FisOrdered) == (*ExprList)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpOrderBy)).FnExpr {
 				(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_ORDERED)
 			}
+			if (*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy != 0 &&
+				int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) > (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr {
+				(*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat = I8((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)).FpOrderBy)).FnExpr)
+			}
 		} else {
 			(*WhereInfo)(unsafe.Pointer(pWInfo)).FrevMask = (*WherePath)(unsafe.Pointer(pFrom)).FrevLoop
 			if int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnOBSat) <= 0 {
@@ -150608,6 +150663,9 @@ func whereAddIndexedExpr(tls *libc.TLS, pParse uintptr, pIdx uintptr, iIdxCur in
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCur = iIdxCur
 		(*IndexedExpr)(unsafe.Pointer(p)).FiIdxCol = i
 		(*IndexedExpr)(unsafe.Pointer(p)).FbMaybeNullRow = U8(bMaybeNullRow)
+		if Xsqlite3IndexAffinityStr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pIdx) != 0 {
+			(*IndexedExpr)(unsafe.Pointer(p)).Faff = U8(*(*int8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FzColAff + uintptr(i))))
+		}
 		(*Parse)(unsafe.Pointer(pParse)).FpIdxEpr = p
 		if (*IndexedExpr)(unsafe.Pointer(p)).FpIENext == uintptr(0) {
 			Xsqlite3ParserAddCleanup(tls, pParse, *(*uintptr)(unsafe.Pointer(&struct {
@@ -150760,7 +150818,7 @@ __1:
 	if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+23391, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
+	Xsqlite3ErrorMsg(tls, pParse, ts+23438, libc.VaList(bp, int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))
 	return uintptr(0)
 __2:
 	;
@@ -150824,7 +150882,7 @@ __6:
 	(*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE)
 __7:
 	;
-	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+23419, 0)
+	Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+23466, 0)
 	goto __5
 __4:
 	ii = 0
@@ -151706,7 +151764,7 @@ __1:
 
 error_out:
 	Xsqlite3_result_error(tls,
-		pCtx, ts+23437, -1)
+		pCtx, ts+23484, -1)
 }
 
 func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
@@ -151839,7 +151897,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 			(*NtileCtx)(unsafe.Pointer(p)).FnParam = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 			if (*NtileCtx)(unsafe.Pointer(p)).FnParam <= int64(0) {
 				Xsqlite3_result_error(tls,
-					pCtx, ts+23493, -1)
+					pCtx, ts+23540, -1)
 			}
 		}
 		(*NtileCtx)(unsafe.Pointer(p)).FnTotal++
@@ -151929,17 +151987,17 @@ func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) {
 	}
 }
 
-var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 23538))
-var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 23549))
-var rankName = *(*[5]int8)(unsafe.Pointer(ts + 23560))
-var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 23565))
-var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 23578))
-var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 23588))
-var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 23594))
-var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 23605))
-var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 23615))
-var leadName = *(*[5]int8)(unsafe.Pointer(ts + 23627))
-var lagName = *(*[4]int8)(unsafe.Pointer(ts + 23632))
+var row_numberName = *(*[11]int8)(unsafe.Pointer(ts + 23585))
+var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 23596))
+var rankName = *(*[5]int8)(unsafe.Pointer(ts + 23607))
+var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 23612))
+var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 23625))
+var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 23635))
+var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 23641))
+var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 23652))
+var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 23662))
+var leadName = *(*[5]int8)(unsafe.Pointer(ts + 23674))
+var lagName = *(*[4]int8)(unsafe.Pointer(ts + 23679))
 
 func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) {
 	_ = p
@@ -151985,7 +152043,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin
 		}
 	}
 	if p == uintptr(0) {
-		Xsqlite3ErrorMsg(tls, pParse, ts+23636, libc.VaList(bp, zName))
+		Xsqlite3ErrorMsg(tls, pParse, ts+23683, libc.VaList(bp, zName))
 	}
 	return p
 }
@@ -152029,12 +152087,12 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin
 		((*Window)(unsafe.Pointer(pWin)).FpStart != 0 || (*Window)(unsafe.Pointer(pWin)).FpEnd != 0) &&
 		((*Window)(unsafe.Pointer(pWin)).FpOrderBy == uintptr(0) || (*ExprList)(unsafe.Pointer((*Window)(unsafe.Pointer(pWin)).FpOrderBy)).FnExpr != 1) {
 		Xsqlite3ErrorMsg(tls, pParse,
-			ts+23655, 0)
+			ts+23702, 0)
 	} else if (*FuncDef)(unsafe.Pointer(pFunc)).FfuncFlags&U32(SQLITE_FUNC_WINDOW) != 0 {
 		var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb
 		if (*Window)(unsafe.Pointer(pWin)).FpFilter != 0 {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+23726, 0)
+				ts+23773, 0)
 		} else {
 			*(*[8]WindowUpdate)(unsafe.Pointer(bp)) = [8]WindowUpdate{
 				{FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: TK_ROWS, FeStart: TK_UNBOUNDED, FeEnd: TK_CURRENT},
@@ -152263,7 +152321,7 @@ func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr
 
 	if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION && (*Expr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0) {
 		Xsqlite3ErrorMsg(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse,
-			ts+23789, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
+			ts+23836, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8))))
 	}
 	return WRC_Continue
 }
@@ -152379,7 +152437,7 @@ func Xsqlite3WindowRewrite(tls *libc.TLS, pParse uintptr, p uintptr) int32 {
 
 		if *(*uintptr)(unsafe.Pointer(bp + 48)) == uintptr(0) {
 			*(*uintptr)(unsafe.Pointer(bp + 48)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0),
-				Xsqlite3Expr(tls, db, TK_INTEGER, ts+8882))
+				Xsqlite3Expr(tls, db, TK_INTEGER, ts+8871))
 		}
 
 		pSub = Xsqlite3SelectNew(tls,
@@ -152494,7 +152552,7 @@ __1:
 		eStart == TK_FOLLOWING && (eEnd == TK_PRECEDING || eEnd == TK_CURRENT)) {
 		goto __2
 	}
-	Xsqlite3ErrorMsg(tls, pParse, ts+23815, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+23862, 0)
 	goto windowAllocErr
 __2:
 	;
@@ -152559,15 +152617,15 @@ func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uint
 			var zErr uintptr = uintptr(0)
 
 			if (*Window)(unsafe.Pointer(pWin)).FpPartition != 0 {
-				zErr = ts + 23847
+				zErr = ts + 23894
 			} else if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 && (*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0 {
-				zErr = ts + 23864
+				zErr = ts + 23911
 			} else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 {
-				zErr = ts + 23880
+				zErr = ts + 23927
 			}
 			if zErr != 0 {
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+23900, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
+					ts+23947, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase))
 			} else {
 				(*Window)(unsafe.Pointer(pWin)).FpPartition = Xsqlite3ExprListDup(tls, db, (*Window)(unsafe.Pointer(pExist)).FpPartition, 0)
 				if (*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0 {
@@ -152588,7 +152646,7 @@ func Xsqlite3WindowAttach(tls *libc.TLS, pParse uintptr, p uintptr, pWin uintptr
 		(*Window)(unsafe.Pointer(pWin)).FpOwner = p
 		if (*Expr)(unsafe.Pointer(p)).Fflags&U32(EP_Distinct) != 0 && int32((*Window)(unsafe.Pointer(pWin)).FeFrmType) != TK_FILTER {
 			Xsqlite3ErrorMsg(tls, pParse,
-				ts+23933, 0)
+				ts+23980, 0)
 		}
 	} else {
 		Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin)
@@ -152744,11 +152802,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) {
 }
 
 var azErr = [5]uintptr{
-	ts + 23980,
-	ts + 24033,
-	ts + 23437,
-	ts + 24084,
-	ts + 24136,
+	ts + 24027,
+	ts + 24080,
+	ts + 23484,
+	ts + 24131,
+	ts + 24183,
 }
 var aOp1 = [5]int32{OP_Ge, OP_Ge, OP_Gt, OP_Ge, OP_Ge}
 
@@ -154143,19 +154201,19 @@ func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) {
 			}
 			cnt++
 			if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != 0 || (*Select)(unsafe.Pointer(pLoop)).FpLimit != 0 {
-				Xsqlite3ErrorMsg(tls, pParse, ts+24186,
+				Xsqlite3ErrorMsg(tls, pParse, ts+24233,
 					libc.VaList(bp, func() uintptr {
 						if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) {
-							return ts + 24228
+							return ts + 24275
 						}
-						return ts + 24237
+						return ts + 24284
 					}(),
 						Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(pNext)).Fop))))
 				break
 			}
 		}
 		if (*Select)(unsafe.Pointer(p)).FselFlags&U32(SF_MultiValue) == U32(0) && libc.AssignInt32(&mxSelect, *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb + 136 + 4*4))) > 0 && cnt > mxSelect {
-			Xsqlite3ErrorMsg(tls, pParse, ts+24243, 0)
+			Xsqlite3ErrorMsg(tls, pParse, ts+24290, 0)
 		}
 	}
 
@@ -154223,7 +154281,7 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT
 	var p uintptr = Xsqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0))
 	if (hasCollate != 0 || sortOrder != -1) &&
 		int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+24277,
+		Xsqlite3ErrorMsg(tls, pParse, ts+24324,
 			libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz))
 	}
 	Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1)
@@ -155320,7 +155378,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) {
 		yy_pop_parser_stack(tls, yypParser)
 	}
 
-	Xsqlite3ErrorMsg(tls, pParse, ts+24315, 0)
+	Xsqlite3ErrorMsg(tls, pParse, ts+24362, 0)
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
 }
@@ -156299,7 +156357,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(TF_WithoutRowid | TF_NoVisibleRowid)
 				} else {
 					*(*U32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+24337, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+24384, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			break
@@ -156309,7 +156367,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(TF_Strict)
 				} else {
 					*(*U32)(unsafe.Pointer(bp + 40)) = U32(0)
-					Xsqlite3ErrorMsg(tls, pParse, ts+24337, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
+					Xsqlite3ErrorMsg(tls, pParse, ts+24384, libc.VaList(bp+16, (*Token)(unsafe.Pointer(yymsp+8)).Fn, (*Token)(unsafe.Pointer(yymsp+8)).Fz))
 				}
 			}
 			*(*U32)(unsafe.Pointer(yymsp + 8)) = *(*U32)(unsafe.Pointer(bp + 40))
@@ -157052,7 +157110,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 		case uint32(157):
 			{
 				Xsqlite3SrcListIndexedBy(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8)), yymsp+libc.UintptrFromInt32(-4)*24+8)
-				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+24364)
+				Xsqlite3ExprListCheckLength(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)), ts+24411)
 				if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8)) != 0 {
 					var pFromClause uintptr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8))
 					if (*SrcList)(unsafe.Pointer(pFromClause)).FnSrc > 1 {
@@ -157216,7 +157274,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					*(*Token)(unsafe.Pointer(bp + 128)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 
 					if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 {
-						Xsqlite3ErrorMsg(tls, pParse, ts+24373, libc.VaList(bp+32, bp+128))
+						Xsqlite3ErrorMsg(tls, pParse, ts+24420, libc.VaList(bp+32, bp+128))
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = uintptr(0)
 					} else {
 						*(*uintptr)(unsafe.Pointer(yymsp + 8)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0))
@@ -157433,9 +157491,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 					Xsqlite3ExprUnmapAndDelete(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
 					*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) = Xsqlite3Expr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_STRING, func() uintptr {
 						if *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8)) != 0 {
-							return ts + 8116
+							return ts + 9046
 						}
-						return ts + 8121
+						return ts + 9051
 					}())
 					if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)) != 0 {
 						Xsqlite3ExprIdToTrueFalse(tls, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8)))
@@ -157719,19 +157777,19 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in
 			{
 				*(*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8)) = *(*Token)(unsafe.Pointer(yymsp + 8))
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+24397, 0)
+					ts+24444, 0)
 			}
 			break
 		case uint32(271):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+24492, 0)
+					ts+24539, 0)
 			}
 			break
 		case uint32(272):
 			{
 				Xsqlite3ErrorMsg(tls, pParse,
-					ts+24576, 0)
+					ts+24623, 0)
 			}
 			break
 		case uint32(273):
@@ -158110,9 +158168,9 @@ func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor To
 
 	_ = yymajor
 	if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8)).Fz)) != 0 {
-		Xsqlite3ErrorMsg(tls, pParse, ts+24373, libc.VaList(bp, bp+8))
+		Xsqlite3ErrorMsg(tls, pParse, ts+24420, libc.VaList(bp, bp+8))
 	} else {
-		Xsqlite3ErrorMsg(tls, pParse, ts+24661, 0)
+		Xsqlite3ErrorMsg(tls, pParse, ts+24708, 0)
 	}
 
 	(*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse
@@ -158880,7 +158938,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 			} else {
 				(*Token)(unsafe.Pointer(bp + 2464)).Fz = zSql
 				(*Token)(unsafe.Pointer(bp + 2464)).Fn = uint32(n)
-				Xsqlite3ErrorMsg(tls, pParse, ts+24678, libc.VaList(bp, bp+2464))
+				Xsqlite3ErrorMsg(tls, pParse, ts+24725, libc.VaList(bp, bp+2464))
 				break
 			}
 		}
@@ -158903,7 +158961,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr) int32 {
 		if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0) {
 			(*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+4493, libc.VaList(bp+8, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc)))
 		}
-		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+24703, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
+		Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+24750, libc.VaList(bp+16, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg, (*Parse)(unsafe.Pointer(pParse)).FzTail))
 		nErr++
 	}
 	(*Parse)(unsafe.Pointer(pParse)).FzTail = zSql
@@ -159076,7 +159134,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'C':
 						{
-							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+24714, 6) == 0 {
+							if nId == 6 && Xsqlite3_strnicmp(tls, zSql, ts+24761, 6) == 0 {
 								token = U8(TkCREATE)
 							} else {
 								token = U8(TkOTHER)
@@ -159089,11 +159147,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'T':
 						{
-							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+21300, 7) == 0 {
+							if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+21347, 7) == 0 {
 								token = U8(TkTRIGGER)
-							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+24721, 4) == 0 {
+							} else if nId == 4 && Xsqlite3_strnicmp(tls, zSql, ts+24768, 4) == 0 {
 								token = U8(TkTEMP)
-							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+24726, 9) == 0 {
+							} else if nId == 9 && Xsqlite3_strnicmp(tls, zSql, ts+24773, 9) == 0 {
 								token = U8(TkTEMP)
 							} else {
 								token = U8(TkOTHER)
@@ -159106,9 +159164,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 {
 						fallthrough
 					case 'E':
 						{
-							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+24736, 3) == 0 {
+							if nId == 3 && Xsqlite3_strnicmp(tls, zSql, ts+24783, 3) == 0 {
 								token = U8(TkEND)
-							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+24740, 7) == 0 {
+							} else if nId == 7 && Xsqlite3_strnicmp(tls, zSql, ts+24787, 7) == 0 {
 								token = U8(TkEXPLAIN)
 							} else {
 								token = U8(TkOTHER)
@@ -159342,7 +159400,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 {
 	var rc int32 = SQLITE_OK
 
 	if Xsqlite3Config.FisInit != 0 {
-		return Xsqlite3MisuseError(tls, 174337)
+		return Xsqlite3MisuseError(tls, 174426)
 	}
 
 	ap = va
@@ -159917,7 +159975,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 		return SQLITE_OK
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 175111)
+		return Xsqlite3MisuseError(tls, 175200)
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace)&SQLITE_TRACE_CLOSE != 0 {
@@ -159932,7 +159990,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 {
 
 	if !(forceZombie != 0) && connectionIsBusy(tls, db) != 0 {
 		Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-			ts+24748, 0)
+			ts+24795, 0)
 		Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 		return SQLITE_BUSY
 	}
@@ -160123,23 +160181,23 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) {
 // Return a static string that describes the kind of error specified in the
 // argument.
 func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
-	var zErr uintptr = ts + 24816
+	var zErr uintptr = ts + 24863
 	switch rc {
 	case SQLITE_ABORT | int32(2)<<8:
 		{
-			zErr = ts + 24830
+			zErr = ts + 24877
 			break
 
 		}
 	case SQLITE_ROW:
 		{
-			zErr = ts + 24852
+			zErr = ts + 24899
 			break
 
 		}
 	case SQLITE_DONE:
 		{
-			zErr = ts + 24874
+			zErr = ts + 24921
 			break
 
 		}
@@ -160157,35 +160215,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr {
 }
 
 var aMsg = [29]uintptr{
-	ts + 24897,
-	ts + 24910,
+	ts + 24944,
+	ts + 24957,
 	uintptr(0),
-	ts + 24926,
-	ts + 24951,
-	ts + 24965,
-	ts + 24984,
+	ts + 24973,
+	ts + 24998,
+	ts + 25012,
+	ts + 25031,
 	ts + 1480,
-	ts + 25009,
-	ts + 25046,
-	ts + 25058,
-	ts + 25073,
-	ts + 25106,
-	ts + 25124,
-	ts + 25149,
-	ts + 25178,
+	ts + 25056,
+	ts + 25093,
+	ts + 25105,
+	ts + 25120,
+	ts + 25153,
+	ts + 25171,
+	ts + 25196,
+	ts + 25225,
 	uintptr(0),
 	ts + 7190,
 	ts + 6686,
-	ts + 25195,
-	ts + 25213,
-	ts + 25231,
+	ts + 25242,
+	ts + 25260,
+	ts + 25278,
 	uintptr(0),
-	ts + 25265,
-	uintptr(0),
-	ts + 25286,
 	ts + 25312,
-	ts + 25335,
-	ts + 25356,
+	uintptr(0),
+	ts + 25333,
+	ts + 25359,
+	ts + 25382,
+	ts + 25403,
 }
 
 func sqliteDefaultBusyCallback(tls *libc.TLS, ptr uintptr, count int32) int32 {
@@ -160306,7 +160364,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 		libc.Bool32(xValue == uintptr(0)) != libc.Bool32(xInverse == uintptr(0)) ||
 		(nArg < -1 || nArg > SQLITE_MAX_FUNCTION_ARG) ||
 		255 < Xsqlite3Strlen30(tls, zFunctionName) {
-		return Xsqlite3MisuseError(tls, 175758)
+		return Xsqlite3MisuseError(tls, 175847)
 	}
 
 	extraFlags = enc & (SQLITE_DETERMINISTIC | SQLITE_DIRECTONLY | SQLITE_SUBTYPE | SQLITE_INNOCUOUS)
@@ -160351,7 +160409,7 @@ func Xsqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
 	if p != 0 && (*FuncDef)(unsafe.Pointer(p)).FfuncFlags&U32(SQLITE_FUNC_ENCMASK) == U32(enc) && int32((*FuncDef)(unsafe.Pointer(p)).FnArg) == nArg {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+25372, 0)
+				ts+25419, 0)
 
 			return SQLITE_BUSY
 		} else {
@@ -160468,7 +160526,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs
 	_ = NotUsed
 	_ = NotUsed2
 	zErr = Xsqlite3_mprintf(tls,
-		ts+25435, libc.VaList(bp, zName))
+		ts+25482, libc.VaList(bp, zName))
 	Xsqlite3_result_error(tls, context, zErr, -1)
 	Xsqlite3_free(tls, zErr)
 }
@@ -160704,7 +160762,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
 	}
 	if iDb < 0 {
 		rc = SQLITE_ERROR
-		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+25486, libc.VaList(bp, zDb))
+		Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+25533, libc.VaList(bp, zDb))
 	} else {
 		(*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0
 		rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt)
@@ -160797,7 +160855,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) uintptr {
 		return Xsqlite3ErrStr(tls, SQLITE_NOMEM)
 	}
 	if !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176503))
+		return Xsqlite3ErrStr(tls, Xsqlite3MisuseError(tls, 176592))
 	}
 	Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex)
 	if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -160867,7 +160925,7 @@ var misuse = [34]U16{
 // passed to this function, we assume a malloc() failed during sqlite3_open().
 func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176582)
+		return Xsqlite3MisuseError(tls, 176671)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -160877,7 +160935,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 {
 
 func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 {
 	if db != 0 && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) {
-		return Xsqlite3MisuseError(tls, 176591)
+		return Xsqlite3MisuseError(tls, 176680)
 	}
 	if !(db != 0) || (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
 		return SQLITE_NOMEM
@@ -160909,14 +160967,14 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint
 		enc2 = SQLITE_UTF16LE
 	}
 	if enc2 < SQLITE_UTF8 || enc2 > SQLITE_UTF16BE {
-		return Xsqlite3MisuseError(tls, 176639)
+		return Xsqlite3MisuseError(tls, 176728)
 	}
 
 	pColl = Xsqlite3FindCollSeq(tls, db, U8(enc2), zName, 0)
 	if pColl != 0 && (*CollSeq)(unsafe.Pointer(pColl)).FxCmp != 0 {
 		if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive != 0 {
 			Xsqlite3ErrorWithMsg(tls, db, SQLITE_BUSY,
-				ts+25507, 0)
+				ts+25554, 0)
 			return SQLITE_BUSY
 		}
 		Xsqlite3ExpirePreparedStatements(tls, db, 0)
@@ -161046,7 +161104,7 @@ func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags u
 
 	if !((flags&uint32(SQLITE_OPEN_URI) != 0 ||
 		Xsqlite3Config.FbOpenUri != 0) &&
-		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+25575, uint64(5)) == 0) {
+		nUri >= 5 && libc.Xmemcmp(tls, zUri, ts+25622, uint64(5)) == 0) {
 		goto __1
 	}
 	iOut = 0
@@ -161091,10 +161149,10 @@ __8:
 	goto __8
 __9:
 	;
-	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+25581, zUri+7, uint64(9)) != 0)) {
+	if !(iIn != 7 && (iIn != 16 || libc.Xmemcmp(tls, ts+25628, zUri+7, uint64(9)) != 0)) {
 		goto __10
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+25591,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+25638,
 		libc.VaList(bp, iIn-7, zUri+7))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
@@ -161199,7 +161257,7 @@ __27:
 	zVal = zOpt + uintptr(nOpt+1)
 	nVal = Xsqlite3Strlen30(tls, zVal)
 
-	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+25619, zOpt, uint64(3)) == 0) {
+	if !(nOpt == 3 && libc.Xmemcmp(tls, ts+25666, zOpt, uint64(3)) == 0) {
 		goto __29
 	}
 	zVfs = zVal
@@ -161210,17 +161268,17 @@ __29:
 	mask = 0
 	limit = 0
 
-	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+25623, zOpt, uint64(5)) == 0) {
+	if !(nOpt == 5 && libc.Xmemcmp(tls, ts+25670, zOpt, uint64(5)) == 0) {
 		goto __31
 	}
 
 	mask = SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_PRIVATECACHE
 	aMode = uintptr(unsafe.Pointer(&aCacheMode))
 	limit = mask
-	zModeType = ts + 25623
+	zModeType = ts + 25670
 __31:
 	;
-	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+25629, zOpt, uint64(4)) == 0) {
+	if !(nOpt == 4 && libc.Xmemcmp(tls, ts+25676, zOpt, uint64(4)) == 0) {
 		goto __32
 	}
 
@@ -161228,7 +161286,7 @@ __31:
 		SQLITE_OPEN_CREATE | SQLITE_OPEN_MEMORY
 	aMode = uintptr(unsafe.Pointer(&aOpenMode))
 	limit = int32(uint32(mask) & flags)
-	zModeType = ts + 25634
+	zModeType = ts + 25681
 __32:
 	;
 	if !(aMode != 0) {
@@ -161258,7 +161316,7 @@ __36:
 	if !(mode == 0) {
 		goto __38
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+25641, libc.VaList(bp+16, zModeType, zVal))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+25688, libc.VaList(bp+16, zModeType, zVal))
 	rc = SQLITE_ERROR
 	goto parse_uri_out
 __38:
@@ -161266,7 +161324,7 @@ __38:
 	if !(mode&libc.CplInt32(SQLITE_OPEN_MEMORY) > limit) {
 		goto __39
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+25661,
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+25708,
 		libc.VaList(bp+32, zModeType, zVal))
 	rc = SQLITE_PERM
 	goto parse_uri_out
@@ -161306,7 +161364,7 @@ __2:
 	if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) {
 		goto __42
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+25685, libc.VaList(bp+48, zVfs))
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+25732, libc.VaList(bp+48, zVfs))
 	rc = SQLITE_ERROR
 __42:
 	;
@@ -161330,14 +161388,14 @@ type OpenMode = struct {
 }
 
 var aCacheMode = [3]OpenMode{
-	{Fz: ts + 25701, Fmode: SQLITE_OPEN_SHAREDCACHE},
-	{Fz: ts + 25708, Fmode: SQLITE_OPEN_PRIVATECACHE},
+	{Fz: ts + 25748, Fmode: SQLITE_OPEN_SHAREDCACHE},
+	{Fz: ts + 25755, Fmode: SQLITE_OPEN_PRIVATECACHE},
 	{},
 }
 var aOpenMode = [5]OpenMode{
-	{Fz: ts + 25716, Fmode: SQLITE_OPEN_READONLY},
-	{Fz: ts + 25719, Fmode: SQLITE_OPEN_READWRITE},
-	{Fz: ts + 25722, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
+	{Fz: ts + 25763, Fmode: SQLITE_OPEN_READONLY},
+	{Fz: ts + 25766, Fmode: SQLITE_OPEN_READWRITE},
+	{Fz: ts + 25769, Fmode: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE},
 	{Fz: ts + 18731, Fmode: SQLITE_OPEN_MEMORY},
 	{},
 }
@@ -161484,10 +161542,10 @@ __12:
 	createCollation(tls, db, uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)), uint8(SQLITE_UTF16LE), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{binCollFunc})), uintptr(0))
-	createCollation(tls, db, ts+23232, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+23279, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{nocaseCollatingFunc})), uintptr(0))
-	createCollation(tls, db, ts+25726, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	createCollation(tls, db, ts+25773, uint8(SQLITE_UTF8), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 	}{rtrimCollFunc})), uintptr(0))
 	if !((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) {
@@ -161501,7 +161559,7 @@ __15:
 	if !(int32(1)<<(*(*uint32)(unsafe.Pointer(bp + 8))&uint32(7))&0x46 == 0) {
 		goto __16
 	}
-	rc = Xsqlite3MisuseError(tls, 177308)
+	rc = Xsqlite3MisuseError(tls, 177397)
 	goto __17
 __16:
 	rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8, db, bp+16, bp+24)
@@ -161554,7 +161612,7 @@ __22:
 
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = ts + 7793
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).Fsafety_level = U8(SQLITE_DEFAULT_SYNCHRONOUS + 1)
-	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 24721
+	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).FzDbSName = ts + 24768
 	(*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + 1*32)).Fsafety_level = U8(PAGER_SYNCHRONOUS_OFF)
 
 	(*Sqlite3)(unsafe.Pointer(db)).FeOpenState = U8(SQLITE_STATE_OPEN)
@@ -161659,7 +161717,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 {
 		return rc
 	}
 	if zFilename == uintptr(0) {
-		zFilename = ts + 25732
+		zFilename = ts + 25779
 	}
 	pVal = Xsqlite3ValueNew(tls, uintptr(0))
 	Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0))
@@ -161762,21 +161820,21 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr)
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	Xsqlite3_log(tls, iErr, ts+25735,
+	Xsqlite3_log(tls, iErr, ts+25782,
 		libc.VaList(bp, zType, lineno, uintptr(20)+Xsqlite3_sourceid(tls)))
 	return iErr
 }
 
 func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+25760)
+	return Xsqlite3ReportError(tls, SQLITE_CORRUPT, lineno, ts+25807)
 }
 
 func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+25780)
+	return Xsqlite3ReportError(tls, SQLITE_MISUSE, lineno, ts+25827)
 }
 
 func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 {
-	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+25787)
+	return Xsqlite3ReportError(tls, SQLITE_CANTOPEN, lineno, ts+25834)
 }
 
 // This is a convenience routine that makes sure that all thread-specific
@@ -161934,7 +161992,7 @@ __19:
 		goto __20
 	}
 	Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24)))
-	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+25804, libc.VaList(bp, zTableName,
+	*(*uintptr)(unsafe.Pointer(bp + 24)) = Xsqlite3MPrintf(tls, db, ts+25851, libc.VaList(bp, zTableName,
 		zColumnName))
 	rc = SQLITE_ERROR
 __20:
@@ -162590,7 +162648,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 {
 
 	azCompileOpt = Xsqlite3CompileOptions(tls, bp)
 
-	if Xsqlite3_strnicmp(tls, zOptName, ts+25832, 7) == 0 {
+	if Xsqlite3_strnicmp(tls, zOptName, ts+25879, 7) == 0 {
 		zOptName += uintptr(7)
 	}
 	n = Xsqlite3Strlen30(tls, zOptName)
@@ -162708,7 +162766,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin
 
 	Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr {
 		if rc != 0 {
-			return ts + 25840
+			return ts + 25887
 		}
 		return uintptr(0)
 	}(), 0)
@@ -162886,7 +162944,7 @@ type JsonParse1 = struct {
 type JsonParse = JsonParse1
 
 var jsonType = [8]uintptr{
-	ts + 7533, ts + 8116, ts + 8121, ts + 7543, ts + 7538, ts + 9357, ts + 25863, ts + 25869,
+	ts + 7533, ts + 9046, ts + 9051, ts + 7543, ts + 7538, ts + 9357, ts + 25910, ts + 25916,
 }
 
 func jsonZero(tls *libc.TLS, p uintptr) {
@@ -163039,7 +163097,7 @@ __10:
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0')
 	*(*int8)(unsafe.Pointer((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr(libc.PostIncUint64(&(*JsonString)(unsafe.Pointer(p)).FnUsed, 1)))) = int8('0' + int32(c)>>4)
-	c = uint8(*(*int8)(unsafe.Pointer(ts + 25876 + uintptr(int32(c)&0xf))))
+	c = uint8(*(*int8)(unsafe.Pointer(ts + 25923 + uintptr(int32(c)&0xf))))
 __8:
 	;
 __6:
@@ -163094,7 +163152,7 @@ func jsonAppendValue(tls *libc.TLS, p uintptr, pValue uintptr) {
 	default:
 		{
 			if int32((*JsonString)(unsafe.Pointer(p)).FbErr) == 0 {
-				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+25893, -1)
+				Xsqlite3_result_error(tls, (*JsonString)(unsafe.Pointer(p)).FpCtx, ts+25940, -1)
 				(*JsonString)(unsafe.Pointer(p)).FbErr = U8(2)
 				jsonReset(tls, p)
 			}
@@ -163158,13 +163216,13 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr
 		}
 	case JSON_TRUE:
 		{
-			jsonAppendRaw(tls, pOut, ts+8116, uint32(4))
+			jsonAppendRaw(tls, pOut, ts+9046, uint32(4))
 			break
 
 		}
 	case JSON_FALSE:
 		{
-			jsonAppendRaw(tls, pOut, ts+8121, uint32(5))
+			jsonAppendRaw(tls, pOut, ts+9051, uint32(5))
 			break
 
 		}
@@ -163714,12 +163772,12 @@ func jsonParseValue(tls *libc.TLS, pParse uintptr, i U32) int32 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_NULL), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 't' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+8116, uint64(4)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+9046, uint64(4)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(4)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_TRUE), uint32(0), uintptr(0))
 		return int32(i + U32(4))
 	} else if int32(c) == 'f' &&
-		libc.Xstrncmp(tls, z+uintptr(i), ts+8121, uint64(5)) == 0 &&
+		libc.Xstrncmp(tls, z+uintptr(i), ts+9051, uint64(5)) == 0 &&
 		!(int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(i+U32(5)))))])&0x06 != 0) {
 		jsonParseAddNode(tls, pParse, uint32(JSON_FALSE), uint32(0), uintptr(0))
 		return int32(i + U32(5))
@@ -163820,7 +163878,7 @@ func jsonParse(tls *libc.TLS, pParse uintptr, pCtx uintptr, zJson uintptr) int32
 			if (*JsonParse)(unsafe.Pointer(pParse)).Foom != 0 {
 				Xsqlite3_result_error_nomem(tls, pCtx)
 			} else {
-				Xsqlite3_result_error(tls, pCtx, ts+25922, -1)
+				Xsqlite3_result_error(tls, pCtx, ts+25969, -1)
 			}
 		}
 		jsonParseReset(tls, pParse)
@@ -164126,7 +164184,7 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt
 	}
 	if int32(*(*int8)(unsafe.Pointer(zPath))) == '.' {
 		jsonParseAddNode(tls, pParse, uint32(JSON_OBJECT), uint32(0), uintptr(0))
-	} else if libc.Xstrncmp(tls, zPath, ts+25937, uint64(3)) == 0 {
+	} else if libc.Xstrncmp(tls, zPath, ts+25984, uint64(3)) == 0 {
 		jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0))
 	} else {
 		return uintptr(0)
@@ -164141,7 +164199,7 @@ func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	return Xsqlite3_mprintf(tls, ts+25941, libc.VaList(bp, zErr))
+	return Xsqlite3_mprintf(tls, ts+25988, libc.VaList(bp, zErr))
 }
 
 func jsonLookup(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintptr, pCtx uintptr) uintptr {
@@ -164195,7 +164253,7 @@ func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) {
 	bp := tls.Alloc(8)
 	defer tls.Free(8)
 
-	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+25967,
+	var zMsg uintptr = Xsqlite3_mprintf(tls, ts+26014,
 		libc.VaList(bp, zFuncName))
 	Xsqlite3_result_error(tls, pCtx, zMsg, -1)
 	Xsqlite3_free(tls, zMsg)
@@ -164300,11 +164358,11 @@ func jsonExtractFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 			if int32(*(*int8)(unsafe.Pointer(zPath))) != '$' {
 				jsonInit(tls, bp, ctx)
 				if int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zPath)))])&0x04 != 0 {
-					jsonAppendRaw(tls, bp, ts+26010, uint32(2))
+					jsonAppendRaw(tls, bp, ts+26057, uint32(2))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendRaw(tls, bp, ts+6350, uint32(2))
 				} else {
-					jsonAppendRaw(tls, bp, ts+26013, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
+					jsonAppendRaw(tls, bp, ts+26060, uint32(1+libc.Bool32(int32(*(*int8)(unsafe.Pointer(zPath))) != '[')))
 					jsonAppendRaw(tls, bp, zPath, uint32(int32(libc.Xstrlen(tls, zPath))))
 					jsonAppendChar(tls, bp, int8(0))
 				}
@@ -164461,14 +164519,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) {
 
 	if argc&1 != 0 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+26016, -1)
+			ts+26063, -1)
 		return
 	}
 	jsonInit(tls, bp, ctx)
 	jsonAppendChar(tls, bp, int8('{'))
 	for i = 0; i < argc; i = i + 2 {
 		if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != SQLITE_TEXT {
-			Xsqlite3_result_error(tls, ctx, ts+26067, -1)
+			Xsqlite3_result_error(tls, ctx, ts+26114, -1)
 			jsonReset(tls, bp)
 			return
 		}
@@ -164638,9 +164696,9 @@ __1:
 	}
 	jsonWrongNumArgs(tls, ctx, func() uintptr {
 		if bIsSet != 0 {
-			return ts + 26101
+			return ts + 26148
 		}
-		return ts + 26105
+		return ts + 26152
 	}())
 	return
 __2:
@@ -164773,7 +164831,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+26112, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+26159, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -164870,7 +164928,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) {
 			(*JsonString)(unsafe.Pointer(pStr)).FnUsed--
 		}
 	} else {
-		Xsqlite3_result_text(tls, ctx, ts+26115, 2, uintptr(0))
+		Xsqlite3_result_text(tls, ctx, ts+26162, 2, uintptr(0))
 	}
 	Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE))
 }
@@ -164914,7 +164972,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u
 	_ = argc
 	_ = pAux
 	rc = Xsqlite3_declare_vtab(tls, db,
-		ts+26118)
+		ts+26165)
 	if rc == SQLITE_OK {
 		pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{}))))
 		if pNew == uintptr(0) {
@@ -165045,7 +165103,7 @@ func jsonAppendObjectPathElement(tls *libc.TLS, pStr uintptr, pNode uintptr) {
 			nn = nn - 2
 		}
 	}
-	jsonPrintf(tls, nn+2, pStr, ts+26201, libc.VaList(bp, nn, z))
+	jsonPrintf(tls, nn+2, pStr, ts+26248, libc.VaList(bp, nn, z))
 }
 
 func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
@@ -165064,7 +165122,7 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) {
 	pNode = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(i)*16
 	pUp = (*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr(iUp)*16
 	if int32((*JsonNode)(unsafe.Pointer(pUp)).FeType) == JSON_ARRAY {
-		jsonPrintf(tls, 30, pStr, ts+26207, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
+		jsonPrintf(tls, 30, pStr, ts+26254, libc.VaList(bp, *(*U32)(unsafe.Pointer(pUp + 8))))
 	} else {
 		if int32((*JsonNode)(unsafe.Pointer(pNode)).FjnFlags)&JNODE_LABEL == 0 {
 			pNode -= 16
@@ -165160,7 +165218,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 					jsonAppendChar(tls, bp+8, int8('$'))
 				}
 				if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY {
-					jsonPrintf(tls, 30, bp+8, ts+26207, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
+					jsonPrintf(tls, 30, bp+8, ts+26254, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid))
 				} else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT {
 					jsonAppendObjectPathElement(tls, bp+8, pThis)
 				}
@@ -165184,7 +165242,7 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 		{
 			var zRoot uintptr = (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot
 			if zRoot == uintptr(0) {
-				zRoot = ts + 26212
+				zRoot = ts + 26259
 			}
 			Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0))
 			break
@@ -165306,7 +165364,7 @@ func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, ar
 		var rc int32 = SQLITE_NOMEM
 		if int32((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.Foom) == 0 {
 			Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg)
-			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+25922, 0)
+			(*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+25969, 0)
 			if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 {
 				rc = SQLITE_ERROR
 			}
@@ -165401,25 +165459,25 @@ func Xsqlite3RegisterJsonFunctions(tls *libc.TLS) {
 }
 
 var aJsonFunc = [19]FuncDef{
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26214},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26219},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26230},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26230},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26248},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 26261},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 26264},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26268},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26280},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26292},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26303},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26314},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26326},
-	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 26339},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26348},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26348},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26358},
-	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 26369},
-	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 26386}}
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26261},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26266},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26277},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26277},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26295},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_JSON)), FxSFunc: 0, FzName: ts + 26308},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_SQL)), FxSFunc: 0, FzName: ts + 26311},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26315},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26327},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26339},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26350},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26361},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26373},
+	{FnArg: int8(-1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FpUserData: uintptr(int64(JSON_ISSET)), FxSFunc: 0, FzName: ts + 26386},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26395},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26395},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_DETERMINISTIC | SQLITE_FUNC_CONSTANT | SQLITE_UTF8), FxSFunc: 0, FzName: ts + 26405},
+	{FnArg: int8(1), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 26416},
+	{FnArg: int8(2), FfuncFlags: U32(SQLITE_FUNC_BUILTIN | SQLITE_UTF8 | 0*SQLITE_FUNC_NEEDCOLL | SQLITE_SUBTYPE | SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 26433}}
 
 // Register the JSON table-valued functions
 func Xsqlite3JsonTableFunctions(tls *libc.TLS, db uintptr) int32 {
@@ -165438,8 +165496,8 @@ var aMod = [2]struct {
 	FzName   uintptr
 	FpModule uintptr
 }{
-	{FzName: ts + 26404, FpModule: 0},
-	{FzName: ts + 26414, FpModule: 0},
+	{FzName: ts + 26451, FpModule: 0},
+	{FzName: ts + 26461, FpModule: 0},
 }
 
 type Rtree1 = struct {
@@ -165699,11 +165757,11 @@ func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNo
 		}
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FpNodeBlob == uintptr(0) {
-		var zTab uintptr = Xsqlite3_mprintf(tls, ts+26424, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+		var zTab uintptr = Xsqlite3_mprintf(tls, ts+26471, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		if zTab == uintptr(0) {
 			return SQLITE_NOMEM
 		}
-		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+26432, iNode, 0,
+		rc = Xsqlite3_blob_open(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, zTab, ts+26479, iNode, 0,
 			pRtree+112)
 		Xsqlite3_free(tls, zTab)
 	}
@@ -165914,7 +165972,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32
 	var zCreate uintptr = Xsqlite3_mprintf(tls,
-		ts+26437,
+		ts+26484,
 		libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName,
 			(*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
@@ -166612,7 +166670,7 @@ func deserializeGeometry(tls *libc.TLS, pValue uintptr, pCons uintptr) int32 {
 	var pSrc uintptr
 	var pInfo uintptr
 
-	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+26519)
+	pSrc = Xsqlite3_value_pointer(tls, pValue, ts+26566)
 	if pSrc == uintptr(0) {
 		return SQLITE_ERROR
 	}
@@ -167953,7 +168011,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+26533, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
+	zSql = Xsqlite3_mprintf(tls, ts+26580, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 	if zSql != 0 {
 		rc = Xsqlite3_prepare_v2(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -1, bp+56, uintptr(0))
 	} else {
@@ -167965,12 +168023,12 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 {
 		if iCol == 0 {
 			var zCol uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 0)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+26553, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
+				ts+26600, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol))
 		} else {
 			var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol)
 			var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), iCol+1)
 			(*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+26585, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
+				ts+26632, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2))
 		}
 	}
 
@@ -168196,7 +168254,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 {
 	var pRtree uintptr = pVtab
 	var rc int32 = SQLITE_NOMEM
 	var zSql uintptr = Xsqlite3_mprintf(tls,
-		ts+26622, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
+		ts+26669, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zNewName))
 	if zSql != 0 {
 		nodeBlobReset(tls, pRtree)
 		rc = Xsqlite3_exec(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0))
@@ -168219,7 +168277,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 {
 	bp := tls.Alloc(24)
 	defer tls.Free(24)
 
-	var zFmt uintptr = ts + 26767
+	var zFmt uintptr = ts + 26814
 	var zSql uintptr
 
 	var rc int32
@@ -168267,7 +168325,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName1 = [3]uintptr{
-	ts + 26823, ts + 6412, ts + 17625,
+	ts + 26870, ts + 6412, ts + 17625,
 }
 
 var rtreeModule = Sqlite3_module{
@@ -168310,19 +168368,19 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		var p uintptr = Xsqlite3_str_new(tls, db)
 		var ii int32
 		Xsqlite3_str_appendf(tls, p,
-			ts+26828,
+			ts+26875,
 			libc.VaList(bp, zDb, zPrefix))
 		for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
-			Xsqlite3_str_appendf(tls, p, ts+26890, libc.VaList(bp+16, ii))
+			Xsqlite3_str_appendf(tls, p, ts+26937, libc.VaList(bp+16, ii))
 		}
 		Xsqlite3_str_appendf(tls, p,
-			ts+26895,
+			ts+26942,
 			libc.VaList(bp+24, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+26959,
+			ts+27006,
 			libc.VaList(bp+40, zDb, zPrefix))
 		Xsqlite3_str_appendf(tls, p,
-			ts+27029,
+			ts+27076,
 			libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize))
 		zCreate = Xsqlite3_str_finish(tls, p)
 		if !(zCreate != 0) {
@@ -168351,7 +168409,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 		if i != 3 || int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) == 0 {
 			zFormat = azSql[i]
 		} else {
-			zFormat = ts + 27078
+			zFormat = ts + 27125
 		}
 		zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix))
 		if zSql != 0 {
@@ -168363,7 +168421,7 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 	}
 	if (*Rtree)(unsafe.Pointer(pRtree)).FnAux != 0 {
 		(*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls,
-			ts+27186,
+			ts+27233,
 			libc.VaList(bp+96, zDb, zPrefix))
 		if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -168371,18 +168429,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 			var p uintptr = Xsqlite3_str_new(tls, db)
 			var ii int32
 			var zSql uintptr
-			Xsqlite3_str_appendf(tls, p, ts+27231, libc.VaList(bp+112, zDb, zPrefix))
+			Xsqlite3_str_appendf(tls, p, ts+27278, libc.VaList(bp+112, zDb, zPrefix))
 			for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ {
 				if ii != 0 {
 					Xsqlite3_str_append(tls, p, ts+14119, 1)
 				}
 				if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) {
-					Xsqlite3_str_appendf(tls, p, ts+27258, libc.VaList(bp+128, ii, ii+2, ii))
+					Xsqlite3_str_appendf(tls, p, ts+27305, libc.VaList(bp+128, ii, ii+2, ii))
 				} else {
-					Xsqlite3_str_appendf(tls, p, ts+27280, libc.VaList(bp+152, ii, ii+2))
+					Xsqlite3_str_appendf(tls, p, ts+27327, libc.VaList(bp+152, ii, ii+2))
 				}
 			}
-			Xsqlite3_str_appendf(tls, p, ts+27288, 0)
+			Xsqlite3_str_appendf(tls, p, ts+27335, 0)
 			zSql = Xsqlite3_str_finish(tls, p)
 			if zSql == uintptr(0) {
 				rc = SQLITE_NOMEM
@@ -168397,14 +168455,14 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi
 }
 
 var azSql = [8]uintptr{
-	ts + 27304,
-	ts + 27357,
-	ts + 27402,
-	ts + 27454,
-	ts + 27508,
-	ts + 27553,
-	ts + 27611,
-	ts + 27666,
+	ts + 27351,
+	ts + 27404,
+	ts + 27449,
+	ts + 27501,
+	ts + 27555,
+	ts + 27600,
+	ts + 27658,
+	ts + 27713,
 }
 
 func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int32 {
@@ -168433,7 +168491,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 	var zSql uintptr
 	if isCreate != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = 0
-		zSql = Xsqlite3_mprintf(tls, ts+27713, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
+		zSql = Xsqlite3_mprintf(tls, ts+27760, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb))
 		rc = getIntFromStmt(tls, db, zSql, bp+48)
 		if rc == SQLITE_OK {
 			(*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = *(*int32)(unsafe.Pointer(bp + 48)) - 64
@@ -168445,7 +168503,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		}
 	} else {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+27733,
+			ts+27780,
 			libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		rc = getIntFromStmt(tls, db, zSql, pRtree+32)
 		if rc != SQLITE_OK {
@@ -168453,7 +168511,7 @@ func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzEr
 		} else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < 512-64 {
 			rc = SQLITE_CORRUPT | int32(1)<<8
 
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+27790,
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+27837,
 				libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName))
 		}
 	}
@@ -168495,10 +168553,10 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr
 	ii = 4
 	*(*[5]uintptr)(unsafe.Pointer(bp + 96)) = [5]uintptr{
 		uintptr(0),
-		ts + 27825,
-		ts + 27868,
-		ts + 27903,
-		ts + 27939,
+		ts + 27872,
+		ts + 27915,
+		ts + 27950,
+		ts + 27986,
 	}
 
 	if !(argc < 6 || argc > RTREE_MAX_AUX_COLUMN+3) {
@@ -168529,7 +168587,7 @@ __2:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+27976,
+	Xsqlite3_str_appendf(tls, pSql, ts+28023,
 		libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8))))
 	ii = 4
 __3:
@@ -168541,7 +168599,7 @@ __3:
 		goto __6
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+28000, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
+	Xsqlite3_str_appendf(tls, pSql, ts+28047, libc.VaList(bp+32, rtreeTokenLength(tls, zArg+uintptr(1)), zArg+uintptr(1)))
 	goto __7
 __6:
 	if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) {
@@ -168564,7 +168622,7 @@ __4:
 	goto __5
 __5:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+28006, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+28053, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __10
@@ -168660,7 +168718,7 @@ __25:
 	return rc
 }
 
-var azFormat = [2]uintptr{ts + 28009, ts + 28020}
+var azFormat = [2]uintptr{ts + 28056, ts + 28067}
 
 func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	bp := tls.Alloc(1072)
@@ -168700,11 +168758,11 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 		if ii > 0 {
 			Xsqlite3_str_append(tls, pOut, ts+12272, 1)
 		}
-		Xsqlite3_str_appendf(tls, pOut, ts+28030, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
+		Xsqlite3_str_appendf(tls, pOut, ts+28077, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024)).FiRowid))
 		for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+56)).FnDim2); jj++ {
-			Xsqlite3_str_appendf(tls, pOut, ts+28036, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
+			Xsqlite3_str_appendf(tls, pOut, ts+28083, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer(bp + 1024 + 8 + uintptr(jj)*4)))))
 		}
-		Xsqlite3_str_append(tls, pOut, ts+28040, 1)
+		Xsqlite3_str_append(tls, pOut, ts+28087, 1)
 	}
 	errCode = Xsqlite3_str_errcode(tls, pOut)
 	Xsqlite3_result_text(tls, ctx, Xsqlite3_str_finish(tls, pOut), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
@@ -168715,7 +168773,7 @@ func rtreedepth(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 	_ = nArg
 	if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_BLOB ||
 		Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg))) < 2 {
-		Xsqlite3_result_error(tls, ctx, ts+28042, -1)
+		Xsqlite3_result_error(tls, ctx, ts+28089, -1)
 	} else {
 		var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg)))
 		if zBlob != 0 {
@@ -168793,7 +168851,7 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr
 		if z == uintptr(0) {
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM
 		} else {
-			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+28075,
+			(*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+28122,
 				libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport, func() uintptr {
 					if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport != 0 {
 						return ts + 5414
@@ -168817,7 +168875,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode == uintptr(0) {
 		(*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode = rtreeCheckPrepare(tls, pCheck,
-			ts+28082,
+			ts+28129,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab))
 	}
 
@@ -168836,7 +168894,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr)
 		}
 		rtreeCheckReset(tls, pCheck, (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode)
 		if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK && pRet == uintptr(0) {
-			rtreeCheckAppendMsg(tls, pCheck, ts+28127, libc.VaList(bp+16, iNode))
+			rtreeCheckAppendMsg(tls, pCheck, ts+28174, libc.VaList(bp+16, iNode))
 		}
 	}
 
@@ -168850,8 +168908,8 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	var rc int32
 	var pStmt uintptr
 	*(*[2]uintptr)(unsafe.Pointer(bp + 80)) = [2]uintptr{
-		ts + 28159,
-		ts + 28213,
+		ts + 28206,
+		ts + 28260,
 	}
 
 	if *(*uintptr)(unsafe.Pointer(pCheck + 40 + uintptr(bLeaf)*8)) == uintptr(0) {
@@ -168866,23 +168924,23 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa
 	Xsqlite3_bind_int64(tls, pStmt, 1, iKey)
 	rc = Xsqlite3_step(tls, pStmt)
 	if rc == SQLITE_DONE {
-		rtreeCheckAppendMsg(tls, pCheck, ts+28261,
+		rtreeCheckAppendMsg(tls, pCheck, ts+28308,
 			libc.VaList(bp+16, iKey, iVal, func() uintptr {
 				if bLeaf != 0 {
-					return ts + 28306
+					return ts + 28353
 				}
-				return ts + 28314
+				return ts + 28361
 			}()))
 	} else if rc == SQLITE_ROW {
 		var ii I64 = Xsqlite3_column_int64(tls, pStmt, 0)
 		if ii != iVal {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+28323,
+				ts+28370,
 				libc.VaList(bp+40, iKey, ii, func() uintptr {
 					if bLeaf != 0 {
-						return ts + 28306
+						return ts + 28353
 					}
-					return ts + 28314
+					return ts + 28361
 				}(), iKey, iVal))
 		}
 	}
@@ -168906,7 +168964,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 			return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48)) > *(*RtreeValue)(unsafe.Pointer(bp + 52)))
 		}() != 0 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+28381, libc.VaList(bp, i, iCell, iNode))
+				ts+28428, libc.VaList(bp, i, iCell, iNode))
 		}
 
 		if pParent != 0 {
@@ -168926,7 +168984,7 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32,
 					return libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52)) > *(*RtreeValue)(unsafe.Pointer(bp + 60)))
 				}() != 0 {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+28429, libc.VaList(bp+24, i, iCell, iNode))
+					ts+28476, libc.VaList(bp+24, i, iCell, iNode))
 			}
 		}
 	}
@@ -168943,14 +169001,14 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 	if aNode != 0 {
 		if *(*int32)(unsafe.Pointer(bp + 48)) < 4 {
 			rtreeCheckAppendMsg(tls, pCheck,
-				ts+28496, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
+				ts+28543, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48))))
 		} else {
 			var nCell int32
 			var i int32
 			if aParent == uintptr(0) {
 				iDepth = readInt16(tls, aNode)
 				if iDepth > RTREE_MAX_DEPTH {
-					rtreeCheckAppendMsg(tls, pCheck, ts+28530, libc.VaList(bp+16, iDepth))
+					rtreeCheckAppendMsg(tls, pCheck, ts+28577, libc.VaList(bp+16, iDepth))
 					Xsqlite3_free(tls, aNode)
 					return
 				}
@@ -168958,7 +169016,7 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr
 			nCell = readInt16(tls, aNode+2)
 			if 4+nCell*(8+(*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim*2*4) > *(*int32)(unsafe.Pointer(bp + 48)) {
 				rtreeCheckAppendMsg(tls, pCheck,
-					ts+28560,
+					ts+28607,
 					libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48))))
 			} else {
 				for i = 0; i < nCell; i++ {
@@ -168987,14 +169045,14 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) {
 
 	if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK {
 		var pCount uintptr
-		pCount = rtreeCheckPrepare(tls, pCheck, ts+28615,
+		pCount = rtreeCheckPrepare(tls, pCheck, ts+28662,
 			libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab, zTbl))
 		if pCount != 0 {
 			if Xsqlite3_step(tls, pCount) == SQLITE_ROW {
 				var nActual I64 = Xsqlite3_column_int64(tls, pCount, 0)
 				if nActual != nExpect {
 					rtreeCheckAppendMsg(tls, pCheck,
-						ts+28646, libc.VaList(bp+24, zTbl, nExpect, nActual))
+						ts+28693, libc.VaList(bp+24, zTbl, nExpect, nActual))
 				}
 			}
 			(*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount)
@@ -169021,7 +169079,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	}
 
 	if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
-		pStmt = rtreeCheckPrepare(tls, bp+32, ts+28713, libc.VaList(bp, zDb, zTab))
+		pStmt = rtreeCheckPrepare(tls, bp+32, ts+28760, libc.VaList(bp, zDb, zTab))
 		if pStmt != 0 {
 			nAux = Xsqlite3_column_count(tls, pStmt) - 2
 			Xsqlite3_finalize(tls, pStmt)
@@ -169030,12 +169088,12 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		}
 	}
 
-	pStmt = rtreeCheckPrepare(tls, bp+32, ts+26533, libc.VaList(bp+16, zDb, zTab))
+	pStmt = rtreeCheckPrepare(tls, bp+32, ts+26580, libc.VaList(bp+16, zDb, zTab))
 	if pStmt != 0 {
 		var rc int32
 		(*RtreeCheck)(unsafe.Pointer(bp + 32)).FnDim = (Xsqlite3_column_count(tls, pStmt) - 1 - nAux) / 2
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).FnDim < 1 {
-			rtreeCheckAppendMsg(tls, bp+32, ts+28741, 0)
+			rtreeCheckAppendMsg(tls, bp+32, ts+28788, 0)
 		} else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).FbInt = libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)
 		}
@@ -169049,8 +169107,8 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			rtreeCheckNode(tls, bp+32, 0, uintptr(0), int64(1))
 		}
-		rtreeCheckCount(tls, bp+32, ts+28772, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
-		rtreeCheckCount(tls, bp+32, ts+28779, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
+		rtreeCheckCount(tls, bp+32, ts+28819, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnLeaf))
+		rtreeCheckCount(tls, bp+32, ts+28826, int64((*RtreeCheck)(unsafe.Pointer(bp+32)).FnNonLeaf))
 	}
 
 	Xsqlite3_finalize(tls, (*RtreeCheck)(unsafe.Pointer(bp+32)).FpGetNode)
@@ -169058,7 +169116,7 @@ func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzRep
 	Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 + 40 + 1*8)))
 
 	if bEnd != 0 {
-		var rc int32 = Xsqlite3_exec(tls, db, ts+28787, uintptr(0), uintptr(0), uintptr(0))
+		var rc int32 = Xsqlite3_exec(tls, db, ts+28834, uintptr(0), uintptr(0), uintptr(0))
 		if (*RtreeCheck)(unsafe.Pointer(bp+32)).Frc == SQLITE_OK {
 			(*RtreeCheck)(unsafe.Pointer(bp + 32)).Frc = rc
 		}
@@ -169073,7 +169131,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 
 	if nArg != 1 && nArg != 2 {
 		Xsqlite3_result_error(tls, ctx,
-			ts+28791, -1)
+			ts+28838, -1)
 	} else {
 		var rc int32
 		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
@@ -169091,7 +169149,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
 				if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
 					return *(*uintptr)(unsafe.Pointer(bp))
 				}
-				return ts + 19381
+				return ts + 19428
 			}(), -1, libc.UintptrFromInt32(-1))
 		} else {
 			Xsqlite3_result_error_code(tls, ctx, rc)
@@ -169462,11 +169520,11 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var db uintptr = Xsqlite3_context_db_handle(tls, context)
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
-		Xsqlite3_str_append(tls, x, ts+28842, 1)
+		Xsqlite3_str_append(tls, x, ts+28889, 1)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+28844, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+28891, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 		}
-		Xsqlite3_str_appendf(tls, x, ts+28855, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+28902, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -169486,19 +169544,19 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 		var x uintptr = Xsqlite3_str_new(tls, db)
 		var i int32
 		var cSep int8 = int8('\'')
-		Xsqlite3_str_appendf(tls, x, ts+28866, 0)
+		Xsqlite3_str_appendf(tls, x, ts+28913, 0)
 		for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ {
-			Xsqlite3_str_appendf(tls, x, ts+28884, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
+			Xsqlite3_str_appendf(tls, x, ts+28931, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2)*4))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + uintptr(i*2+1)*4)))))
 			cSep = int8(' ')
 		}
-		Xsqlite3_str_appendf(tls, x, ts+28892, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
+		Xsqlite3_str_appendf(tls, x, ts+28939, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer(p + 8))), float64(*(*GeoCoord)(unsafe.Pointer(p + 8 + 1*4)))))
 		for i = 1; i < argc; i++ {
 			var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 			if z != 0 && *(*int8)(unsafe.Pointer(z)) != 0 {
-				Xsqlite3_str_appendf(tls, x, ts+28900, libc.VaList(bp+40, z))
+				Xsqlite3_str_appendf(tls, x, ts+28947, libc.VaList(bp+40, z))
 			}
 		}
-		Xsqlite3_str_appendf(tls, x, ts+28904, 0)
+		Xsqlite3_str_appendf(tls, x, ts+28951, 0)
 		Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		Xsqlite3_free(tls, p)
 	}
@@ -170418,7 +170476,7 @@ __1:
 	libc.Xmemcpy(tls, (*Rtree)(unsafe.Pointer(pRtree)).FzName, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nName))
 
 	pSql = Xsqlite3_str_new(tls, db)
-	Xsqlite3_str_appendf(tls, pSql, ts+28917, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+28964, 0)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux = U8(1)
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull = U8(1)
 	ii = 3
@@ -170427,7 +170485,7 @@ __2:
 		goto __4
 	}
 	(*Rtree)(unsafe.Pointer(pRtree)).FnAux++
-	Xsqlite3_str_appendf(tls, pSql, ts+28939, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
+	Xsqlite3_str_appendf(tls, pSql, ts+28986, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8))))
 	goto __3
 __3:
 	ii++
@@ -170435,7 +170493,7 @@ __3:
 	goto __4
 __4:
 	;
-	Xsqlite3_str_appendf(tls, pSql, ts+28006, 0)
+	Xsqlite3_str_appendf(tls, pSql, ts+28053, 0)
 	zSql = Xsqlite3_str_finish(tls, pSql)
 	if !!(zSql != 0) {
 		goto __5
@@ -170672,7 +170730,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 	}
 	if iFuncTerm >= 0 {
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum
-		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 28943
+		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 28990
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).FargvIndex = 1
 		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iFuncTerm)*8)).Fomit = uint8(0)
 		(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 300.0
@@ -170680,7 +170738,7 @@ func geopolyBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 		return SQLITE_OK
 	}
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 4
-	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 28949
+	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = ts + 28996
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0
 	(*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000)
 	return SQLITE_OK
@@ -170792,7 +170850,7 @@ __1:
 	if !(*(*int32)(unsafe.Pointer(bp + 48)) == SQLITE_ERROR) {
 		goto __4
 	}
-	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+28958, 0)
+	(*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+29005, 0)
 __4:
 	;
 	goto geopoly_update_end
@@ -170924,14 +170982,14 @@ geopoly_update_end:
 func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) int32 {
 	_ = pVtab
 	_ = nArg
-	if Xsqlite3_stricmp(tls, zName, ts+28998) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+29045) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyOverlapFunc}))
 		*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
 		return SQLITE_INDEX_CONSTRAINT_FUNCTION
 	}
-	if Xsqlite3_stricmp(tls, zName, ts+29014) == 0 {
+	if Xsqlite3_stricmp(tls, zName, ts+29061) == 0 {
 		*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{geopolyWithinFunc}))
@@ -170996,7 +171054,7 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 {
 			uintptr(0), aAgg[i].FxStep, aAgg[i].FxFinal)
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_module_v2(tls, db, ts+29029, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+29076, uintptr(unsafe.Pointer(&geopolyModule)), uintptr(0), uintptr(0))
 	}
 	return rc
 }
@@ -171008,25 +171066,25 @@ var aFunc = [12]struct {
 	F__ccgo_pad1 [6]byte
 	FzName       uintptr
 }{
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 29037},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 29050},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 29063},
-	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 29076},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 29014},
-	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 29088},
-	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 28998},
-	{FxFunc: 0, FnArg: int8(1), FzName: ts + 29111},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 29125},
-	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 29138},
-	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 29152},
-	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 29168},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 29084},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 29097},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 29110},
+	{FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 29123},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 29061},
+	{FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 29135},
+	{FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 29045},
+	{FxFunc: 0, FnArg: int8(1), FzName: ts + 29158},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 29172},
+	{FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 29185},
+	{FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 29199},
+	{FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 29215},
 }
 var aAgg = [1]struct {
 	FxStep  uintptr
 	FxFinal uintptr
 	FzName  uintptr
 }{
-	{FxStep: 0, FxFinal: 0, FzName: ts + 29180},
+	{FxStep: 0, FxFinal: 0, FzName: ts + 29227},
 }
 
 // Register the r-tree module with database handle db. This creates the
@@ -171036,26 +171094,26 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 {
 	var utf8 int32 = SQLITE_UTF8
 	var rc int32
 
-	rc = Xsqlite3_create_function(tls, db, ts+29199, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+	rc = Xsqlite3_create_function(tls, db, ts+29246, 2, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 		f func(*libc.TLS, uintptr, int32, uintptr)
 	}{rtreenode})), uintptr(0), uintptr(0))
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+29209, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+29256, 1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreedepth})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_create_function(tls, db, ts+29220, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+		rc = Xsqlite3_create_function(tls, db, ts+29267, -1, utf8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, int32, uintptr)
 		}{rtreecheck})), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_REAL32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+28943, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+28990, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		var c uintptr = uintptr(RTREE_COORD_INT32)
-		rc = Xsqlite3_create_module_v2(tls, db, ts+29231, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+29278, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0))
 	}
 	if rc == SQLITE_OK {
 		rc = sqlite3_geopoly_init(tls, db)
@@ -171109,7 +171167,7 @@ func geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
 			Xsqlite3_result_error_nomem(tls, ctx)
 			rtreeMatchArgFree(tls, pBlob)
 		} else {
-			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+26519, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
+			Xsqlite3_result_pointer(tls, ctx, pBlob, ts+26566, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree})))
 		}
 	}
 }
@@ -171436,7 +171494,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 
 	nOut = rbuDeltaOutputSize(tls, aDelta, nDelta)
 	if nOut < 0 {
-		Xsqlite3_result_error(tls, context, ts+29241, -1)
+		Xsqlite3_result_error(tls, context, ts+29288, -1)
 		return
 	}
 
@@ -171447,7 +171505,7 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr
 		nOut2 = rbuDeltaApply(tls, aOrig, nOrig, aDelta, nDelta, aOut)
 		if nOut2 != nOut {
 			Xsqlite3_free(tls, aOut)
-			Xsqlite3_result_error(tls, context, ts+29241, -1)
+			Xsqlite3_result_error(tls, context, ts+29288, -1)
 		} else {
 			Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free})))
 		}
@@ -171548,7 +171606,7 @@ func rbuObjIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuObjIterClearStatements(tls, pIter)
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) {
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+29262, uintptr(0), uintptr(0), p+64)
+				ts+29309, uintptr(0), uintptr(0), p+64)
 		}
 
 		if rc == SQLITE_OK {
@@ -171612,7 +171670,7 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) {
 				Xsqlite3_result_text(tls, pCtx, zIn, -1, uintptr(0))
 			}
 		} else {
-			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+26432, zIn, uint64(4)) == 0 {
+			if libc.Xstrlen(tls, zIn) > uint64(4) && libc.Xmemcmp(tls, ts+26479, zIn, uint64(4)) == 0 {
 				var i int32
 				for i = 4; int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) >= '0' && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) <= '9'; i++ {
 				}
@@ -171633,16 +171691,16 @@ func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 
 	rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+29433, libc.VaList(bp, func() uintptr {
+			ts+29480, libc.VaList(bp, func() uintptr {
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					return ts + 29583
+					return ts + 29630
 				}
 				return ts + 1544
 			}())))
 
 	if rc == SQLITE_OK {
 		rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+8, p+64,
-			ts+29624)
+			ts+29671)
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1
@@ -171758,7 +171816,7 @@ func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+29749, libc.VaList(bp, zTab)))
+			ts+29796, libc.VaList(bp, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK || Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) != SQLITE_ROW) {
 		goto __1
 	}
@@ -171776,7 +171834,7 @@ __2:
 	*(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), 1)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+1*8, p+64,
-		Xsqlite3_mprintf(tls, ts+29868, libc.VaList(bp+8, zTab)))
+		Xsqlite3_mprintf(tls, ts+29915, libc.VaList(bp+8, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) {
 		goto __3
 	}
@@ -171794,7 +171852,7 @@ __4:
 	}
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+2*8, p+64,
 		Xsqlite3_mprintf(tls,
-			ts+29889, libc.VaList(bp+16, zIdx)))
+			ts+29936, libc.VaList(bp+16, zIdx)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __7
 	}
@@ -171817,7 +171875,7 @@ __6:
 __5:
 	;
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32+3*8, p+64,
-		Xsqlite3_mprintf(tls, ts+29940, libc.VaList(bp+24, zTab)))
+		Xsqlite3_mprintf(tls, ts+29987, libc.VaList(bp+24, zTab)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) {
 		goto __10
 	}
@@ -171863,7 +171921,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		libc.Xmemcpy(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+16, p+64,
-			Xsqlite3_mprintf(tls, ts+29961, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+30008, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 	}
 
 	(*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0
@@ -171878,7 +171936,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) {
 			libc.Xmemset(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0x01, uint64(unsafe.Sizeof(U8(0)))*uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))
 		}
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+29989, libc.VaList(bp+8, zIdx)))
+			Xsqlite3_mprintf(tls, ts+30036, libc.VaList(bp+8, zIdx)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
 			var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 1)
 			if iCid >= 0 {
@@ -171918,7 +171976,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, pIter+72, bp+56, pIter+108)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+20858, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+20905, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
 			return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc
@@ -171928,18 +171986,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 		}
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+64, p+64,
-			Xsqlite3_mprintf(tls, ts+30018, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
+			Xsqlite3_mprintf(tls, ts+30065, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 			rbuAllocateIterArrays(tls, p, pIter, nCol)
 		}
 		for i = 0; (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && i < nCol; i++ {
 			var zName uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), i)
-			if Xsqlite3_strnicmp(tls, ts+30037, zName, 4) != 0 {
+			if Xsqlite3_strnicmp(tls, ts+30084, zName, 4) != 0 {
 				var zCopy uintptr = rbuStrndup(tls, zName, p+56)
 				*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol
 				*(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(libc.PostIncInt32(&(*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol, 1))*8)) = zCopy
-			} else if 0 == Xsqlite3_stricmp(tls, ts+30042, zName) {
+			} else if 0 == Xsqlite3_stricmp(tls, ts+30089, zName) {
 				bRbuRowid = 1
 			}
 		}
@@ -171951,18 +172009,18 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			bRbuRowid != libc.Bool32((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls,
-				ts+30052, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
+				ts+30099, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 					func() uintptr {
 						if bRbuRowid != 0 {
-							return ts + 30081
+							return ts + 30128
 						}
-						return ts + 30094
+						return ts + 30141
 					}()))
 		}
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-				Xsqlite3_mprintf(tls, ts+30103, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				Xsqlite3_mprintf(tls, ts+30150, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		}
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64))) {
 			var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 1)
@@ -171976,7 +172034,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 {
 			}
 			if i == (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30125,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30172,
 					libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName))
 			} else {
 				var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 5)
@@ -172023,7 +172081,7 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var i int32
 	for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 		var z uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-		zList = rbuMPrintf(tls, p, ts+30152, libc.VaList(bp, zList, zSep, z))
+		zList = rbuMPrintf(tls, p, ts+30199, libc.VaList(bp, zList, zSep, z))
 		zSep = ts + 15971
 	}
 	return zList
@@ -172041,7 +172099,7 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr,
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if int32(*(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i)))) == iPk {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zRet = rbuMPrintf(tls, p, ts+30161, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
+				zRet = rbuMPrintf(tls, p, ts+30208, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost))
 				zSep = zSeparator
 				break
 			}
@@ -172063,25 +172121,25 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32,
 	if bRowid != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+30174, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+				ts+30221, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 			var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-			zRet = rbuMPrintf(tls, p, ts+30206, libc.VaList(bp+16, iMax))
+			zRet = rbuMPrintf(tls, p, ts+30253, libc.VaList(bp+16, iMax))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 	} else {
-		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1544, ts+15971, ts+30229)
-		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+30235, ts+30242, ts+6309)
+		var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1544, ts+15971, ts+30276)
+		var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+30282, ts+30289, ts+6309)
 		var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+1544, ts+15971, ts+1544)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72, p+64,
 				Xsqlite3_mprintf(tls,
-					ts+30250,
+					ts+30297,
 					libc.VaList(bp+24, zSelect, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) {
 				var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
-				zRet = rbuMPrintf(tls, p, ts+30292, libc.VaList(bp+56, zList, zVal))
+				zRet = rbuMPrintf(tls, p, ts+30339, libc.VaList(bp+56, zList, zVal))
 			}
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72)))
 		}
@@ -172123,7 +172181,7 @@ func rbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	*(*uintptr)(unsafe.Pointer(bp + 176)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-		Xsqlite3_mprintf(tls, ts+29989, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+		Xsqlite3_mprintf(tls, ts+30036, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 __1:
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176)))) {
 		goto __2
@@ -172158,7 +172216,7 @@ __10:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 	goto __7
 __6:
-	zCol = ts + 30312
+	zCol = ts + 30359
 __7:
 	;
 	goto __5
@@ -172166,11 +172224,11 @@ __4:
 	zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 __5:
 	;
-	zLhs = rbuMPrintf(tls, p, ts+30320,
+	zLhs = rbuMPrintf(tls, p, ts+30367,
 		libc.VaList(bp+8, zLhs, zSep, zCol, zCollate))
-	zOrder = rbuMPrintf(tls, p, ts+30341,
+	zOrder = rbuMPrintf(tls, p, ts+30388,
 		libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate))
-	zSelect = rbuMPrintf(tls, p, ts+30377,
+	zSelect = rbuMPrintf(tls, p, ts+30424,
 		libc.VaList(bp+80, zSelect, zSep, iCol, zCol))
 	zSep = ts + 15971
 	iCol++
@@ -172190,7 +172248,7 @@ __11:
 	*(*uintptr)(unsafe.Pointer(bp + 184)) = uintptr(0)
 
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+184, p+64,
-		Xsqlite3_mprintf(tls, ts+30404,
+		Xsqlite3_mprintf(tls, ts+30451,
 			libc.VaList(bp+112, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder)))
 	if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 184)))) {
 		goto __13
@@ -172217,7 +172275,7 @@ __19:
 	;
 __18:
 	;
-	zVector = rbuMPrintf(tls, p, ts+30452, libc.VaList(bp+136, zVector, zSep, zQuoted))
+	zVector = rbuMPrintf(tls, p, ts+30499, libc.VaList(bp+136, zVector, zSep, zQuoted))
 	zSep = ts + 15971
 	goto __15
 __15:
@@ -172229,7 +172287,7 @@ __16:
 	if !!(bFailed != 0) {
 		goto __20
 	}
-	zRet = rbuMPrintf(tls, p, ts+30459, libc.VaList(bp+160, zLhs, zVector))
+	zRet = rbuMPrintf(tls, p, ts+30506, libc.VaList(bp+160, zLhs, zVector))
 __20:
 	;
 __13:
@@ -172262,7 +172320,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 	if rc == SQLITE_OK {
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200, p+64,
-			Xsqlite3_mprintf(tls, ts+29989, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
+			Xsqlite3_mprintf(tls, ts+30036, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx)))
 	}
 
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200))) {
@@ -172274,7 +172332,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 		if iCid == -2 {
 			var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 0)
-			zRet = Xsqlite3_mprintf(tls, ts+30471, libc.VaList(bp+8, zRet, zCom,
+			zRet = Xsqlite3_mprintf(tls, ts+30518, libc.VaList(bp+8, zRet, zCom,
 				(*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FnSpan, (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FzSpan, zCollate))
 			zType = ts + 1544
 		} else {
@@ -172286,37 +172344,37 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC
 
 					zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
 				} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-					zCol = ts + 30312
+					zCol = ts + 30359
 				} else {
-					zCol = ts + 30042
+					zCol = ts + 30089
 				}
 				zType = ts + 1109
 			} else {
 				zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8))
 				zType = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8))
 			}
-			zRet = Xsqlite3_mprintf(tls, ts+30493, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
+			zRet = Xsqlite3_mprintf(tls, ts+30540, libc.VaList(bp+48, zRet, zCom, zCol, zCollate))
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0 || Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), 5) != 0 {
 			var zOrder uintptr = func() uintptr {
 				if bDesc != 0 {
-					return ts + 30229
+					return ts + 30276
 				}
 				return ts + 1544
 			}()
-			zImpPK = Xsqlite3_mprintf(tls, ts+30513,
+			zImpPK = Xsqlite3_mprintf(tls, ts+30560,
 				libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder))
 		}
-		zImpCols = Xsqlite3_mprintf(tls, ts+30534,
+		zImpCols = Xsqlite3_mprintf(tls, ts+30581,
 			libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate))
 		zWhere = Xsqlite3_mprintf(tls,
-			ts+30567, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
+			ts+30614, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol))
 		if zRet == uintptr(0) || zImpPK == uintptr(0) || zImpCols == uintptr(0) || zWhere == uintptr(0) {
 			rc = SQLITE_NOMEM
 		}
 		zCom = ts + 15971
-		zAnd = ts + 22894
+		zAnd = ts + 22941
 		nBind++
 	}
 
@@ -172355,9 +172413,9 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = Xsqlite3_mprintf(tls, ts+30591, libc.VaList(bp, zList, zS, zObj, zCol))
+				zList = Xsqlite3_mprintf(tls, ts+30638, libc.VaList(bp, zList, zS, zObj, zCol))
 			} else {
-				zList = Xsqlite3_mprintf(tls, ts+30603, libc.VaList(bp+32, zList, zS))
+				zList = Xsqlite3_mprintf(tls, ts+30650, libc.VaList(bp+32, zList, zS))
 			}
 			zS = ts + 15971
 			if zList == uintptr(0) {
@@ -172367,7 +172425,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr)
 		}
 
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-			zList = rbuMPrintf(tls, p, ts+30612, libc.VaList(bp+48, zList, zObj))
+			zList = rbuMPrintf(tls, p, ts+30659, libc.VaList(bp+48, zList, zObj))
 		}
 	}
 	return zList
@@ -172379,18 +172437,18 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	var zList uintptr = uintptr(0)
 	if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-		zList = rbuMPrintf(tls, p, ts+30627, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
+		zList = rbuMPrintf(tls, p, ts+30674, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol+1))
 	} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
 		var zSep uintptr = ts + 1544
 		var i int32
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
-				zList = rbuMPrintf(tls, p, ts+30641, libc.VaList(bp+8, zList, zSep, i, i+1))
-				zSep = ts + 22894
+				zList = rbuMPrintf(tls, p, ts+30688, libc.VaList(bp+8, zList, zSep, i, i+1))
+				zSep = ts + 22941
 			}
 		}
 		zList = rbuMPrintf(tls, p,
-			ts+30653, libc.VaList(bp+40, zList))
+			ts+30700, libc.VaList(bp+40, zList))
 
 	} else {
 		var zSep uintptr = ts + 1544
@@ -172398,8 +172456,8 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 		for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 			if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 {
 				var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8))
-				zList = rbuMPrintf(tls, p, ts+30703, libc.VaList(bp+48, zList, zSep, zCol, i+1))
-				zSep = ts + 22894
+				zList = rbuMPrintf(tls, p, ts+30750, libc.VaList(bp+48, zList, zSep, zCol, i+1))
+				zSep = ts + 22941
 			}
 		}
 	}
@@ -172408,7 +172466,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 func rbuBadControlError(tls *libc.TLS, p uintptr) {
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30716, 0)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30763, 0)
 }
 
 func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr {
@@ -172426,15 +172484,15 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr
 			for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ {
 				var c int8 = *(*int8)(unsafe.Pointer(zMask + uintptr(*(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr(i)*4)))))
 				if int32(c) == 'x' {
-					zList = rbuMPrintf(tls, p, ts+30703,
+					zList = rbuMPrintf(tls, p, ts+30750,
 						libc.VaList(bp, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 15971
 				} else if int32(c) == 'd' {
-					zList = rbuMPrintf(tls, p, ts+30742,
+					zList = rbuMPrintf(tls, p, ts+30789,
 						libc.VaList(bp+32, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 15971
 				} else if int32(c) == 'f' {
-					zList = rbuMPrintf(tls, p, ts+30772,
+					zList = rbuMPrintf(tls, p, ts+30819,
 						libc.VaList(bp+72, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), i+1))
 					zSep = ts + 15971
 				}
@@ -172471,19 +172529,19 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 	var z uintptr = uintptr(0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		var zSep uintptr = ts + 30809
+		var zSep uintptr = ts + 30856
 		*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 		*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56, p+64,
-			Xsqlite3_mprintf(tls, ts+29961, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
+			Xsqlite3_mprintf(tls, ts+30008, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)))
 		for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) {
 			var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 3)
 			if zOrig != 0 && libc.Xstrcmp(tls, zOrig, ts+17513) == 0 {
 				var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 1)
 				if zIdx != 0 {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64, p+64,
-						Xsqlite3_mprintf(tls, ts+29989, libc.VaList(bp+8, zIdx)))
+						Xsqlite3_mprintf(tls, ts+30036, libc.VaList(bp+8, zIdx)))
 				}
 				break
 			}
@@ -172495,15 +172553,15 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 				var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 2)
 				var zDesc uintptr
 				if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 3) != 0 {
-					zDesc = ts + 30229
+					zDesc = ts + 30276
 				} else {
 					zDesc = ts + 1544
 				}
-				z = rbuMPrintf(tls, p, ts+30822, libc.VaList(bp+16, z, zSep, zCol, zDesc))
+				z = rbuMPrintf(tls, p, ts+30869, libc.VaList(bp+16, z, zSep, zCol, zDesc))
 				zSep = ts + 15971
 			}
 		}
-		z = rbuMPrintf(tls, p, ts+30833, libc.VaList(bp+48, z))
+		z = rbuMPrintf(tls, p, ts+30880, libc.VaList(bp+48, z))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
 	return z
@@ -172523,7 +172581,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		var zPk uintptr = uintptr(0)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168, p+64,
-			ts+30837)
+			ts+30884)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168)), 1, tnum)
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168))) {
@@ -172532,7 +172590,7 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 		}
 		if zIdx != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176, p+64,
-				Xsqlite3_mprintf(tls, ts+29989, libc.VaList(bp, zIdx)))
+				Xsqlite3_mprintf(tls, ts+30036, libc.VaList(bp, zIdx)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168)))
 
@@ -172542,23 +172600,23 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) {
 				var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 1)
 				var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 3)
 				var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), 4)
-				zCols = rbuMPrintf(tls, p, ts+30887, libc.VaList(bp+8, zCols, zComma,
+				zCols = rbuMPrintf(tls, p, ts+30934, libc.VaList(bp+8, zCols, zComma,
 					iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate))
-				zPk = rbuMPrintf(tls, p, ts+30909, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
+				zPk = rbuMPrintf(tls, p, ts+30956, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr {
 					if bDesc != 0 {
-						return ts + 30229
+						return ts + 30276
 					}
 					return ts + 1544
 				}()))
 				zComma = ts + 15971
 			}
 		}
-		zCols = rbuMPrintf(tls, p, ts+30919, libc.VaList(bp+80, zCols))
+		zCols = rbuMPrintf(tls, p, ts+30966, libc.VaList(bp+80, zCols))
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176)))
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+7793, 1, tnum))
 		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+30934,
+			ts+30981,
 			libc.VaList(bp+120, zCols, zPk))
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+7793, 0, 0))
 	}
@@ -172584,13 +172642,13 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+7793, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192, uintptr(0), uintptr(0), uintptr(0))
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0 {
-				zPk = ts + 30996
+				zPk = ts + 31043
 			}
-			zSql = rbuMPrintf(tls, p, ts+31009,
+			zSql = rbuMPrintf(tls, p, ts+31056,
 				libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192)),
 					func() uintptr {
 						if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 {
-							return ts + 31036
+							return ts + 31083
 						}
 						return ts + 1544
 					}()))
@@ -172600,16 +172658,16 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) {
 		if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
 			var zPk uintptr = rbuWithoutRowidPK(tls, p, pIter)
 			if zPk != 0 {
-				zSql = rbuMPrintf(tls, p, ts+31046, libc.VaList(bp+88, zSql, zPk))
+				zSql = rbuMPrintf(tls, p, ts+31093, libc.VaList(bp+88, zSql, zPk))
 			}
 		}
 
 		Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+7793, 1, tnum))
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31053,
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31100,
 			libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql,
 				func() uintptr {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID {
-						return ts + 31085
+						return ts + 31132
 					}
 					return ts + 1544
 				}()))
@@ -172626,7 +172684,7 @@ func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollis
 	if zBind != 0 {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 			(*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+152, p+64, Xsqlite3_mprintf(tls,
-				ts+31100,
+				ts+31147,
 				libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind)))
 	}
 }
@@ -172663,7 +172721,7 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr {
 
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(bp + 8)) = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp, p+64,
-			ts+31157)
+			ts+31204)
 	}
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		var rc2 int32
@@ -172768,7 +172826,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 		var zLimit uintptr = uintptr(0)
 
 		if nOffset != 0 {
-			zLimit = Xsqlite3_mprintf(tls, ts+31223, libc.VaList(bp, nOffset))
+			zLimit = Xsqlite3_mprintf(tls, ts+31270, libc.VaList(bp, nOffset))
 			if !(zLimit != 0) {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
 			}
@@ -172791,7 +172849,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+7793, 0, 1))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+7793, 1, tnum))
 			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-				ts+31243,
+				ts+31290,
 				libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600)), *(*uintptr)(unsafe.Pointer(bp + 608))))
 			Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+7793, 0, 0))
 
@@ -172799,13 +172857,13 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, p+64,
-					Xsqlite3_mprintf(tls, ts+31308, libc.VaList(bp+128, zTbl, zBind)))
+					Xsqlite3_mprintf(tls, ts+31355, libc.VaList(bp+128, zTbl, zBind)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, p+64,
-					Xsqlite3_mprintf(tls, ts+31344, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
+					Xsqlite3_mprintf(tls, ts+31391, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616)))))
 			}
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -172821,7 +172879,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					}
 
 					zSql = Xsqlite3_mprintf(tls,
-						ts+31378,
+						ts+31425,
 						libc.VaList(bp+160, zCollist,
 							(*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
@@ -172829,9 +172887,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								if zStart != 0 {
 									return func() uintptr {
 										if zPart != 0 {
-											return ts + 31439
+											return ts + 31486
 										}
-										return ts + 31443
+										return ts + 31490
 									}()
 								}
 								return ts + 1544
@@ -172840,20 +172898,20 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 					Xsqlite3_free(tls, zStart)
 				} else if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+31449,
+						ts+31496,
 						libc.VaList(bp+216, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart, zCollist, zLimit))
 				} else {
 					zSql = Xsqlite3_mprintf(tls,
-						ts+31510,
+						ts+31557,
 						libc.VaList(bp+264, zCollist, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart,
 							zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl,
 							zPart,
 							func() uintptr {
 								if zPart != 0 {
-									return ts + 31439
+									return ts + 31486
 								}
-								return ts + 31443
+								return ts + 31490
 							}(),
 							zCollist, zLimit))
 				}
@@ -172890,16 +172948,16 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB {
 					return ts + 1544
 				}
-				return ts + 31669
+				return ts + 31716
 			}()
 
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+136, pz,
 					Xsqlite3_mprintf(tls,
-						ts+31678,
+						ts+31725,
 						libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr {
 							if bRbuRowid != 0 {
-								return ts + 31714
+								return ts + 31761
 							}
 							return ts + 1544
 						}(), zBindings)))
@@ -172908,32 +172966,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pIter+144, pz,
 					Xsqlite3_mprintf(tls,
-						ts+31724, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
+						ts+31771, libc.VaList(bp+384, zWrite, zTbl, zWhere)))
 			}
 
 			if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 				var zRbuRowid uintptr = ts + 1544
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
-					zRbuRowid = ts + 31752
+					zRbuRowid = ts + 31799
 				}
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-					ts+31764, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
+					ts+31811, libc.VaList(bp+408, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr {
 						if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL {
-							return ts + 31840
+							return ts + 31887
 						}
 						return ts + 1544
 					}(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 
 				rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-					ts+31857,
+					ts+31904,
 					libc.VaList(bp+440, zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zOldlist,
 						zWrite, zTbl, zNewlist))
 
 				if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL || (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE {
 					rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-						ts+32156,
+						ts+32203,
 						libc.VaList(bp+512, zWrite, zTbl, zNewlist))
 				}
 
@@ -172946,9 +173004,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				var zOrder uintptr = uintptr(0)
 				if bRbuRowid != 0 {
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-						zRbuRowid = ts + 32255
+						zRbuRowid = ts + 32302
 					} else {
-						zRbuRowid = ts + 32265
+						zRbuRowid = ts + 32312
 					}
 				}
 
@@ -172961,7 +173019,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 						}
 					}
 					if bRbuRowid != 0 {
-						zOrder = rbuMPrintf(tls, p, ts+30312, 0)
+						zOrder = rbuMPrintf(tls, p, ts+30359, 0)
 					} else {
 						zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+1544, ts+15971, ts+1544)
 					}
@@ -172970,11 +173028,11 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 				if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, pIter+128, pz,
 						Xsqlite3_mprintf(tls,
-							ts+32276,
+							ts+32323,
 							libc.VaList(bp+536, zCollist,
 								func() uintptr {
 									if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-										return ts + 32324
+										return ts + 32371
 									}
 									return ts + 1544
 								}(),
@@ -172987,7 +173045,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32
 								}(),
 								func() uintptr {
 									if zOrder != 0 {
-										return ts + 24228
+										return ts + 24275
 									}
 									return ts + 1544
 								}(), zOrder,
@@ -173055,9 +173113,9 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp
 			var zPrefix uintptr = ts + 1544
 
 			if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB {
-				zPrefix = ts + 31669
+				zPrefix = ts + 31716
 			}
-			zUpdate = Xsqlite3_mprintf(tls, ts+32330,
+			zUpdate = Xsqlite3_mprintf(tls, ts+32377,
 				libc.VaList(bp, zPrefix, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSet, zWhere))
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls,
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, pUp+8, p+64, zUpdate)
@@ -173116,7 +173174,7 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr {
 	}
 
 	*(*int32)(unsafe.Pointer(bp + 16)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8, p+64,
-		Xsqlite3_mprintf(tls, ts+32360, libc.VaList(bp, p+48)))
+		Xsqlite3_mprintf(tls, ts+32407, libc.VaList(bp, p+48)))
 	for *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 		switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0) {
 		case RBU_STATE_STAGE:
@@ -173189,18 +173247,18 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+7793, SQLITE_FCNTL_RBUCNT, p)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState == uintptr(0) {
 			var zFile uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+7793)
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+32390, libc.VaList(bp, zFile, zFile))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+32437, libc.VaList(bp, zFile, zFile))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 {
-		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32418, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
+		rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32465, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState))
 		libc.Xmemcpy(tls, p+48, ts+14829, uint64(4))
 	} else {
 		libc.Xmemcpy(tls, p+48, ts+7793, uint64(4))
 	}
 
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32436, libc.VaList(bp+24, p+48))
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+32483, libc.VaList(bp+24, p+48))
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		var bOpen int32 = 0
@@ -173240,11 +173298,11 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				return
 			}
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32502, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32549, 0)
 		} else {
 			var zTarget uintptr
 			var zExtra uintptr = uintptr(0)
-			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+25575, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
+			if libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu) >= uint64(5) && 0 == libc.Xmemcmp(tls, ts+25622, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, uint64(5)) {
 				zExtra = (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu + 5
 				for *(*int8)(unsafe.Pointer(zExtra)) != 0 {
 					if int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zExtra, 1)))) == '?' {
@@ -173256,13 +173314,13 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 				}
 			}
 
-			zTarget = Xsqlite3_mprintf(tls, ts+32534,
+			zTarget = Xsqlite3_mprintf(tls, ts+32581,
 				libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+7793),
 					func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1544
 						}
-						return ts + 32566
+						return ts + 32613
 					}(), func() uintptr {
 						if zExtra == uintptr(0) {
 							return ts + 1544
@@ -173281,21 +173339,21 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+32568, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+32615, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTmpInsertFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain,
-			ts+32583, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
+			ts+32630, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuFossilDeltaFunc})), uintptr(0), uintptr(0))
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+32600, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+32647, -1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuTargetNameFunc})), uintptr(0), uintptr(0))
 	}
@@ -173303,7 +173361,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+7793, SQLITE_FCNTL_RBU, p)
 	}
-	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32616, 0)
+	rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32663, 0)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+7793, SQLITE_FCNTL_RBU, p)
@@ -173311,7 +173369,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, dbMain uintptr, pbRetry uintptr)
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_NOTFOUND {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32644, 0)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+32691, 0)
 	}
 }
 
@@ -173340,14 +173398,14 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
 	if pState == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = 0
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32616, uintptr(0), uintptr(0), uintptr(0))
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32663, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var rc2 int32
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CAPTURE
-		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32662, uintptr(0), uintptr(0), uintptr(0))
+		rc2 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32709, uintptr(0), uintptr(0), uintptr(0))
 		if rc2 != SQLITE_NOTICE {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 		}
@@ -173473,7 +173531,7 @@ func rbuLockDatabase(tls *libc.TLS, db uintptr) int32 {
 
 func rbuExclusiveCheckpoint(tls *libc.TLS, db uintptr) int32 {
 	var zUri uintptr = Xsqlite3_db_filename(tls, db, uintptr(0))
-	return Xsqlite3_uri_boolean(tls, zUri, ts+32697, 0)
+	return Xsqlite3_uri_boolean(tls, zUri, ts+32744, 0)
 }
 
 func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
@@ -173488,8 +173546,8 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 		zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+7793)
 	}
-	zOal = Xsqlite3_mprintf(tls, ts+32722, libc.VaList(bp, zMove))
-	zWal = Xsqlite3_mprintf(tls, ts+32729, libc.VaList(bp+8, zMove))
+	zOal = Xsqlite3_mprintf(tls, ts+32769, libc.VaList(bp, zMove))
+	zWal = Xsqlite3_mprintf(tls, ts+32776, libc.VaList(bp+8, zMove))
 
 	if zWal == uintptr(0) || zOal == uintptr(0) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
@@ -173606,7 +173664,7 @@ func rbuStepOneOp(tls *libc.TLS, p uintptr, eType int32) {
 			(*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) && (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK && *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 &&
 			Xsqlite3_column_type(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect, i) == SQLITE_NULL {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_MISMATCH
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+25213, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+25260, 0)
 			return
 		}
 
@@ -173699,7 +173757,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 		var iCookie int32 = 1000000
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8, p+64,
-			ts+32736)
+			ts+32783)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 				iCookie = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0)
@@ -173707,7 +173765,7 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) {
 			rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8)))
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32758, libc.VaList(bp, iCookie+1))
+			rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32805, libc.VaList(bp, iCookie+1))
 		}
 	}
 }
@@ -173728,7 +173786,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) {
 
 		rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168, p+64,
 			Xsqlite3_mprintf(tls,
-				ts+32785,
+				ts+32832,
 				libc.VaList(bp, p+48,
 					RBU_STATE_STAGE, eStage,
 					RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl,
@@ -173758,9 +173816,9 @@ func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) {
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24, p+64,
-			Xsqlite3_mprintf(tls, ts+32943, libc.VaList(bp, zPragma)))
+			Xsqlite3_mprintf(tls, ts+32990, libc.VaList(bp, zPragma)))
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
-			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32958,
+			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+33005,
 				libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 0)))
 		}
 		rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24)))
@@ -173774,10 +173832,10 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 
-	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+32978, uintptr(0), uintptr(0), p+64)
+	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+33025, uintptr(0), uintptr(0), p+64)
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+33003)
+			ts+33050)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -173791,12 +173849,12 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-			ts+33111)
+			ts+33158)
 	}
 
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+8, p+64,
-			ts+33176)
+			ts+33223)
 	}
 
 	for (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
@@ -173808,7 +173866,7 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
 	}
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+33220, uintptr(0), uintptr(0), p+64)
+		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+33267, uintptr(0), uintptr(0), p+64)
 	}
 
 	rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp)))
@@ -173836,7 +173894,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 {
 					if (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup != 0 {
 						if libc.Bool32((*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0)) == 0 && (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0 {
 							rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-								ts+33245, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
+								ts+33292, libc.VaList(bp, p+48, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))
 						}
 					} else {
 						rbuObjIterPrepareAll(tls, p, pIter, 0)
@@ -173958,7 +174016,7 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) {
 
 		if rc == SQLITE_OK && !(int32((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl) != 0) {
 			rc = SQLITE_ERROR
-			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33273, 0)
+			(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33320, 0)
 		}
 
 		if rc == SQLITE_OK {
@@ -173974,7 +174032,7 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	var zOal uintptr = rbuMPrintf(tls, p, ts+32722, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
+	var zOal uintptr = rbuMPrintf(tls, p, ts+32769, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget))
 	if zOal != 0 {
 		*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 		Xsqlite3_file_control(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+7793, SQLITE_FCNTL_VFS_POINTER, bp+8)
@@ -173991,7 +174049,7 @@ func rbuCreateVfs(tls *libc.TLS, p uintptr) {
 	defer tls.Free(76)
 
 	Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8)
-	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+33298, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
+	Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12, ts+33345, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 	(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12, uintptr(0))
 	if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12)
@@ -174025,7 +174083,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) {
 
 	rc = prepareFreeAndCollectError(tls, db, bp+8, bp+16,
 		Xsqlite3_mprintf(tls,
-			ts+33309, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
+			ts+33356, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))))))
 	if rc != SQLITE_OK {
 		Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 16)), -1)
 	} else {
@@ -174055,13 +174113,13 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 		(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = int64(-1)
 
 		(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_create_function(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu,
-			ts+33381, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+			ts+33428, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 				f func(*libc.TLS, uintptr, int32, uintptr)
 			}{rbuIndexCntFunc})), uintptr(0), uintptr(0))
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+33395)
+				ts+33442)
 		}
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 			if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
@@ -174072,7 +174130,7 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) {
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && bExists != 0 {
 			(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp, p+64,
-				ts+33452)
+				ts+33499)
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 				if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
 					(*Sqlite3rbu)(unsafe.Pointer(p)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
@@ -174146,7 +174204,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd != 0 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_OAL {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33526, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33573, 0)
 			} else if (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_MOVE {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_CKPT
 				(*Sqlite3rbu)(unsafe.Pointer(p)).FnStep = 0
@@ -174164,12 +174222,12 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 			}()
 			if (*Rbu_file)(unsafe.Pointer(pFd)).FiCookie != (*RbuState)(unsafe.Pointer(pState)).FiCookie {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY
-				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33558,
+				(*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33605,
 					libc.VaList(bp+8, func() uintptr {
 						if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
-							return ts + 33590
+							return ts + 33637
 						}
-						return ts + 33597
+						return ts + 33644
 					}()))
 			}
 		}
@@ -174193,14 +174251,14 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
-						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+33604, uintptr(0), uintptr(0), p+64)
+						(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls, db, ts+33651, uintptr(0), uintptr(0), p+64)
 					}
 
 					if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 						var frc int32 = Xsqlite3_file_control(tls, db, ts+7793, SQLITE_FCNTL_ZIPVFS, uintptr(0))
 						if frc == SQLITE_OK {
 							(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_exec(tls,
-								db, ts+33620, uintptr(0), uintptr(0), p+64)
+								db, ts+33667, uintptr(0), uintptr(0), p+64)
 						}
 					}
 
@@ -174254,7 +174312,7 @@ func Xsqlite3rbu_vacuum(tls *libc.TLS, zTarget uintptr, zState uintptr) uintptr
 	}
 	if zState != 0 {
 		var n int32 = int32(libc.Xstrlen(tls, zState))
-		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+33644, zState+uintptr(n-7), uint64(7)) {
+		if n >= 7 && 0 == libc.Xmemcmp(tls, ts+33691, zState+uintptr(n-7), uint64(7)) {
 			return rbuMisuseError(tls)
 		}
 	}
@@ -174281,7 +174339,7 @@ func rbuEditErrmsg(tls *libc.TLS, p uintptr) {
 		var i uint32
 		var nErrmsg Size_t = libc.Xstrlen(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg)
 		for i = uint32(0); Size_t(i) < nErrmsg-uint64(8); i++ {
-			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+31669, uint64(8)) == 0 {
+			if libc.Xmemcmp(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg+uintptr(i), ts+31716, uint64(8)) == 0 {
 				var nDel int32 = 8
 				for int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) >= '0' && int32(*(*int8)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg + uintptr(i+uint32(nDel))))) <= '9' {
 					nDel++
@@ -174317,7 +174375,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 {
 		rbuObjIterFinalize(tls, p+80)
 
 		if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) && (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK && (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu != 0 {
-			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+33652, uintptr(0), uintptr(0), uintptr(0))
+			var rc2 int32 = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+33699, uintptr(0), uintptr(0), uintptr(0))
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE && rc2 != SQLITE_OK {
 				(*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2
 			}
@@ -174436,12 +174494,12 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) int32 {
 			if (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget == uintptr(0) {
 				zBegin = ts + 15860
 			} else {
-				zBegin = ts + 33604
+				zBegin = ts + 33651
 			}
 			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, zBegin, uintptr(0), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+33604, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+33651, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -174787,7 +174845,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 			})(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16)
 			if rc == SQLITE_OK {
 				rc = SQLITE_ERROR
-				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33679, 0)
+				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+33726, 0)
 			} else if rc == SQLITE_NOTFOUND {
 				(*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p
 				(*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu
@@ -174812,7 +174870,7 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int
 	if rc == SQLITE_OK && op == SQLITE_FCNTL_VFSNAME {
 		var pRbuVfs uintptr = (*Rbu_file)(unsafe.Pointer(p)).FpRbuVfs
 		var zIn uintptr = *(*uintptr)(unsafe.Pointer(pArg))
-		var zOut uintptr = Xsqlite3_mprintf(tls, ts+33702, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
+		var zOut uintptr = Xsqlite3_mprintf(tls, ts+33749, libc.VaList(bp, (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).Fbase.FzName, zIn))
 		*(*uintptr)(unsafe.Pointer(pArg)) = zOut
 		if zOut == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -174972,7 +175030,7 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags
 	}
 
 	if oflags&SQLITE_OPEN_MAIN_DB != 0 &&
-		Xsqlite3_uri_boolean(tls, zName, ts+33713, 0) != 0 {
+		Xsqlite3_uri_boolean(tls, zName, ts+33760, 0) != 0 {
 		oflags = SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE
 		zOpen = uintptr(0)
 	}
@@ -175801,7 +175859,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 		rc = Xsqlite3_table_column_metadata(tls, db, zDb, zThis, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0), uintptr(0))
 		if rc == SQLITE_OK {
 			zPragma = Xsqlite3_mprintf(tls,
-				ts+33724, 0)
+				ts+33771, 0)
 		} else if rc == SQLITE_ERROR {
 			zPragma = Xsqlite3_mprintf(tls, ts+1544, 0)
 		} else {
@@ -175814,7 +175872,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr,
 			return rc
 		}
 	} else {
-		zPragma = Xsqlite3_mprintf(tls, ts+33845, libc.VaList(bp, zDb, zThis))
+		zPragma = Xsqlite3_mprintf(tls, ts+33892, libc.VaList(bp, zDb, zThis))
 	}
 	if !(zPragma != 0) {
 		*(*uintptr)(unsafe.Pointer(pazCol)) = uintptr(0)
@@ -176494,9 +176552,9 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr,
 
 	for i = 0; i < nCol; i++ {
 		if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
-			zRet = Xsqlite3_mprintf(tls, ts+33874,
+			zRet = Xsqlite3_mprintf(tls, ts+33921,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 22894
+			zSep = ts + 22941
 			if zRet == uintptr(0) {
 				break
 			}
@@ -176519,9 +176577,9 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 		if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 {
 			bHave = 1
 			zRet = Xsqlite3_mprintf(tls,
-				ts+33908,
+				ts+33955,
 				libc.VaList(bp, zRet, zSep, zDb1, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zDb2, zTab, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))))
-			zSep = ts + 33949
+			zSep = ts + 33996
 			if zRet == uintptr(0) {
 				break
 			}
@@ -176529,7 +176587,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp
 	}
 
 	if bHave == 0 {
-		zRet = Xsqlite3_mprintf(tls, ts+8882, 0)
+		zRet = Xsqlite3_mprintf(tls, ts+8871, 0)
 	}
 
 	return zRet
@@ -176540,7 +176598,7 @@ func sessionSelectFindNew(tls *libc.TLS, zDb1 uintptr, zDb2 uintptr, zTbl uintpt
 	defer tls.Free(40)
 
 	var zRet uintptr = Xsqlite3_mprintf(tls,
-		ts+33954,
+		ts+34001,
 		libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr))
 	return zRet
 }
@@ -176583,7 +176641,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro
 		rc = SQLITE_NOMEM
 	} else {
 		var zStmt uintptr = Xsqlite3_mprintf(tls,
-			ts+34032,
+			ts+34079,
 			libc.VaList(bp, (*Sqlite3_session)(unsafe.Pointer(pSession)).FzDb, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zFrom, (*SessionTable)(unsafe.Pointer(pTab)).FzName, zExpr, zExpr2))
 		if zStmt == uintptr(0) {
 			rc = SQLITE_NOMEM
@@ -176710,7 +176768,7 @@ __6:
 	if !(pzErrMsg != 0) {
 		goto __16
 	}
-	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+34085, 0)
+	*(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+34132, 0)
 __16:
 	;
 	rc = SQLITE_SCHEMA
@@ -177186,7 +177244,7 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 
 	if 0 == Xsqlite3_stricmp(tls, ts+12700, zTab) {
 		zSql = Xsqlite3_mprintf(tls,
-			ts+34112, libc.VaList(bp, zDb))
+			ts+34159, libc.VaList(bp, zDb))
 		if zSql == uintptr(0) {
 			*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_NOMEM
 		}
@@ -177195,18 +177253,18 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo
 		var zSep uintptr = ts + 1544
 		*(*SessionBuffer)(unsafe.Pointer(bp + 8)) = SessionBuffer{}
 
-		sessionAppendStr(tls, bp+8, ts+34222, bp+24)
+		sessionAppendStr(tls, bp+8, ts+34269, bp+24)
 		sessionAppendIdent(tls, bp+8, zDb, bp+24)
 		sessionAppendStr(tls, bp+8, ts+1557, bp+24)
 		sessionAppendIdent(tls, bp+8, zTab, bp+24)
-		sessionAppendStr(tls, bp+8, ts+34237, bp+24)
+		sessionAppendStr(tls, bp+8, ts+34284, bp+24)
 		for i = 0; i < nCol; i++ {
 			if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
 				sessionAppendStr(tls, bp+8, zSep, bp+24)
 				sessionAppendIdent(tls, bp+8, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+24)
-				sessionAppendStr(tls, bp+8, ts+34245, bp+24)
+				sessionAppendStr(tls, bp+8, ts+34292, bp+24)
 				sessionAppendInteger(tls, bp+8, i+1, bp+24)
-				zSep = ts + 22894
+				zSep = ts + 22941
 			}
 		}
 		zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8)).FaBuf
@@ -177315,7 +177373,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 {
 		return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc
 	}
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+34251, uintptr(0), uintptr(0), uintptr(0))
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+34298, uintptr(0), uintptr(0), uintptr(0))
 	if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
@@ -177407,7 +177465,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
 	}
 
 	Xsqlite3_free(tls, (*SessionBuffer)(unsafe.Pointer(bp+24)).FaBuf)
-	Xsqlite3_exec(tls, db, ts+34271, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+34318, uintptr(0), uintptr(0), uintptr(0))
 	Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db))
 	return *(*int32)(unsafe.Pointer(bp + 40))
 }
@@ -177670,7 +177728,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 		rc = sessionInputBuffer(tls, pIn, 9)
 		if rc == SQLITE_OK {
 			if (*SessionInput)(unsafe.Pointer(pIn)).FiNext >= (*SessionInput)(unsafe.Pointer(pIn)).FnData {
-				rc = Xsqlite3CorruptError(tls, 219078)
+				rc = Xsqlite3CorruptError(tls, 219169)
 			} else {
 				eType = int32(*(*U8)(unsafe.Pointer((*SessionInput)(unsafe.Pointer(pIn)).FaData + uintptr(libc.PostIncInt32(&(*SessionInput)(unsafe.Pointer(pIn)).FiNext, 1)))))
 
@@ -177693,7 +177751,7 @@ func sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, apO
 				rc = sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
 				if rc == SQLITE_OK {
 					if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*SessionInput)(unsafe.Pointer(pIn)).FnData-(*SessionInput)(unsafe.Pointer(pIn)).FiNext {
-						rc = Xsqlite3CorruptError(tls, 219098)
+						rc = Xsqlite3CorruptError(tls, 219189)
 					} else {
 						var enc U8 = func() uint8 {
 							if eType == SQLITE_TEXT {
@@ -177735,7 +177793,7 @@ func sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) in
 		nRead = nRead + sessionVarintGet(tls, (*SessionInput)(unsafe.Pointer(pIn)).FaData+uintptr((*SessionInput)(unsafe.Pointer(pIn)).FiNext+nRead), bp)
 
 		if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > 65536 {
-			rc = Xsqlite3CorruptError(tls, 219152)
+			rc = Xsqlite3CorruptError(tls, 219243)
 		} else {
 			rc = sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+100)
 			nRead = nRead + *(*int32)(unsafe.Pointer(bp))
@@ -177796,7 +177854,7 @@ func sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) int32 {
 			(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
 			sessionBufferGrow(tls, p+72, int64(nByte), bp+4)
 		} else {
-			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219240)
+			*(*int32)(unsafe.Pointer(bp + 4)) = Xsqlite3CorruptError(tls, 219331)
 		}
 	}
 
@@ -177870,13 +177928,13 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 	}
 
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219326))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219417))
 	}
 
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop = int32(op)
 	(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = int32(*(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(libc.PostIncInt32(&(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FiNext, 1)))))
 	if (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_UPDATE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_DELETE && (*Sqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != SQLITE_INSERT {
-		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219332))
+		return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219423))
 	}
 
 	if paRec != 0 {
@@ -177938,7 +177996,7 @@ func sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uint
 				if *(*U8)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8))
 					if *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) {
-						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219376))
+						return libc.AssignPtrInt32(p+100, Xsqlite3CorruptError(tls, 219467))
 					}
 					*(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Sqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8)) = uintptr(0)
 				}
@@ -178311,7 +178369,7 @@ __27:
 	goto __6
 
 __11:
-	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219741)
+	*(*int32)(unsafe.Pointer(bp + 40)) = Xsqlite3CorruptError(tls, 219832)
 	goto finished_invert
 __6:
 	;
@@ -178490,34 +178548,34 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32,
 				(*SessionUpdate)(unsafe.Pointer(pUp)).FaMask = pUp + 1*24
 				libc.Xmemcpy(tls, (*SessionUpdate)(unsafe.Pointer(pUp)).FaMask, (*SessionApplyCtx)(unsafe.Pointer(p)).FaUpdateMask, uint64(nU32)*uint64(unsafe.Sizeof(U32(0))))
 
-				sessionAppendStr(tls, bp, ts+34289, bp+16)
+				sessionAppendStr(tls, bp, ts+34336, bp+16)
 				sessionAppendIdent(tls, bp, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FzTab, bp+16)
-				sessionAppendStr(tls, bp, ts+34302, bp+16)
+				sessionAppendStr(tls, bp, ts+34349, bp+16)
 
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii)))) == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol+ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-						sessionAppendStr(tls, bp, ts+34308, bp+16)
+						sessionAppendStr(tls, bp, ts+34355, bp+16)
 						sessionAppendInteger(tls, bp, ii*2+1, bp+16)
 						zSep = ts + 15971
 					}
 				}
 
 				zSep = ts + 1544
-				sessionAppendStr(tls, bp, ts+34237, bp+16)
+				sessionAppendStr(tls, bp, ts+34284, bp+16)
 				for ii = 0; ii < (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FnCol; ii++ {
 					if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(ii))) != 0 || bPatchset == 0 && *(*uintptr)(unsafe.Pointer((*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FapValue + uintptr(ii)*8)) != 0 {
 						sessionAppendStr(tls, bp, zSep, bp+16)
 						if bStat1 != 0 && ii == 1 {
 							sessionAppendStr(tls, bp,
-								ts+34313, bp+16)
+								ts+34360, bp+16)
 						} else {
 							sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(ii)*8)), bp+16)
-							sessionAppendStr(tls, bp, ts+34245, bp+16)
+							sessionAppendStr(tls, bp, ts+34292, bp+16)
 							sessionAppendInteger(tls, bp, ii*2+2, bp+16)
 						}
-						zSep = ts + 22894
+						zSep = ts + 22941
 					}
 				}
 
@@ -178569,34 +178627,34 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 	var nPk int32 = 0
 
-	sessionAppendStr(tls, bp, ts+34388, bp+16)
+	sessionAppendStr(tls, bp, ts+34435, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+34237, bp+16)
+	sessionAppendStr(tls, bp, ts+34284, bp+16)
 
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
 			nPk++
 			sessionAppendStr(tls, bp, zSep, bp+16)
 			sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-			sessionAppendStr(tls, bp, ts+34308, bp+16)
+			sessionAppendStr(tls, bp, ts+34355, bp+16)
 			sessionAppendInteger(tls, bp, i+1, bp+16)
-			zSep = ts + 22894
+			zSep = ts + 22941
 		}
 	}
 
 	if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol {
-		sessionAppendStr(tls, bp, ts+34406, bp+16)
+		sessionAppendStr(tls, bp, ts+34453, bp+16)
 		sessionAppendInteger(tls, bp, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol+1, bp+16)
-		sessionAppendStr(tls, bp, ts+33949, bp+16)
+		sessionAppendStr(tls, bp, ts+33996, bp+16)
 
 		zSep = ts + 1544
 		for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 			if !(int32(*(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FabPK + uintptr(i)))) != 0) {
 				sessionAppendStr(tls, bp, zSep, bp+16)
 				sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
-				sessionAppendStr(tls, bp, ts+34245, bp+16)
+				sessionAppendStr(tls, bp, ts+34292, bp+16)
 				sessionAppendInteger(tls, bp, i+1, bp+16)
-				zSep = ts + 34414
+				zSep = ts + 34461
 			}
 		}
 		sessionAppendStr(tls, bp, ts+6309, bp+16)
@@ -178623,9 +178681,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 	var i int32
 	*(*SessionBuffer)(unsafe.Pointer(bp)) = SessionBuffer{}
 
-	sessionAppendStr(tls, bp, ts+34419, bp+16)
+	sessionAppendStr(tls, bp, ts+34466, bp+16)
 	sessionAppendIdent(tls, bp, zTab, bp+16)
-	sessionAppendStr(tls, bp, ts+22900, bp+16)
+	sessionAppendStr(tls, bp, ts+22947, bp+16)
 	for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
 		if i != 0 {
 			sessionAppendStr(tls, bp, ts+15971, bp+16)
@@ -178633,9 +178691,9 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32
 		sessionAppendIdent(tls, bp, *(*uintptr)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)), bp+16)
 	}
 
-	sessionAppendStr(tls, bp, ts+34437, bp+16)
+	sessionAppendStr(tls, bp, ts+34484, bp+16)
 	for i = 1; i < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol; i++ {
-		sessionAppendStr(tls, bp, ts+34448, bp+16)
+		sessionAppendStr(tls, bp, ts+34495, bp+16)
 	}
 	sessionAppendStr(tls, bp, ts+6309, bp+16)
 
@@ -178654,11 +178712,11 @@ func sessionStat1Sql(tls *libc.TLS, db uintptr, p uintptr) int32 {
 	var rc int32 = sessionSelectRow(tls, db, ts+12700, p)
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+16,
-			ts+34452)
+			ts+34499)
 	}
 	if rc == SQLITE_OK {
 		rc = sessionPrepare(tls, db, p+8,
-			ts+34565)
+			ts+34612)
 	}
 	return rc
 }
@@ -178686,7 +178744,7 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab
 				f func(*libc.TLS, uintptr, int32, uintptr) int32
 			})(unsafe.Pointer(&struct{ uintptr }{xValue})).f(tls, pIter, i, bp)
 			if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
-				rc = Xsqlite3CorruptError(tls, 220219)
+				rc = Xsqlite3CorruptError(tls, 220310)
 			} else {
 				rc = sessionBindValue(tls, pStmt, i+1, *(*uintptr)(unsafe.Pointer(bp)))
 			}
@@ -178939,7 +178997,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 		if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
 			rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 		} else if *(*int32)(unsafe.Pointer(bp)) != 0 {
-			rc = Xsqlite3_exec(tls, db, ts+34709, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+34756, uintptr(0), uintptr(0), uintptr(0))
 			if rc == SQLITE_OK {
 				rc = sessionBindRow(tls, pIter,
 					*(*uintptr)(unsafe.Pointer(&struct {
@@ -178955,7 +179013,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u
 				rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
 			}
 			if rc == SQLITE_OK {
-				rc = Xsqlite3_exec(tls, db, ts+34730, uintptr(0), uintptr(0), uintptr(0))
+				rc = Xsqlite3_exec(tls, db, ts+34777, uintptr(0), uintptr(0), uintptr(0))
 			}
 		}
 	}
@@ -179028,10 +179086,10 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 	(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FbInvertConstraints = libc.BoolInt32(!!(flags&SQLITE_CHANGESETAPPLY_INVERT != 0))
 	Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db))
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
-		rc = Xsqlite3_exec(tls, db, ts+34749, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+34796, uintptr(0), uintptr(0), uintptr(0))
 	}
 	if rc == SQLITE_OK {
-		rc = Xsqlite3_exec(tls, db, ts+34775, uintptr(0), uintptr(0), uintptr(0))
+		rc = Xsqlite3_exec(tls, db, ts+34822, uintptr(0), uintptr(0), uintptr(0))
 	}
 	for rc == SQLITE_OK && SQLITE_ROW == Xsqlite3changeset_next(tls, pIter) {
 		Xsqlite3changeset_op(tls, pIter, bp+176, bp+184, bp+188, uintptr(0))
@@ -179090,16 +179148,16 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 				if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol == 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+34805, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+34852, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else if (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol < *(*int32)(unsafe.Pointer(bp + 184)) {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+34849,
+						ts+34896,
 						libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 200)), (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FnCol, *(*int32)(unsafe.Pointer(bp + 184))))
 				} else if *(*int32)(unsafe.Pointer(bp + 184)) < nMinCol || libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 192)), uint64(*(*int32)(unsafe.Pointer(bp + 184)))) != 0 {
 					schemaMismatch = 1
 					Xsqlite3_log(tls, SQLITE_SCHEMA,
-						ts+34920, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
+						ts+34967, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200))))
 				} else {
 					(*SessionApplyCtx)(unsafe.Pointer(bp + 48)).FnCol = *(*int32)(unsafe.Pointer(bp + 184))
 					if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 200)), ts+12700) {
@@ -179153,14 +179211,14 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin
 			}
 		}
 	}
-	Xsqlite3_exec(tls, db, ts+34980, uintptr(0), uintptr(0), uintptr(0))
+	Xsqlite3_exec(tls, db, ts+35027, uintptr(0), uintptr(0), uintptr(0))
 
 	if flags&SQLITE_CHANGESETAPPLY_NOSAVEPOINT == 0 {
 		if rc == SQLITE_OK {
-			rc = Xsqlite3_exec(tls, db, ts+35010, uintptr(0), uintptr(0), uintptr(0))
+			rc = Xsqlite3_exec(tls, db, ts+35057, uintptr(0), uintptr(0), uintptr(0))
 		} else {
-			Xsqlite3_exec(tls, db, ts+35034, uintptr(0), uintptr(0), uintptr(0))
-			Xsqlite3_exec(tls, db, ts+35010, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+35081, uintptr(0), uintptr(0), uintptr(0))
+			Xsqlite3_exec(tls, db, ts+35057, uintptr(0), uintptr(0), uintptr(0))
 		}
 	}
 
@@ -180408,7 +180466,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) {
 		fts5yy_pop_parser_stack(tls, fts5yypParser)
 	}
 
-	sqlite3Fts5ParseError(tls, pParse, ts+35062, 0)
+	sqlite3Fts5ParseError(tls, pParse, ts+35109, 0)
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -180696,7 +180754,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32
 
 	_ = fts5yymajor
 	sqlite3Fts5ParseError(tls,
-		pParse, ts+35090, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
+		pParse, ts+35137, libc.VaList(bp, fts5yyminor.Fn, fts5yyminor.Fp))
 
 	(*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse
 
@@ -180883,7 +180941,7 @@ func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int
 		if n < 0 {
 			n = int32(libc.Xstrlen(tls, z))
 		}
-		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+35121, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
+		(*HighlightContext)(unsafe.Pointer(p)).FzOut = Xsqlite3_mprintf(tls, ts+35168, libc.VaList(bp, (*HighlightContext)(unsafe.Pointer(p)).FzOut, n, z))
 		if (*HighlightContext)(unsafe.Pointer(p)).FzOut == uintptr(0) {
 			*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 		}
@@ -180951,7 +181009,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp
 	var iCol int32
 
 	if nVal != 3 {
-		var zErr uintptr = ts + 35128
+		var zErr uintptr = ts + 35175
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -181133,7 +181191,7 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr
 	var nCol int32
 
 	if nVal != 5 {
-		var zErr uintptr = ts + 35178
+		var zErr uintptr = ts + 35225
 		Xsqlite3_result_error(tls, pCtx, zErr, -1)
 		return
 	}
@@ -181457,13 +181515,13 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(96)
 
 	*(*[3]Builtin)(unsafe.Pointer(bp)) = [3]Builtin{
-		{FzFunc: ts + 35226, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 35273, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5SnippetFunction}))},
-		{FzFunc: ts + 35234, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 35281, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5HighlightFunction}))},
-		{FzFunc: ts + 35244, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzFunc: ts + 35291, FxFunc: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 		}{fts5Bm25Function}))},
 	}
@@ -182014,7 +182072,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 	*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 	var nCmd int32 = int32(libc.Xstrlen(tls, zCmd))
-	if Xsqlite3_strnicmp(tls, ts+35249, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+35296, zCmd, nCmd) == 0 {
 		var nByte int32 = int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))
 		var p uintptr
 		var bFirst int32 = 1
@@ -182041,14 +182099,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 				break
 			}
 			if int32(*(*int8)(unsafe.Pointer(p))) < '0' || int32(*(*int8)(unsafe.Pointer(p))) > '9' {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35256, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35303, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
 
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES {
 				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-					ts+35287, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
+					ts+35334, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -182059,7 +182117,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 			}
 
 			if nPre <= 0 || nPre >= 1000 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35320, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35367, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				break
 			}
@@ -182072,7 +182130,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+35357, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+35404, zCmd, nCmd) == 0 {
 		var p uintptr = zArg
 		var nArg Sqlite3_int64 = Sqlite3_int64(libc.Xstrlen(tls, zArg) + uint64(1))
 		var azArg uintptr = sqlite3Fts5MallocZero(tls, bp+40, int64(uint64(unsafe.Sizeof(uintptr(0)))*uint64(nArg)))
@@ -182081,7 +182139,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 
 		if azArg != 0 && pSpace != 0 {
 			if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35366, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35413, 0)
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				for nArg = int64(0); p != 0 && *(*int8)(unsafe.Pointer(p)) != 0; nArg++ {
@@ -182100,7 +182158,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 					}
 				}
 				if p == uintptr(0) {
-					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35399, 0)
+					*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35446, 0)
 					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 				} else {
 					*(*int32)(unsafe.Pointer(bp + 40)) = sqlite3Fts5GetTokenizer(tls, pGlobal,
@@ -182115,14 +182173,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+35433, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+35480, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35441, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35488, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			if *(*int8)(unsafe.Pointer(zArg)) != 0 {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_EXTERNAL
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+35473, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40, ts+35520, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg))
 			} else {
 				(*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE
 			}
@@ -182130,9 +182188,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+35479, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+35526, zCmd, nCmd) == 0 {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35493, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35540, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40, zArg, -1)
@@ -182140,9 +182198,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	if Xsqlite3_strnicmp(tls, ts+35531, zCmd, nCmd) == 0 {
+	if Xsqlite3_strnicmp(tls, ts+35578, zCmd, nCmd) == 0 {
 		if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35542, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35589, 0)
 			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')
@@ -182154,17 +182212,17 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm
 		*(*[4]Fts5Enum)(unsafe.Pointer(bp + 48)) = [4]Fts5Enum{
 			{FzName: ts + 9378, FeVal: FTS5_DETAIL_NONE},
 			{FzName: ts + 18714},
-			{FzName: ts + 35577, FeVal: FTS5_DETAIL_COLUMNS},
+			{FzName: ts + 35624, FeVal: FTS5_DETAIL_COLUMNS},
 			{},
 		}
 
 		if libc.AssignPtrInt32(bp+40, fts5ConfigSetEnum(tls, bp+48, zArg, pConfig+92)) != 0 {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35585, 0)
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35632, 0)
 		}
 		return *(*int32)(unsafe.Pointer(bp + 40))
 	}
 
-	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35616, libc.VaList(bp+24, nCmd, zCmd))
+	*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35663, libc.VaList(bp+24, nCmd, zCmd))
 	return SQLITE_ERROR
 }
 
@@ -182211,15 +182269,15 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr,
 	defer tls.Free(16)
 
 	var rc int32 = SQLITE_OK
-	if 0 == Xsqlite3_stricmp(tls, zCol, ts+23560) ||
+	if 0 == Xsqlite3_stricmp(tls, zCol, ts+23607) ||
 		0 == Xsqlite3_stricmp(tls, zCol, ts+17625) {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35644, libc.VaList(bp, zCol))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35691, libc.VaList(bp, zCol))
 		rc = SQLITE_ERROR
 	} else if zArg != 0 {
-		if 0 == Xsqlite3_stricmp(tls, zArg, ts+35674) {
+		if 0 == Xsqlite3_stricmp(tls, zArg, ts+35721) {
 			*(*U8)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*Fts5Config)(unsafe.Pointer(p)).FnCol))) = U8(1)
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35684, libc.VaList(bp+8, zArg))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35731, libc.VaList(bp+8, zArg))
 			rc = SQLITE_ERROR
 		}
 	}
@@ -182236,13 +182294,13 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_OK
 	*(*Fts5Buffer)(unsafe.Pointer(bp + 32)) = Fts5Buffer{}
 
-	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+35715, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
+	sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+35762, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid))
 	if (*Fts5Config)(unsafe.Pointer(p)).FeContent != FTS5_CONTENT_NONE {
 		for i = 0; i < (*Fts5Config)(unsafe.Pointer(p)).FnCol; i++ {
 			if (*Fts5Config)(unsafe.Pointer(p)).FeContent == FTS5_CONTENT_EXTERNAL {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+35720, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+35767, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8))))
 			} else {
-				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+35727, libc.VaList(bp+16, i))
+				sqlite3Fts5BufferAppendPrintf(tls, bp+24, bp+32, ts+35774, libc.VaList(bp+16, i))
 			}
 		}
 	}
@@ -182280,8 +182338,8 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 	(*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -1)
 	(*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize = 1
 	(*Fts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL
-	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+23560) == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35735, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
+	if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+23607) == 0 {
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35782, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName))
 		*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 	}
 
@@ -182313,7 +182371,7 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 
 		if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK {
 			if z == uintptr(0) {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35764, libc.VaList(bp+8, zOrig))
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35811, libc.VaList(bp+8, zOrig))
 				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 			} else {
 				if bOption != 0 {
@@ -182350,14 +182408,14 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int
 		var zTail uintptr = uintptr(0)
 
 		if (*Fts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL {
-			zTail = ts + 35433
+			zTail = ts + 35480
 		} else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 {
-			zTail = ts + 35784
+			zTail = ts + 35831
 		}
 
 		if zTail != 0 {
 			(*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls,
-				bp+40, ts+35792, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
+				bp+40, ts+35839, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail))
 		}
 	}
 
@@ -182406,7 +182464,7 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 	*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_OK
 	var zSql uintptr
 
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+35803, 0)
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+35850, 0)
 	for i = 0; zSql != 0 && i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
 		var zSep uintptr = func() uintptr {
 			if i == 0 {
@@ -182414,10 +182472,10 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 {
 			}
 			return ts + 15971
 		}()
-		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+35819, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
+		zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+35866, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8))))
 	}
-	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+35826,
-		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+23560))
+	zSql = sqlite3Fts5Mprintf(tls, bp+48, ts+35873,
+		libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+23607))
 
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 48)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql)
@@ -182527,7 +182585,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 
 	var rc int32 = SQLITE_OK
 
-	if 0 == Xsqlite3_stricmp(tls, zKey, ts+35852) {
+	if 0 == Xsqlite3_stricmp(tls, zKey, ts+35899) {
 		var pgsz int32 = 0
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			pgsz = Xsqlite3_value_int(tls, pVal)
@@ -182537,7 +182595,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).Fpgsz = pgsz
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+35857) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+35904) {
 		var nHashSize int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nHashSize = Xsqlite3_value_int(tls, pVal)
@@ -182547,7 +182605,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnHashSize = nHashSize
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+35866) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+35913) {
 		var nAutomerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nAutomerge = Xsqlite3_value_int(tls, pVal)
@@ -182560,7 +182618,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnAutomerge = nAutomerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+35876) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+35923) {
 		var nUsermerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nUsermerge = Xsqlite3_value_int(tls, pVal)
@@ -182570,7 +182628,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnUsermerge = nUsermerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+35886) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+35933) {
 		var nCrisisMerge int32 = -1
 		if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) {
 			nCrisisMerge = Xsqlite3_value_int(tls, pVal)
@@ -182586,7 +182644,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa
 			}
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = nCrisisMerge
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+23560) {
+	} else if 0 == Xsqlite3_stricmp(tls, zKey, ts+23607) {
 		var zIn uintptr = Xsqlite3_value_text(tls, pVal)
 
 		rc = sqlite3Fts5ConfigParseRank(tls, zIn, bp, bp+8)
@@ -182609,7 +182667,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 	bp := tls.Alloc(52)
 	defer tls.Free(52)
 
-	var zSelect uintptr = ts + 35898
+	var zSelect uintptr = ts + 35945
 	var zSql uintptr
 	*(*uintptr)(unsafe.Pointer(bp + 40)) = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
@@ -182631,7 +182689,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) {
 			var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 0)
 			var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 1)
-			if 0 == Xsqlite3_stricmp(tls, zK, ts+35930) {
+			if 0 == Xsqlite3_stricmp(tls, zK, ts+35977) {
 				iVersion = Xsqlite3_value_int(tls, pVal)
 			} else {
 				*(*int32)(unsafe.Pointer(bp + 48)) = 0
@@ -182645,7 +182703,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 {
 			*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-				ts+35938,
+				ts+35985,
 				libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION))
 		}
 	}
@@ -182743,7 +182801,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 					}
 				}
 				if int32(*(*int8)(unsafe.Pointer(z2))) == 0 {
-					sqlite3Fts5ParseError(tls, pParse, ts+36003, 0)
+					sqlite3Fts5ParseError(tls, pParse, ts+36050, 0)
 					return FTS5_EOF
 				}
 			}
@@ -182756,20 +182814,20 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr)
 		{
 			var z2 uintptr
 			if sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z))) == 0 {
-				sqlite3Fts5ParseError(tls, pParse, ts+36023, libc.VaList(bp, z))
+				sqlite3Fts5ParseError(tls, pParse, ts+36070, libc.VaList(bp, z))
 				return FTS5_EOF
 			}
 			tok = FTS5_STRING
 			for z2 = z + 1; sqlite3Fts5IsBareword(tls, *(*int8)(unsafe.Pointer(z2))) != 0; z2++ {
 			}
 			(*Fts5Token)(unsafe.Pointer(pToken)).Fn = int32((int64(z2) - int64(z)) / 1)
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+36054, uint64(2)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 2 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+36101, uint64(2)) == 0 {
 				tok = FTS5_OR
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+36057, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+36104, uint64(3)) == 0 {
 				tok = FTS5_NOT
 			}
-			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+31439, uint64(3)) == 0 {
+			if (*Fts5Token)(unsafe.Pointer(pToken)).Fn == 3 && libc.Xmemcmp(tls, (*Fts5Token)(unsafe.Pointer(pToken)).Fp, ts+31486, uint64(3)) == 0 {
 				tok = FTS5_AND
 			}
 			break
@@ -184547,9 +184605,9 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) {
 	bp := tls.Alloc(16)
 	defer tls.Free(16)
 
-	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+36061, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
+	if (*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4 || libc.Xmemcmp(tls, ts+36108, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0 {
 		sqlite3Fts5ParseError(tls,
-			pParse, ts+35090, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
+			pParse, ts+35137, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp))
 	}
 }
 
@@ -184565,7 +184623,7 @@ func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p
 				var c int8 = *(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))
 				if int32(c) < '0' || int32(c) > '9' {
 					sqlite3Fts5ParseError(tls,
-						pParse, ts+36066, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
+						pParse, ts+36113, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(p)).Fn, (*Fts5Token)(unsafe.Pointer(p)).Fp))
 					return
 				}
 				nNear = nNear*10 + (int32(*(*int8)(unsafe.Pointer((*Fts5Token)(unsafe.Pointer(p)).Fp + uintptr(i)))) - '0')
@@ -184652,7 +184710,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui
 			}
 		}
 		if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol {
-			sqlite3Fts5ParseError(tls, pParse, ts+21897, libc.VaList(bp, z))
+			sqlite3Fts5ParseError(tls, pParse, ts+21944, libc.VaList(bp, z))
 		} else {
 			pRet = fts5ParseColset(tls, pParse, pColset, iCol)
 		}
@@ -184733,7 +184791,7 @@ func sqlite3Fts5ParseSetColset(tls *libc.TLS, pParse uintptr, pExpr uintptr, pCo
 	*(*uintptr)(unsafe.Pointer(bp)) = pColset
 	if (*Fts5Config)(unsafe.Pointer((*Fts5Parse)(unsafe.Pointer(pParse)).FpConfig)).FeDetail == FTS5_DETAIL_NONE {
 		sqlite3Fts5ParseError(tls, pParse,
-			ts+36095, 0)
+			ts+36142, 0)
 	} else {
 		fts5ParseSetColset(tls, pParse, pExpr, pColset, bp)
 	}
@@ -184903,12 +184961,12 @@ func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uint
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 1 ||
 							(*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm > 0 && (*Fts5ExprTerm)(unsafe.Pointer(pPhrase+32)).FbFirst != 0 {
 							sqlite3Fts5ParseError(tls, pParse,
-								ts+36148,
+								ts+36195,
 								libc.VaList(bp, func() uintptr {
 									if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 {
-										return ts + 36198
+										return ts + 36245
 									}
-									return ts + 36061
+									return ts + 36108
 								}()))
 							Xsqlite3_free(tls, pRet)
 							pRet = uintptr(0)
@@ -185851,7 +185909,7 @@ func fts5DataRead(tls *libc.TLS, p uintptr, iRowid I64) uintptr {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpReader == uintptr(0) && rc == SQLITE_OK {
 			var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 			rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb,
-				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+36205, iRowid, 0, p+56)
+				(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl, ts+36252, iRowid, 0, p+56)
 		}
 
 		if rc == SQLITE_ERROR {
@@ -185930,7 +185988,7 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in
 	if (*Fts5Index)(unsafe.Pointer(p)).FpWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+64, Xsqlite3_mprintf(tls,
-			ts+36211,
+			ts+36258,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 		if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 			return
@@ -185955,7 +186013,7 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = Xsqlite3_mprintf(tls,
-			ts+36262,
+			ts+36309,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if fts5IndexPrepareStmt(tls, p, p+72, zSql) != 0 {
 			return
@@ -185978,7 +186036,7 @@ func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxDeleter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+88, Xsqlite3_mprintf(tls,
-			ts+36311,
+			ts+36358,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
@@ -186217,7 +186275,7 @@ func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 {
 	if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK {
 		if (*Fts5Index)(unsafe.Pointer(p)).FpDataVersion == uintptr(0) {
 			(*Fts5Index)(unsafe.Pointer(p)).Frc = fts5IndexPrepareStmt(tls, p, p+112,
-				Xsqlite3_mprintf(tls, ts+36351, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
+				Xsqlite3_mprintf(tls, ts+36398, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FzDb)))
 			if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 {
 				return int64(0)
 			}
@@ -187416,7 +187474,7 @@ func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+96, Xsqlite3_mprintf(tls,
-			ts+36374,
+			ts+36421,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 	return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect
@@ -188882,7 +188940,7 @@ func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) {
 	if (*Fts5Index)(unsafe.Pointer(p)).FpIdxWriter == uintptr(0) {
 		var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig
 		fts5IndexPrepareStmt(tls, p, p+80, Xsqlite3_mprintf(tls,
-			ts+36458,
+			ts+36505,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)))
 	}
 
@@ -189964,13 +190022,13 @@ func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uint
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		(*Fts5Index)(unsafe.Pointer(p)).FpConfig = pConfig
 		(*Fts5Index)(unsafe.Pointer(p)).FnWorkUnit = FTS5_WORK_UNIT
-		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+36515, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		(*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8, ts+36562, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 		if (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0 && bCreate != 0 {
 			*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+26432, ts+36523, 0, pzErr)
+				pConfig, ts+26479, ts+36570, 0, pzErr)
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 				*(*int32)(unsafe.Pointer(bp + 8)) = sqlite3Fts5CreateTable(tls, pConfig, ts+12840,
-					ts+36558,
+					ts+36605,
 					1, pzErr)
 			}
 			if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
@@ -190223,7 +190281,7 @@ func sqlite3Fts5IndexSetCookie(tls *libc.TLS, p uintptr, iNew int32) int32 {
 	sqlite3Fts5Put32(tls, bp, iNew)
 
 	rc = Xsqlite3_blob_open(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl,
-		ts+36205, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
+		ts+36252, int64(FTS5_STRUCTURE_ROWID), 1, bp+8)
 	if rc == SQLITE_OK {
 		Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), bp, 4, 0)
 		rc = Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
@@ -190337,7 +190395,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) {
 	}
 
 	fts5IndexPrepareStmt(tls, p, bp+24, Xsqlite3_mprintf(tls,
-		ts+36602,
+		ts+36649,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid)))
 
 	for (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK && SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
@@ -190507,7 +190565,7 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64, bUseCks
 		} else {
 			(*Fts5Buffer)(unsafe.Pointer(bp + 16)).Fn = 0
 			fts5SegiterPoslist(tls, p, *(*uintptr)(unsafe.Pointer(bp))+96+uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaFirst+1*4)).FiFirst)*120, uintptr(0), bp+16)
-			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+36688)
+			sqlite3Fts5BufferAppendBlob(tls, p+52, bp+16, uint32(4), ts+36735)
 			for 0 == sqlite3Fts5PoslistNext64(tls, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+16)).Fn, bp+32, bp+40) {
 				var iCol int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) >> 32)
 				var iTokOff int32 = int32(*(*I64)(unsafe.Pointer(bp + 40)) & int64(0x7FFFFFFF))
@@ -190778,7 +190836,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 {
 
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbLock != 0 {
 		(*Fts5Table)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+36693, 0)
+			ts+36740, 0)
 		return SQLITE_ERROR
 	}
 
@@ -191202,7 +191260,7 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 	(*Fts5Sorter)(unsafe.Pointer(pSorter)).FnIdx = nPhrase
 
 	rc = fts5PrepareStatement(tls, pSorter, pConfig,
-		ts+36732,
+		ts+36779,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zRank, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			func() uintptr {
 				if zRankArgs != 0 {
@@ -191218,9 +191276,9 @@ func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int3
 			}(),
 			func() uintptr {
 				if bDesc != 0 {
-					return ts + 36787
+					return ts + 36834
 				}
-				return ts + 36792
+				return ts + 36839
 			}()))
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter
@@ -191266,12 +191324,12 @@ func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr)
 
 	(*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan = FTS5_PLAN_SPECIAL
 
-	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+36796, z, n) {
+	if n == 5 && 0 == Xsqlite3_strnicmp(tls, ts+36843, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = I64(sqlite3Fts5IndexReads(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpIndex))
 	} else if n == 2 && 0 == Xsqlite3_strnicmp(tls, ts+6409, z, n) {
 		(*Fts5Cursor)(unsafe.Pointer(pCsr)).FiSpecial = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiCsrId
 	} else {
-		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+36802, libc.VaList(bp, n, z))
+		(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+36849, libc.VaList(bp, n, z))
 		rc = SQLITE_ERROR
 	}
 
@@ -191302,7 +191360,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs
 
 	if zRankArgs != 0 {
-		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+36830, libc.VaList(bp, zRankArgs))
+		var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16, ts+36877, libc.VaList(bp, zRankArgs))
 		if zSql != 0 {
 			*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 			*(*int32)(unsafe.Pointer(bp + 16)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1,
@@ -191333,7 +191391,7 @@ func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 {
 	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 		pAux = fts5FindAuxiliary(tls, pTab, zRank)
 		if pAux == uintptr(0) {
-			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+36840, libc.VaList(bp+8, zRank))
+			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+36887, libc.VaList(bp+8, zRank))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		}
 	}
@@ -191365,14 +191423,14 @@ func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uin
 			*(*int32)(unsafe.Pointer(pCsr + 80)) |= FTS5CSR_FREE_ZRANK
 		} else if rc == SQLITE_ERROR {
 			(*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+36861, libc.VaList(bp, z))
+				ts+36908, libc.VaList(bp, z))
 		}
 	} else {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank != 0 {
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRank
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = (*Fts5Config)(unsafe.Pointer(pConfig)).FzRankArgs
 		} else {
-			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 35244
+			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 35291
 			(*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0)
 		}
 	}
@@ -191428,7 +191486,7 @@ func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintp
 		goto __1
 	}
 	(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-		ts+36693, 0)
+		ts+36740, 0)
 	return SQLITE_ERROR
 __1:
 	;
@@ -191645,7 +191703,7 @@ __35:
 		goto __40
 	}
 	*(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls,
-		ts+36894, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
+		ts+36941, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	rc = SQLITE_ERROR
 	goto __41
 __40:
@@ -191790,28 +191848,28 @@ func fts5SpecialInsert(tls *libc.TLS, pTab uintptr, zCmd uintptr, pVal uintptr)
 	var rc int32 = SQLITE_OK
 	*(*int32)(unsafe.Pointer(bp)) = 0
 
-	if 0 == Xsqlite3_stricmp(tls, ts+36930, zCmd) {
+	if 0 == Xsqlite3_stricmp(tls, ts+36977, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			fts5SetVtabError(tls, pTab,
-				ts+36941, 0)
+				ts+36988, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageDeleteAll(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
-	} else if 0 == Xsqlite3_stricmp(tls, ts+37021, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+37068, zCmd) {
 		if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE {
 			fts5SetVtabError(tls, pTab,
-				ts+37029, 0)
+				ts+37076, 0)
 			rc = SQLITE_ERROR
 		} else {
 			rc = sqlite3Fts5StorageRebuild(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
 		}
 	} else if 0 == Xsqlite3_stricmp(tls, ts+18313, zCmd) {
 		rc = sqlite3Fts5StorageOptimize(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+37085, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+37132, zCmd) {
 		var nMerge int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageMerge(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, nMerge)
-	} else if 0 == Xsqlite3_stricmp(tls, ts+37091, zCmd) {
+	} else if 0 == Xsqlite3_stricmp(tls, ts+37138, zCmd) {
 		var iArg int32 = Xsqlite3_value_int(tls, pVal)
 		rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg)
 	} else {
@@ -191882,12 +191940,12 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p
 
 		if eType0 == SQLITE_INTEGER && fts5IsContentless(tls, pTab) != 0 {
 			(*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls,
-				ts+37107,
+				ts+37154,
 				libc.VaList(bp, func() uintptr {
 					if nArg > 1 {
-						return ts + 21798
+						return ts + 21845
 					}
-					return ts + 37144
+					return ts + 37191
 				}(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 			*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_ERROR
 		} else if nArg == 1 {
@@ -192517,7 +192575,7 @@ func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 
 	pCsr = fts5CursorFromCsrid(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal, iCsrId)
 	if pCsr == uintptr(0) || (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan == 0 {
-		var zErr uintptr = Xsqlite3_mprintf(tls, ts+37156, libc.VaList(bp, iCsrId))
+		var zErr uintptr = Xsqlite3_mprintf(tls, ts+37203, libc.VaList(bp, iCsrId))
 		Xsqlite3_result_error(tls, context, zErr, -1)
 		Xsqlite3_free(tls, zErr)
 	} else {
@@ -192761,7 +192819,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 	}())
 	if pMod == uintptr(0) {
 		rc = SQLITE_ERROR
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37177, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37224, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azArg))))
 	} else {
 		rc = (*struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
@@ -192780,7 +192838,7 @@ func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg
 		(*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi = pMod + 16
 		if rc != SQLITE_OK {
 			if pzErr != 0 {
-				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37199, 0)
+				*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+37246, 0)
 			}
 		} else {
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls,
@@ -192827,7 +192885,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 	var ppApi uintptr
 	_ = nArg
 
-	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+37230)
+	ppApi = Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(apArg)), ts+37277)
 	if ppApi != 0 {
 		*(*uintptr)(unsafe.Pointer(ppApi)) = pGlobal
 	}
@@ -192836,7 +192894,7 @@ func fts5Fts5Func(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) {
 func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) {
 	_ = nArg
 	_ = apUnused
-	Xsqlite3_result_text(tls, pCtx, ts+37243, -1, libc.UintptrFromInt32(-1))
+	Xsqlite3_result_text(tls, pCtx, ts+37290, -1, libc.UintptrFromInt32(-1))
 }
 
 func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
@@ -192850,7 +192908,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 {
 }
 
 var azName2 = [5]uintptr{
-	ts + 37334, ts + 35433, ts + 26432, ts + 35784, ts + 12840,
+	ts + 37381, ts + 35480, ts + 26479, ts + 35831, ts + 12840,
 }
 
 func fts5Init(tls *libc.TLS, db uintptr) int32 {
@@ -192874,7 +192932,7 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		(*Fts5Global)(unsafe.Pointer(pGlobal)).Fapi.FxFindTokenizer = *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32
 		}{fts5FindTokenizer}))
-		rc = Xsqlite3_create_module_v2(tls, db, ts+37341, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
+		rc = Xsqlite3_create_module_v2(tls, db, ts+37388, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy})))
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5IndexInit(tls, db)
 		}
@@ -192892,13 +192950,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 {
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+37341, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
+				db, ts+37388, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
 				}{fts5Fts5Func})), uintptr(0), uintptr(0))
 		}
 		if rc == SQLITE_OK {
 			rc = Xsqlite3_create_function(tls,
-				db, ts+37346, 0,
+				db, ts+37393, 0,
 				SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
 				p, *(*uintptr)(unsafe.Pointer(&struct {
 					f func(*libc.TLS, uintptr, int32, uintptr)
@@ -192955,17 +193013,17 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p
 
 	if *(*uintptr)(unsafe.Pointer(p + 40 + uintptr(eStmt)*8)) == uintptr(0) {
 		*(*[11]uintptr)(unsafe.Pointer(bp + 128)) = [11]uintptr{
-			ts + 37361,
-			ts + 37429,
-			ts + 37498,
-			ts + 37531,
-			ts + 37570,
-			ts + 37610,
-			ts + 37649,
-			ts + 37690,
-			ts + 37729,
-			ts + 37771,
-			ts + 37811,
+			ts + 37408,
+			ts + 37476,
+			ts + 37545,
+			ts + 37578,
+			ts + 37617,
+			ts + 37657,
+			ts + 37696,
+			ts + 37737,
+			ts + 37776,
+			ts + 37818,
+			ts + 37858,
 		}
 		var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig
 		var zSql uintptr = uintptr(0)
@@ -193067,18 +193125,18 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 {
 	defer tls.Free(80)
 
 	var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+37834,
+		ts+37881,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+37938,
+			ts+37985,
 			libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+37976,
+			ts+38023,
 			libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 	return rc
@@ -193090,7 +193148,7 @@ func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uin
 
 	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 		*(*int32)(unsafe.Pointer(pRc)) = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+38014,
+			ts+38061,
 			libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail))
 	}
 }
@@ -193102,14 +193160,14 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in
 	var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(pStorage)).FpConfig
 	*(*int32)(unsafe.Pointer(bp)) = sqlite3Fts5StorageSync(tls, pStorage)
 
-	fts5StorageRenameOne(tls, pConfig, bp, ts+26432, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+26479, zName)
 	fts5StorageRenameOne(tls, pConfig, bp, ts+12840, zName)
-	fts5StorageRenameOne(tls, pConfig, bp, ts+37334, zName)
+	fts5StorageRenameOne(tls, pConfig, bp, ts+37381, zName)
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+35784, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+35831, zName)
 	}
 	if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
-		fts5StorageRenameOne(tls, pConfig, bp, ts+35433, zName)
+		fts5StorageRenameOne(tls, pConfig, bp, ts+35480, zName)
 	}
 	return *(*int32)(unsafe.Pointer(bp))
 }
@@ -193121,17 +193179,17 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn
 	var rc int32
 	*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 
-	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+38056,
+	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64, ts+38103,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn,
 			func() uintptr {
 				if bWithout != 0 {
-					return ts + 31085
+					return ts + 31132
 				}
 				return ts + 1544
 			}()))
 	if *(*uintptr)(unsafe.Pointer(bp + 64)) != 0 {
 		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls,
-			ts+38086,
+			ts+38133,
 			libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64))))
 		Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 	}
@@ -193168,27 +193226,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre
 			} else {
 				var i int32
 				var iOff int32
-				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+38130, 0)
+				Xsqlite3_snprintf(tls, nDefn, zDefn, ts+38177, 0)
 				iOff = int32(libc.Xstrlen(tls, zDefn))
 				for i = 0; i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol; i++ {
-					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+38153, libc.VaList(bp, i))
+					Xsqlite3_snprintf(tls, nDefn-iOff, zDefn+uintptr(iOff), ts+38200, libc.VaList(bp, i))
 					iOff = iOff + int32(libc.Xstrlen(tls, zDefn+uintptr(iOff)))
 				}
-				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+35433, zDefn, 0, pzErr)
+				rc = sqlite3Fts5CreateTable(tls, pConfig, ts+35480, zDefn, 0, pzErr)
 			}
 			Xsqlite3_free(tls, zDefn)
 		}
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+35784, ts+38159, 0, pzErr)
+				pConfig, ts+35831, ts+38206, 0, pzErr)
 		}
 		if rc == SQLITE_OK {
 			rc = sqlite3Fts5CreateTable(tls,
-				pConfig, ts+37334, ts+38191, 1, pzErr)
+				pConfig, ts+37381, ts+38238, 1, pzErr)
 		}
 		if rc == SQLITE_OK {
-			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+35930, uintptr(0), FTS5_CURRENT_VERSION)
+			rc = sqlite3Fts5StorageConfigValue(tls, p, ts+35977, uintptr(0), FTS5_CURRENT_VERSION)
 		}
 	}
 
@@ -193394,12 +193452,12 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 	(*Fts5Storage)(unsafe.Pointer(p)).FbTotalsValid = 0
 
 	rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-		ts+38208,
+		ts+38255,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName,
 			(*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 		rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0),
-			ts+38258,
+			ts+38305,
 			libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))
 	}
 
@@ -193407,7 +193465,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 {
 		rc = sqlite3Fts5IndexReinit(tls, (*Fts5Storage)(unsafe.Pointer(p)).FpIndex)
 	}
 	if rc == SQLITE_OK {
-		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+35930, uintptr(0), FTS5_CURRENT_VERSION)
+		rc = sqlite3Fts5StorageConfigValue(tls, p, ts+35977, uintptr(0), FTS5_CURRENT_VERSION)
 	}
 	return rc
 }
@@ -193583,7 +193641,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr)
 	var zSql uintptr
 	var rc int32
 
-	zSql = Xsqlite3_mprintf(tls, ts+38287,
+	zSql = Xsqlite3_mprintf(tls, ts+38334,
 		libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix))
 	if zSql == uintptr(0) {
 		rc = SQLITE_NOMEM
@@ -193765,14 +193823,14 @@ func sqlite3Fts5StorageIntegrity(tls *libc.TLS, p uintptr, iArg int32) int32 {
 
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL {
 			*(*I64)(unsafe.Pointer(bp + 48)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+35433, bp+48)
+			rc = fts5StorageCount(tls, p, ts+35480, bp+48)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 48)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
 		}
 		if rc == SQLITE_OK && (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 {
 			*(*I64)(unsafe.Pointer(bp + 56)) = int64(0)
-			rc = fts5StorageCount(tls, p, ts+35784, bp+56)
+			rc = fts5StorageCount(tls, p, ts+35831, bp+56)
 			if rc == SQLITE_OK && *(*I64)(unsafe.Pointer(bp + 56)) != (*Fts5Storage)(unsafe.Pointer(p)).FnTotalRow {
 				rc = SQLITE_CORRUPT | int32(1)<<8
 			}
@@ -193967,9 +194025,9 @@ func fts5AsciiCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32,
 			libc.Xmemcpy(tls, p, uintptr(unsafe.Pointer(&aAsciiTokenChar)), uint64(unsafe.Sizeof(aAsciiTokenChar)))
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38319) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38366) {
 					fts5AsciiAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38330) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38377) {
 					fts5AsciiAddExceptions(tls, p, zArg, 0)
 				} else {
 					rc = SQLITE_ERROR
@@ -194184,7 +194242,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 	} else {
 		p = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Unicode61Tokenizer{})))
 		if p != 0 {
-			var zCat uintptr = ts + 38341
+			var zCat uintptr = ts + 38388
 			var i int32
 			libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{})))
 
@@ -194196,7 +194254,7 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 			}
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38350) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38397) {
 					zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
 				}
 			}
@@ -194207,18 +194265,18 @@ func fts5UnicodeCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32
 
 			for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 				var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38361) {
+				if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38408) {
 					if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' && int32(*(*int8)(unsafe.Pointer(zArg))) != '2' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 						rc = SQLITE_ERROR
 					} else {
 						(*Unicode61Tokenizer)(unsafe.Pointer(p)).FeRemoveDiacritic = int32(*(*int8)(unsafe.Pointer(zArg))) - '0'
 
 					}
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38319) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38366) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 1)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38330) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38377) {
 					rc = fts5UnicodeAddExceptions(tls, p, zArg, 0)
-				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38350) {
+				} else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38397) {
 				} else {
 					rc = SQLITE_ERROR
 				}
@@ -194494,7 +194552,7 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp
 	var rc int32 = SQLITE_OK
 	var pRet uintptr
 	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
-	var zBase uintptr = ts + 38379
+	var zBase uintptr = ts + 38426
 
 	if nArg > 0 {
 		zBase = *(*uintptr)(unsafe.Pointer(azArg))
@@ -194636,7 +194694,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38389, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38436, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -194644,11 +194702,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38392, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38439, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38397, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38444, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -194656,7 +194714,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'e':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38402, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38449, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -194664,7 +194722,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38405, aBuf+uintptr(nBuf-2), uint64(2)) {
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38452, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -194672,11 +194730,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38408, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38455, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38413, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38460, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -194684,19 +194742,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38418, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38465, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38422, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38469, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38428, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38475, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38433, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38480, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -194704,11 +194762,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'o':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38437, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38484, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1_and_S_or_T(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38441, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38488, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 			}
@@ -194716,7 +194774,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 's':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38444, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38491, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -194724,11 +194782,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38448, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38495, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38452, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38499, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -194736,7 +194794,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38456, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38503, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -194744,7 +194802,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38460, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38507, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -194752,7 +194810,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38464, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38511, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt1(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -194768,24 +194826,24 @@ func fts5PorterStep1B2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38468, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+38448, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38515, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+38495, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'b':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38471, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+38474, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38518, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+38521, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
 		break
 
 	case 'i':
-		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38478, aBuf+uintptr(nBuf-2), uint64(2)) {
-			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+38464, uint64(3))
+		if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38525, aBuf+uintptr(nBuf-2), uint64(2)) {
+			libc.Xmemcpy(tls, aBuf+uintptr(nBuf-2), ts+38511, uint64(3))
 			*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2 + 3
 			ret = 1
 		}
@@ -194800,44 +194858,44 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+38481, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+38528, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+38448, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+38495, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+38489, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+38536, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+38496, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+38543, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 4
 			}
 		}
 		break
 
 	case 'c':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38501, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38548, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38397, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38444, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38506, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38553, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38392, uint64(4))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38439, uint64(4))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 4
 			}
 		}
 		break
 
 	case 'e':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38511, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38558, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38464, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38511, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 'g':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38516, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38563, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+16837, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
@@ -194846,91 +194904,91 @@ func fts5PorterStep2(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'l':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38521, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38568, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+38474, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+38521, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38525, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38572, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38389, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38436, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38530, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38577, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38433, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38480, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38536, aBuf+uintptr(nBuf-3), uint64(3)) {
+		} else if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38583, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+38540, uint64(1))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+38587, uint64(1))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 1
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38542, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38589, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38456, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38503, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
 		}
 		break
 
 	case 'o':
-		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+38548, aBuf+uintptr(nBuf-7), uint64(7)) {
+		if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+38595, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+38464, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+38511, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38556, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38603, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38448, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38495, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38562, aBuf+uintptr(nBuf-4), uint64(4)) {
+		} else if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38609, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38448, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38495, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 3
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38567, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38614, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38389, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38436, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+38573, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+38620, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+38460, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+38507, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+38581, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+38628, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+38589, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+38636, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
-		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+38593, aBuf+uintptr(nBuf-7), uint64(7)) {
+		} else if nBuf > 7 && 0 == libc.Xmemcmp(tls, ts+38640, aBuf+uintptr(nBuf-7), uint64(7)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-7) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+38456, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-7), ts+38503, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 7 + 3
 			}
 		}
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38601, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38648, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38389, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38436, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38607, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38654, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38460, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38507, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 3
 			}
-		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+38613, aBuf+uintptr(nBuf-6), uint64(6)) {
+		} else if nBuf > 6 && 0 == libc.Xmemcmp(tls, ts+38660, aBuf+uintptr(nBuf-6), uint64(6)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-6) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+38474, uint64(3))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-6), ts+38521, uint64(3))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 6 + 3
 			}
 		}
@@ -194945,16 +195003,16 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'a':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38620, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38667, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38405, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-4), ts+38452, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4 + 2
 			}
 		}
 		break
 
 	case 's':
-		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38625, aBuf+uintptr(nBuf-4), uint64(4)) {
+		if nBuf > 4 && 0 == libc.Xmemcmp(tls, ts+38672, aBuf+uintptr(nBuf-4), uint64(4)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-4) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 4
 			}
@@ -194962,21 +195020,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 't':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38630, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38677, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38405, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38452, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
-		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38636, aBuf+uintptr(nBuf-5), uint64(5)) {
+		} else if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38683, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38405, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38452, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
 		break
 
 	case 'u':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38589, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38636, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 			}
@@ -194984,7 +195042,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'v':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38642, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38689, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5
 			}
@@ -194992,9 +195050,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'z':
-		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38648, aBuf+uintptr(nBuf-5), uint64(5)) {
+		if nBuf > 5 && 0 == libc.Xmemcmp(tls, ts+38695, aBuf+uintptr(nBuf-5), uint64(5)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-5) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38389, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-5), ts+38436, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 5 + 2
 			}
 		}
@@ -195009,12 +195067,12 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 	var nBuf int32 = *(*int32)(unsafe.Pointer(pnBuf))
 	switch int32(*(*int8)(unsafe.Pointer(aBuf + uintptr(nBuf-2)))) {
 	case 'e':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38654, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38701, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_MGt0(tls, aBuf, nBuf-3) != 0 {
-				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+38658, uint64(2))
+				libc.Xmemcpy(tls, aBuf+uintptr(nBuf-3), ts+38705, uint64(2))
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3 + 2
 			}
-		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38661, aBuf+uintptr(nBuf-2), uint64(2)) {
+		} else if nBuf > 2 && 0 == libc.Xmemcmp(tls, ts+38708, aBuf+uintptr(nBuf-2), uint64(2)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-2) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 2
 				ret = 1
@@ -195023,7 +195081,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 {
 		break
 
 	case 'n':
-		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38664, aBuf+uintptr(nBuf-3), uint64(3)) {
+		if nBuf > 3 && 0 == libc.Xmemcmp(tls, ts+38711, aBuf+uintptr(nBuf-3), uint64(3)) {
 			if fts5Porter_Vowel(tls, aBuf, nBuf-3) != 0 {
 				*(*int32)(unsafe.Pointer(pnBuf)) = nBuf - 3
 				ret = 1
@@ -195179,7 +195237,7 @@ func fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, pp
 		(*TrigramTokenizer)(unsafe.Pointer(pNew)).FbFold = 1
 		for i = 0; rc == SQLITE_OK && i < nArg; i = i + 2 {
 			var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*8))
-			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38668) {
+			if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+38715) {
 				if int32(*(*int8)(unsafe.Pointer(zArg))) != '0' && int32(*(*int8)(unsafe.Pointer(zArg))) != '1' || *(*int8)(unsafe.Pointer(zArg + 1)) != 0 {
 					rc = SQLITE_ERROR
 				} else {
@@ -195359,22 +195417,22 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 {
 	defer tls.Free(128)
 
 	*(*[4]BuiltinTokenizer)(unsafe.Pointer(bp)) = [4]BuiltinTokenizer{
-		{FzName: ts + 38379, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 38426, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5UnicodeCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5UnicodeDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5UnicodeTokenize}))}},
-		{FzName: ts + 38683, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 38730, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5AsciiCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5AsciiDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5AsciiTokenize}))}},
-		{FzName: ts + 38689, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 38736, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5PorterCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5PorterDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 		}{fts5PorterTokenize}))}},
-		{FzName: ts + 38696, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
+		{FzName: ts + 38743, Fx: Fts5_tokenizer{FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 		}{fts5TriCreate})), FxDelete: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5TriDelete})), FxTokenize: *(*uintptr)(unsafe.Pointer(&struct {
 			f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
@@ -196517,14 +196575,14 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint
 	var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8, zType, -1)
 	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK {
 		sqlite3Fts5Dequote(tls, zCopy)
-		if Xsqlite3_stricmp(tls, zCopy, ts+38704) == 0 {
+		if Xsqlite3_stricmp(tls, zCopy, ts+38751) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+38708) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+38755) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_ROW
-		} else if Xsqlite3_stricmp(tls, zCopy, ts+38712) == 0 {
+		} else if Xsqlite3_stricmp(tls, zCopy, ts+38759) == 0 {
 			*(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE
 		} else {
-			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38721, libc.VaList(bp, zCopy))
+			*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38768, libc.VaList(bp, zCopy))
 			*(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_ERROR
 		}
 		Xsqlite3_free(tls, zCopy)
@@ -196550,19 +196608,19 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv
 	defer tls.Free(36)
 
 	*(*[3]uintptr)(unsafe.Pointer(bp + 8)) = [3]uintptr{
-		ts + 38755,
-		ts + 38795,
-		ts + 38830,
+		ts + 38802,
+		ts + 38842,
+		ts + 38877,
 	}
 
 	var pRet uintptr = uintptr(0)
 	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
 	var bDb int32
 
-	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+24721, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
+	bDb = libc.Bool32(argc == 6 && libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == uint64(4) && libc.Xmemcmp(tls, ts+24768, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(4)) == 0)
 
 	if argc != 5 && bDb == 0 {
-		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38873, 0)
+		*(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38920, 0)
 		*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_ERROR
 	} else {
 		var nByte int32
@@ -196695,11 +196753,11 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 
 	if (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 {
 		(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-			ts+38906, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+			ts+38953, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 		return SQLITE_ERROR
 	}
 	zSql = sqlite3Fts5Mprintf(tls, bp+64,
-		ts+38937,
+		ts+38984,
 		libc.VaList(bp+16, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 	if zSql != 0 {
 		*(*int32)(unsafe.Pointer(bp + 64)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+72, uintptr(0))
@@ -196723,7 +196781,7 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 			*(*uintptr)(unsafe.Pointer(bp + 72)) = uintptr(0)
 			if *(*int32)(unsafe.Pointer(bp + 64)) == SQLITE_OK {
 				(*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls,
-					ts+38988, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
+					ts+39035, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl))
 				*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 			}
 		} else {
@@ -197118,7 +197176,7 @@ func fts5VocabRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32
 func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 {
 	var p uintptr = pGlobal
 
-	return Xsqlite3_create_module_v2(tls, db, ts+39014, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
+	return Xsqlite3_create_module_v2(tls, db, ts+39061, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0))
 }
 
 var fts5Vocab = Sqlite3_module{
@@ -197140,7 +197198,7 @@ var fts5Vocab = Sqlite3_module{
 // ************* End of stmt.c ***********************************************
 // Return the source-id for this library
 func Xsqlite3_sourceid(tls *libc.TLS) uintptr {
-	return ts + 39024
+	return ts + 39071
 }
 
 func init() {
@@ -198207,5 +198265,5 @@ func init() {
 	*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&winVfs)) + 160)) = winNextSystemCall
 }
 
-var ts1 = "3.41.0\x00ATOMIC_INTRINSICS=1\x00COMPILER=msvc-1900\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00AreFileApisANSI\x00CharLowerW\x00CharUpperW\x00CloseHandle\x00CreateFileA\x00CreateFileW\x00CreateFileMappingA\x00CreateFileMappingW\x00CreateMutexW\x00DeleteFileA\x00DeleteFileW\x00FileTimeToLocalFileTime\x00FileTimeToSystemTime\x00FlushFileBuffers\x00FormatMessageA\x00FormatMessageW\x00FreeLibrary\x00GetCurrentProcessId\x00GetDiskFreeSpaceA\x00GetDiskFreeSpaceW\x00GetFileAttributesA\x00GetFileAttributesW\x00GetFileAttributesExW\x00GetFileSize\x00GetFullPathNameA\x00GetFullPathNameW\x00GetLastError\x00GetProcAddressA\x00GetSystemInfo\x00GetSystemTime\x00GetSystemTimeAsFileTime\x00GetTempPathA\x00GetTempPathW\x00GetTickCount\x00GetVersionExA\x00GetVersionExW\x00HeapAlloc\x00HeapCreate\x00HeapDestroy\x00HeapFree\x00HeapReAlloc\x00HeapSize\x00HeapValidate\x00HeapCompact\x00LoadLibraryA\x00LoadLibraryW\x00LocalFree\x00LockFile\x00LockFileEx\x00MapViewOfFile\x00MultiByteToWideChar\x00QueryPerformanceCounter\x00ReadFile\x00SetEndOfFile\x00SetFilePointer\x00Sleep\x00SystemTimeToFileTime\x00UnlockFile\x00UnlockFileEx\x00UnmapViewOfFile\x00WideCharToMultiByte\x00WriteFile\x00CreateEventExW\x00WaitForSingleObject\x00WaitForSingleObjectEx\x00SetFilePointerEx\x00GetFileInformationByHandleEx\x00MapViewOfFileFromApp\x00CreateFile2\x00LoadPackagedLibrary\x00GetTickCount64\x00GetNativeSystemInfo\x00OutputDebugStringA\x00OutputDebugStringW\x00GetProcessHeap\x00CreateFileMappingFromApp\x00InterlockedCompareExchange\x00UuidCreate\x00UuidCreateSequential\x00FlushViewOfFile\x00%s\x00OsError 0x%lx (%lu)\x00os_win.c:%d: (%lu) %s(%s) - %s\x00delayed %dms for lock/sharing conflict at line %d\x00winSeekFile\x00winClose\x00winRead\x00winWrite1\x00winWrite2\x00winTruncate1\x00winTruncate2\x00winSync1\x00winSync2\x00winFileSize\x00winUnlockReadLock\x00winUnlock\x00winLockSharedMemory\x00%s-shm\x00readonly_shm\x00winOpenShm\x00winShmMap1\x00winShmMap2\x00winShmMap3\x00winUnmapfile1\x00winUnmapfile2\x00winMapfile1\x00winMapfile2\x00etilqs_\x00winGetTempname1\x00winGetTempname2\x00winGetTempname3\x00winGetTempname4\x00winGetTempname5\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\x00exclusive\x00winOpen\x00psow\x00winDelete\x00winAccess\x00%s%c%s\x00winFullPathname1\x00winFullPathname2\x00winFullPathname3\x00winFullPathname4\x00win32\x00win32-longpath\x00win32-none\x00win32-longpath-none\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00true\x00false\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00stat\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00dll\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_store_directory\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00access\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-02-21 18:09:37 05941c2a04037fc3ed2ffae11f5d2260706f89431f463518740f72ada350866d\x00"
+var ts1 = "3.41.2\x00ATOMIC_INTRINSICS=1\x00COMPILER=msvc-1900\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00ENABLE_COLUMN_METADATA\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=127\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=1073741823\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00BINARY\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00local time unavailable\x00second\x00minute\x00hour\x00\x00\x00day\x00\x00\x00\x00month\x00\x00year\x00\x00\x00auto\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x00%02d\x00%06.3f\x00%03d\x00%.16g\x00%lld\x00%04d\x00date\x00time\x00datetime\x00strftime\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x000123456789ABCDEF0123456789abcdef\x00-x0\x00X0\x00%\x00NaN\x00Inf\x00\x00NULL\x00(NULL)\x00.\x00(join-%u)\x00(subquery-%u)\x00thstndrd\x00922337203685477580\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSmaller\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfPos\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenRead\x00OpenWrite\x00BitNot\x00OpenDup\x00OpenAutoindex\x00String8\x00OpenEphemeral\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00Real\x00DropTrigger\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00AreFileApisANSI\x00CharLowerW\x00CharUpperW\x00CloseHandle\x00CreateFileA\x00CreateFileW\x00CreateFileMappingA\x00CreateFileMappingW\x00CreateMutexW\x00DeleteFileA\x00DeleteFileW\x00FileTimeToLocalFileTime\x00FileTimeToSystemTime\x00FlushFileBuffers\x00FormatMessageA\x00FormatMessageW\x00FreeLibrary\x00GetCurrentProcessId\x00GetDiskFreeSpaceA\x00GetDiskFreeSpaceW\x00GetFileAttributesA\x00GetFileAttributesW\x00GetFileAttributesExW\x00GetFileSize\x00GetFullPathNameA\x00GetFullPathNameW\x00GetLastError\x00GetProcAddressA\x00GetSystemInfo\x00GetSystemTime\x00GetSystemTimeAsFileTime\x00GetTempPathA\x00GetTempPathW\x00GetTickCount\x00GetVersionExA\x00GetVersionExW\x00HeapAlloc\x00HeapCreate\x00HeapDestroy\x00HeapFree\x00HeapReAlloc\x00HeapSize\x00HeapValidate\x00HeapCompact\x00LoadLibraryA\x00LoadLibraryW\x00LocalFree\x00LockFile\x00LockFileEx\x00MapViewOfFile\x00MultiByteToWideChar\x00QueryPerformanceCounter\x00ReadFile\x00SetEndOfFile\x00SetFilePointer\x00Sleep\x00SystemTimeToFileTime\x00UnlockFile\x00UnlockFileEx\x00UnmapViewOfFile\x00WideCharToMultiByte\x00WriteFile\x00CreateEventExW\x00WaitForSingleObject\x00WaitForSingleObjectEx\x00SetFilePointerEx\x00GetFileInformationByHandleEx\x00MapViewOfFileFromApp\x00CreateFile2\x00LoadPackagedLibrary\x00GetTickCount64\x00GetNativeSystemInfo\x00OutputDebugStringA\x00OutputDebugStringW\x00GetProcessHeap\x00CreateFileMappingFromApp\x00InterlockedCompareExchange\x00UuidCreate\x00UuidCreateSequential\x00FlushViewOfFile\x00%s\x00OsError 0x%lx (%lu)\x00os_win.c:%d: (%lu) %s(%s) - %s\x00delayed %dms for lock/sharing conflict at line %d\x00winSeekFile\x00winClose\x00winRead\x00winWrite1\x00winWrite2\x00winTruncate1\x00winTruncate2\x00winSync1\x00winSync2\x00winFileSize\x00winUnlockReadLock\x00winUnlock\x00winLockSharedMemory\x00%s-shm\x00readonly_shm\x00winOpenShm\x00winShmMap1\x00winShmMap2\x00winShmMap3\x00winUnmapfile1\x00winUnmapfile2\x00winMapfile1\x00winMapfile2\x00etilqs_\x00winGetTempname1\x00winGetTempname2\x00winGetTempname3\x00winGetTempname4\x00winGetTempname5\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\x00exclusive\x00winOpen\x00psow\x00winDelete\x00winAccess\x00%s%c%s\x00winFullPathname1\x00winFullPathname2\x00winFullPathname3\x00winFullPathname4\x00win32\x00win32-longpath\x00win32-none\x00win32-longpath-none\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00SQLite format 3\x00:memory:\x00@  \x00\n\x00invalid page number %d\x002nd reference to page %d\x00Failed to read ptrmap key=%d\x00Bad ptr map entry key=%d expected=(%d,%d) got=(%d,%d)\x00failed to get page %d\x00freelist leaf count too big on page %d\x00%s is %d but should be %d\x00size\x00overflow list length\x00Page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00On tree page %u cell %d: \x00On page %u at right child: \x00Offset %d out of range %d..%d\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %d bytes reported as %d on page %u\x00Main freelist: \x00max rootpage (%d) disagrees with header (%d)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %d is never used\x00Pointer map page %d is referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00B\x00,%s%s%s\x00N.\x00)\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00?\x008\x0016LE\x0016BE\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00%s constraint failed\x00%z: %s\x00abort at %d in [%s]: %s\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00cannot change %s wal mode from within a transaction\x00into\x00out of\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: [%s] %s\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00cannot open value of type %s\x00null\x00real\x00integer\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00IN(...) element has %d term%s - expected %d\x00s\x000\x00too many arguments on function %T\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00%sLIST SUBQUERY %d\x00CORRELATED \x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00B\x00C\x00D\x00E\x00F\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND   name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X'      AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND   sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') ELSE raise(ABORT,'NOT NULL constraint failed') END  FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00cannot %s %s \"%s\"\x00drop column from\x00rename columns of\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X'  AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00error in %s %s%s%s: %s\x00 \x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00cannot drop %s column: \"%s\"\x00PRIMARY KEY\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00sqlite_returning\x00cannot use RETURNING in a trigger\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n  \x00,\n  \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00stat\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00unsupported use of NULLS %s\x00FIRST\x00LAST\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00CREATE%s INDEX %.*s\x00 UNIQUE\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00a JOIN clause is required before %s\x00ON\x00USING\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!.20e\x00%Q\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00glob\x00ceil\x00ceiling\x00floor\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00dll\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00builtin\x00enc\x00narg\x00flags\x00wdth\x00hght\x00flgs\x00unique\x00origin\x00partial\x00rowid\x00fkid\x00file\x00busy\x00checkpointed\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_store_directory\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00onoffalseyestruextrafull\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00w\x00a\x00sissii\x00utf8\x00utf16le\x00utf16be\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00wrong # of entries in index \x00ok\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00rename\x00drop column\x00add column\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00naturaleftouterightfullinnercross\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00USE TEMP B-TREE FOR %sORDER BY\x00RIGHT PART OF \x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00S\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00SCAN %s%s%s\x00 USING COVERING INDEX \x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00trigger %T already exists\x00cannot create trigger on system table\x00cannot create %s trigger on view: %S\x00BEFORE\x00AFTER\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00%s RETURNING is not available on virtual tables\x00DELETE\x00UPDATE\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00ATTACH %Q AS vacuum_db\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO vacuum_db.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM vacuum_db.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO vacuum_db.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX %d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00row_number\x00dense_rank\x00rank\x00percent_rank\x00cume_dist\x00ntile\x00last_value\x00nth_value\x00first_value\x00lead\x00lag\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00%s clause should come after %s not before\x00ORDER BY\x00LIMIT\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00parser stack overflow\x00unknown table option: %.*s\x00set list\x00near \"%T\": syntax error\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00mode\x00access\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00shared\x00private\x00ro\x00rw\x00rwc\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x000123456789abcdef\x00JSON cannot hold BLOB values\x00malformed JSON\x00[0]\x00JSON path error near '%q'\x00json_%s() needs an odd number of arguments\x00$[\x00$.\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00.%.*s\x00[%d]\x00$\x00json\x00json_array\x00json_array_length\x00json_extract\x00->\x00->>\x00json_insert\x00json_object\x00json_patch\x00json_quote\x00json_remove\x00json_replace\x00json_set\x00json_type\x00json_valid\x00json_group_array\x00json_group_object\x00json_each\x00json_tree\x00%s_node\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node'   RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid'  RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00);\x00,%.*s REAL\x00,%.*s INT\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00Mapping (%lld -> %lld) missing from %s table\x00%_rowid\x00%_parent\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00END\x00wrong number of arguments to function rtreecheck()\x00[\x00[%!g,%!g],\x00[%!g,%!g]]\x00<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL  %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE'   FROM main.sqlite_schema   WHERE type='index' AND tbl_name = ?\x00SELECT  (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage  FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00table %q %s rbu_rowid column\x00may not have\x00requires\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00 NOT NULL\x00%z, %z\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00 WITHOUT ROWID\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00AND\x00WHERE\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00, _rowid_\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00, 0 AS rbu_rowid\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN   SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x000 AS \x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00file:%s-vactmp?rbu_memory=1%s%s\x00&\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q)  \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence'  ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00database modified during rbu %s\x00vacuum\x00update\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00SELECT 0, 'tbl',  '', 0, '', 1     UNION ALL SELECT 1, 'idx',  '', 0, '', 2     UNION ALL SELECT 2, 'stat', '', 0, '', 0\x00PRAGMA '%q'.table_info('%q')\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00SELECT * FROM \"%w\".\"%w\" WHERE NOT EXISTS (  SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00SELECT * FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00table schemas do not match\x00SELECT tbl, ?2, stat FROM %Q.sqlite_stat1 WHERE tbl IS ?1 AND idx IS (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00SELECT * FROM \x00 WHERE \x00 IS ?\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00snippet\x00highlight\x00bm25\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00columns\x00malformed detail=... directive\x00unrecognized option: \"%.*s\"\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00fts5: %s queries are not supported (detail!=full)\x00phrase\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00DESC\x00ASC\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%s: table does not support scanning\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00cannot %s contentless fts5 table: %s\x00DELETE from\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00config\x00fts5\x00fts5_source_id\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00ascii\x00porter\x00trigram\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da\x00"
 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 83d1137a..59a27621 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -930,7 +930,7 @@ modernc.org/memory
 # modernc.org/opt v0.1.3
 ## explicit; go 1.13
 modernc.org/opt
-# modernc.org/sqlite v1.21.0
+# modernc.org/sqlite v1.21.1
 ## explicit; go 1.18
 modernc.org/sqlite
 modernc.org/sqlite/lib